﻿:root{
  --bg:#0B0F14;
  --panel:rgba(255,255,255,.03);
  --card:rgba(255,255,255,.04);
  --card2:rgba(255,255,255,.065);
  --text:#E6EAF0;
  --muted:#9AA4B2;
  --stroke:rgba(255,255,255,.08);
  --stroke2:rgba(255,255,255,.14);
  --accent:#1c9d60;
  --accent2:#38c987;
  --accent-soft:rgba(28,157,96,.13);
  --accent-soft-2:rgba(56,201,135,.11);
  --panel-glow:0 10px 28px rgba(0,0,0,.34);
  --radius:18px;
  --radius2:14px;
}

*{box-sizing:border-box}

select{
  background:#111a1f;
  color:var(--text);
}
select option,select optgroup{
  background:#0f171d;
  color:var(--text);
}

/* ── NAV MENU ── */
.navBar{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:8px 10px;
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius2);
}
.navBtn{
  flex:0 0 auto;
  padding:7px 18px;
  border-radius:10px;
  border:1px solid transparent;
  background:none;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all .15s;
  letter-spacing:.02em;
}
.navBtn:hover{
  color:var(--text);
  background:rgba(255,255,255,.045);
}
.navBtn.active{
  color:var(--text);
  background:var(--accent-soft);
  border-color:color-mix(in srgb, var(--accent) 44%, transparent);
}

.workspaceBar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke2));
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,18,15,.96),rgba(11,14,19,.94));
  box-shadow:var(--panel-glow);
}
.workspaceBtn{
  border:1px solid transparent;
  background:none;
  color:var(--muted);
  border-radius:10px;
  padding:7px 12px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  cursor:pointer;
  transition:.15s ease;
}
.workspaceBtn:hover{color:var(--text);background:rgba(255,255,255,.03);}
.workspaceBtn.active{
  color:var(--text);
  border-color:color-mix(in srgb, var(--accent) 44%, transparent);
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--accent2) 12%, transparent));
}
.workspaceRight{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.workspaceAction{
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--text);
  border-radius:10px;
  padding:7px 12px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:.15s ease;
}
.workspaceAction:hover{border-color:color-mix(in srgb, var(--accent2) 44%, var(--stroke2));}
.workspaceAction.danger{
  border-color:color-mix(in srgb, #ef4444 52%, var(--stroke));
  color:#fecaca;
  background:rgba(239,68,68,.08);
}
.workspaceAction.danger:hover{
  border-color:color-mix(in srgb, #f87171 66%, var(--stroke2));
  color:#fee2e2;
  background:rgba(239,68,68,.14);
}
.workspaceAction.active{
  border-color:color-mix(in srgb, var(--accent) 54%, transparent);
  color:color-mix(in srgb, var(--accent2) 70%, #fff);
}
.workspaceAction.spinning{
  opacity:.72;
  pointer-events:none;
}
.workspaceIconAction{
  width:30px;
  height:30px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
}
.workspaceIconAction svg{
  width:15px;
  height:15px;
  display:block;
}
#workspace-refresh-btn.spinning svg{
  animation:refreshSpin .7s linear infinite;
}
.workspacePanel{display:none;}
.workspacePanel.active{display:block;}
.subnavBar{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:12px 0 10px;
  padding:8px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.subnavBtn{
  border:1px solid transparent;
  background:none;
  color:var(--muted);
  border-radius:8px;
  padding:6px 12px;
  font-size:12px;
  font-weight:560;
  cursor:pointer;
  transition:.15s ease;
}
.subnavBtn:hover{color:var(--text);background:rgba(255,255,255,.03);}
.subnavBtn.active{
  color:var(--text);
  border-color:color-mix(in srgb, var(--accent) 40%, transparent);
  background:color-mix(in srgb, var(--accent) 12%, transparent);
}
.subnavRightControls{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
}
#pf-subnav{
  gap:7px;
  padding:9px 10px;
  border-radius:13px;
  flex-wrap:nowrap;
}
#pf-subnav .subnavBtn{
  padding:8px 12px;
  font-size:13px;
  font-weight:620;
  border-radius:9px;
  flex:0 0 auto;
  white-space:nowrap;
}
#pf-subnav .subnavRightControls{
  gap:6px;
  flex:0 0 auto;
  white-space:nowrap;
}
#pf-subnav .subnavRightControls .pfOrgStatus.top{
  height:30px;
  padding:5px 11px;
  font-size:10px;
}
#pf-subnav .subnavRightControls .workspaceIconAction{
  width:30px;
  height:30px;
  border-radius:9px;
}
#pf-subnav .subnavRightControls .workspaceIconAction svg{
  width:16px;
  height:16px;
}
.sub-section{display:none;}
.sub-section.active{display:block;}
.wsHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:2px;
  padding:16px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.wsTitle{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:var(--text);
}
.wsSub{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
}
.wsActions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.wsFilterBar{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:10px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.wsFilter{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:12px;
}
.wsSelect{
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--stroke));
  background:#111a1f;
  color:var(--text);
  border-radius:8px;
  padding:5px 8px;
  font-size:12px;
  appearance:none;
  -webkit-appearance:none;
  color-scheme:dark;
}
.wsSelect option,.wsSelect optgroup{background:#0f171d;color:var(--text);}
.wsKpiGrid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
.wsKpi{
  padding:12px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.wsKpiLbl{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  margin-bottom:8px;
}
.wsKpiVal{
  font-size:22px;
  font-variant-numeric:tabular-nums;
  font-weight:700;
  color:var(--text);
  line-height:1;
}
.wsKpiSub{
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
}
.placeholderNote{
  margin-top:12px;
  padding:14px;
  border-radius:12px;
  border:1px dashed color-mix(in srgb, var(--accent) 24%, var(--stroke));
  color:var(--muted);
  font-size:12px;
}
.calcShell{
  margin-top:2px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:12px;
  align-items:start;
}
.calcCard{
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  padding:14px;
}
.calcHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
}
.calcHeadActions{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.calcHead h3{
  margin:0;
  font-size:16px;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--text);
}
.calcHead span{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.calcCollapseBtn{
  width:24px;
  min-height:24px;
  height:24px;
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke));
  border-radius:8px;
  background:rgba(255,255,255,.02);
  color:var(--text);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:12px;
  line-height:1;
  transition:.16s ease;
}
.calcCollapseBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 40%, var(--stroke2));
  background:rgba(255,255,255,.05);
}
.calcBody{
  display:block;
}
.calcCard.collapsed .calcHead{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.calcCard.collapsed .calcBody{
  display:none;
}
.calcCard.collapsed .calcCollapseBtn{
  transform:rotate(-90deg);
}
.calcGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.calcField{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.calcField.full{grid-column:1 / -1}
.calcField label{
  font-size:11px;
  color:var(--muted);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.calcField input,
.calcField select{
  min-height:36px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:10px;
  background:#111a1f;
  color:var(--text);
  padding:0 10px;
  font-size:13px;
}
.calcField input:focus,
.calcField select:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--accent2) 45%, var(--stroke2));
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 20%, transparent);
}
#workspace-calculadora input[type="number"]::-webkit-outer-spin-button,
#workspace-calculadora input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
#workspace-calculadora input[type="number"]{
  -moz-appearance:textfield;
  appearance:textfield;
}
.calcActions{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.calcResult{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.calcOutput{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.calcOutput[hidden]{
  display:none !important;
}
.calcResultItem{
  border:1px solid color-mix(in srgb, var(--accent) 16%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.015);
  padding:9px 10px;
}
.calcResultItem .k{
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
}
.calcResultItem .v{
  margin-top:5px;
  font-size:18px;
  font-weight:700;
  line-height:1.15;
  font-variant-numeric:tabular-nums;
  color:var(--text);
}
.calcChartWrap{
  border:1px solid color-mix(in srgb, var(--accent) 15%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.012);
  padding:10px;
}
.calcChartHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.calcChartHead strong{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text);
}
.calcLegend{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.calcLegendItem{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:var(--muted);
}
.calcDot{
  width:9px;
  height:9px;
  border-radius:999px;
  display:inline-block;
}
.calcDot.invested{background:#94a3b8;}
.calcDot.interest{background:#f97316;}
.calcChartSvg{
  width:100%;
  height:240px;
  display:block;
}
.calcSimpleDisplay{
  min-height:58px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:10px;
  background:rgba(8,12,18,.85);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 12px;
  font-size:28px;
  font-weight:650;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
  white-space:nowrap;
}
.calcSimpleKeys{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.calcKey{
  min-height:40px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:var(--text);
  font-size:15px;
  font-weight:620;
  cursor:pointer;
  transition:.15s ease;
}
.calcKey:hover{
  border-color:color-mix(in srgb, var(--accent2) 42%, var(--stroke2));
  background:rgba(255,255,255,.04);
}
.calcKey.op{
  color:#86efac;
  border-color:color-mix(in srgb, var(--accent2) 34%, var(--stroke));
}
.calcKey.eq{
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 25%, transparent), color-mix(in srgb, var(--accent2) 20%, transparent));
  border-color:color-mix(in srgb, var(--accent) 46%, var(--stroke));
  color:#dcfce7;
}
.calcKey.danger{
  color:#fca5a5;
  border-color:color-mix(in srgb, #ef4444 40%, var(--stroke));
}
.pfOrgStatus{
  margin-top:10px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid var(--stroke);
  font-size:11px;
  display:inline-flex;
  width:fit-content;
  color:var(--muted);
  background:rgba(16,23,29,.75);
}
.pfOrgStatus.top{
  margin-top:0;
  padding:6px 10px;
  height:30px;
  align-items:center;
}
.pfOrgStatus.warn{
  border-color:color-mix(in srgb, #f59e0b 36%, var(--stroke));
  color:#fbbf24;
}
.pfOrgStatus.ok{
  border-color:color-mix(in srgb, #4ade80 30%, var(--stroke));
  color:#86efac;
}
.pfOrgStatus.error{
  border-color:color-mix(in srgb, #ef4444 34%, var(--stroke));
  color:#fca5a5;
}
.pfPanelGrid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px;
}
.pfQuickHero{
  margin-top:12px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  padding:10px 12px;
  display:grid;
  grid-template-columns:1.55fr .72fr;
  gap:10px;
}
.pfQuickGreeting{
  font-size:22px;
  font-weight:690;
  color:var(--text);
  margin-bottom:8px;
  line-height:1.1;
}
.pfQuickGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.pfQuickCard{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.02);
  padding:8px 10px;
}
.pfQuickCard .k{
  font-size:11px;
  color:var(--muted);
  letter-spacing:.01em;
}
.pfQuickCard .v{
  margin-top:4px;
  font-size:21px;
  font-weight:680;
  font-variant-numeric:tabular-nums;
}
.pfQuickCard .s{
  margin-top:4px;
  font-size:10px;
  color:var(--muted);
  line-height:1.25;
}
.pfQuickActionsBox{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.02);
  padding:8px 9px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.pfQuickActionsBox .ttl{
  font-size:13px;
  font-weight:630;
  color:var(--text);
  margin-bottom:7px;
  width:100%;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pfQuickActionsGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
}
.pfIconAction{
  min-height:54px;
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.02);
  color:var(--text);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.pfIconAction span{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:15px;
  font-weight:680;
}
.pfIconAction small{
  font-size:9px;
  letter-spacing:.08em;
  color:var(--muted);
}
.pfIconAction.expense span{border:2px solid #f43f5e;color:#f43f5e;}
.pfIconAction.income span{border:2px solid #22c55e;color:#22c55e;}
.pfIconAction.transfer span{border:2px solid #94a3b8;color:#94a3b8;}
.pfIconAction.import span{border:2px solid #3b82f6;color:#3b82f6;}
.pfIconAction:hover{
  border-color:color-mix(in srgb, var(--accent2) 36%, var(--stroke2));
  transform:translateY(-1px);
}
.pfTopExpensesWrap{
  display:grid;
  grid-template-columns:1fr 180px;
  gap:12px;
  align-items:center;
}
.pfDonutWrap{
  display:grid;
  place-items:center;
  min-height:160px;
}
.pfDonut{
  width:150px;
  height:150px;
  border-radius:50%;
  background:conic-gradient(#64748b 0 100%);
  position:relative;
}
.pfDonut.pfDonutSvgMode{
  background:none !important;
}
.pfDonut.big{
  width:220px;
  height:220px;
}
.pfDonut::after{
  content:"";
  position:absolute;
  inset:26%;
  border-radius:50%;
  background:#121824;
  border:1px solid rgba(255,255,255,.06);
}
.pfDonut.pfDonutSvgMode::after{
  content:none;
}
.pfDonut .pfDonutSvg{
  width:100%;
  height:100%;
  display:block;
}
.pfLimitCard{
  border:1px solid color-mix(in srgb, var(--accent) 12%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.015);
  padding:12px;
}
.pfSectionTitle{
  font-size:12px;
  font-weight:620;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:8px;
}
.pfContasFold{
  margin-top:0;
  padding:0;
  background:transparent;
  border:none;
}
.pfContasFold + .pfContasFold{
  margin-top:10px;
}
.pfContasFold.section.collapsible .sectionHead{
  margin-bottom:0;
  padding:8px 10px;
  border-radius:10px;
  border:none;
  background:rgba(255,255,255,.02);
}
.pfContasFold.section.collapsible.open .sectionHead{
  border:none;
  background:rgba(255,255,255,.03);
}
.pfContasFold.section h2{
  margin:0;
  font-size:12px;
  font-weight:640;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text);
  border-left:2px solid color-mix(in srgb, var(--accent) 85%, #fff);
  padding-left:10px;
  opacity:.92;
}
.pfContasFold .sectionBody{
  max-height:0;
  padding-top:0;
}
.pfContasFold.section.collapsible.open .sectionBody{
  max-height:8000px;
  padding-top:8px;
}
.pfReportTabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pfWidget{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius:12px;
  padding:12px;
}
.pfWidgetHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.pfWidgetHead h3{
  margin:0;
  font-size:12px;
  font-weight:620;
  letter-spacing:.02em;
  color:var(--text);
}
.pfWidgetHead span{
  color:var(--muted);
  font-size:11px;
}

/* Premium visual direction for PF overview */
#pf-visao-geral{
  position:relative;
  isolation:isolate;
  padding-bottom:4px;
}
#pf-visao-geral::before{
  content:none;
}
#pf-visao-geral > *{
  position:relative;
  z-index:1;
}
#pf-visao-geral .pfQuickHero{
  margin-top:14px;
  border:1px solid color-mix(in srgb, #94a3b8 24%, var(--stroke2));
  border-radius:18px;
  background:linear-gradient(165deg, rgba(19,24,33,.94), rgba(13,18,26,.92));
  box-shadow:0 16px 40px rgba(3,8,16,.44), inset 0 1px 0 rgba(255,255,255,.05);
  padding:14px;
  grid-template-columns:1.5fr .8fr;
  align-items:stretch;
  gap:12px;
}
#pf-visao-geral .pfQuickGreeting{
  font-size:24px;
  font-weight:720;
  letter-spacing:.01em;
  color:color-mix(in srgb, var(--text) 88%, #fff);
  margin-bottom:10px;
}
#pf-visao-geral .pfQuickGrid{
  gap:10px;
}
#pf-visao-geral .pfQuickCard{
  --kpi-tone:#94a3b8;
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb, var(--kpi-tone) 34%, var(--stroke));
  border-radius:12px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--kpi-tone) 16%, transparent) 0, transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.024));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  padding:10px 11px 10px 14px;
}
#pf-visao-geral .pfQuickCard::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--kpi-tone);
}
#pf-visao-geral .pfQuickCard.kpi-balance{--kpi-tone:#60a5fa;}
#pf-visao-geral .pfQuickCard.kpi-reserve{--kpi-tone:#93c5fd;}
#pf-visao-geral .pfQuickCard.kpi-income{--kpi-tone:#22d3ee;}
#pf-visao-geral .pfQuickCard.kpi-expense{--kpi-tone:#fb7185;}
#pf-visao-geral .pfQuickCard.kpi-pending{--kpi-tone:#fbbf24;}
#pf-visao-geral .pfQuickCard.kpi-fgts{--kpi-tone:#34d399;}
#pf-visao-geral .pfQuickCard.kpi-invest{--kpi-tone:#a78bfa;}
#pf-visao-geral .pfQuickCard.kpi-balance .v{color:#93c5fd;}
#pf-visao-geral .pfQuickCard.kpi-reserve .v{color:#c4b5fd;}
#pf-visao-geral .pfQuickCard.kpi-income .v{color:#67e8f9;}
#pf-visao-geral .pfQuickCard.kpi-expense .v{color:#fda4af;}
#pf-visao-geral .pfQuickCard.kpi-pending .v{color:#fcd34d;}
#pf-visao-geral .pfQuickCard.kpi-fgts .v{color:#6ee7b7;}
#pf-visao-geral .pfQuickCard.kpi-invest .v{color:#bfdbfe;}
#pf-visao-geral .pfQuickCard .v.pos,
#pf-visao-geral .pfQuickCard .v.neg{
  color:inherit;
}
#pf-visao-geral .pfQuickCard .k{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:10px;
}
#pf-visao-geral .pfQuickCard .v{
  font-size:24px;
  font-weight:740;
  margin-top:6px;
}
#pf-visao-geral .pfQuickCard .s{
  margin-top:5px;
  font-size:10px;
}
#pf-visao-geral .pfQuickActionsBox{
  border-radius:14px;
  border-color:color-mix(in srgb, #94a3b8 26%, var(--stroke2));
  background:linear-gradient(175deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  height:100%;
  min-height:220px;
  padding:16px 14px;
  justify-content:center;
  gap:12px;
}
#pf-visao-geral .pfQuickActionsBox .ttl{
  font-size:12px;
  letter-spacing:.14em;
  margin:0;
  width:auto;
}
#pf-visao-geral .pfQuickActionsGrid{
  margin:0 auto;
  gap:9px;
}
#pf-visao-geral .pfIconAction{
  border-color:color-mix(in srgb, #94a3b8 24%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  min-height:58px;
}
#pf-visao-geral .pfIconAction:hover{
  box-shadow:0 10px 24px rgba(2,7,15,.38);
}
#pf-visao-geral .pfPanelGrid{
  margin-top:15px;
  gap:14px;
  align-items:start;
}
#pf-visao-geral .pfWidget{
  border:1px solid color-mix(in srgb, #94a3b8 22%, var(--stroke2));
  border-radius:15px;
  background:linear-gradient(178deg, rgba(255,255,255,.052), rgba(255,255,255,.022));
  box-shadow:0 16px 36px rgba(3,8,16,.3), inset 0 1px 0 rgba(255,255,255,.04);
  padding:13px;
}
#pf-visao-geral .pfWidget.pfWidgetHighlight{
  border-color:color-mix(in srgb, var(--accent) 52%, var(--stroke2));
  background:
    radial-gradient(120% 96% at 0% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%),
    linear-gradient(178deg, rgba(255,255,255,.056), rgba(255,255,255,.024));
}
#pf-visao-geral .pfWidgetHead{
  margin-bottom:12px;
  padding-bottom:9px;
  border-bottom:1px solid color-mix(in srgb, #94a3b8 24%, var(--stroke));
}
#pf-visao-geral .pfWidgetHead h3{
  margin:0;
  font-size:14px;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-family:"Segoe UI","Inter","Roboto",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  color:color-mix(in srgb, var(--text) 92%, #fff);
  line-height:1.25;
}
#pf-visao-geral .pfWidgetHead span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:color-mix(in srgb, var(--muted) 76%, #fff);
}
#pf-visao-geral .pfWidgetHead .pfFlowMonthNav{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#pf-visao-geral .pfWidgetHead .pfFlowMonthBtn{
  width:22px;
  min-height:22px;
  height:22px;
  border:1px solid color-mix(in srgb, #94a3b8 28%, var(--stroke));
  background:rgba(18,25,36,.56);
  color:color-mix(in srgb, var(--text) 90%, #fff);
  border-radius:6px;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  font-size:14px;
  line-height:1;
}
#pf-visao-geral .pfWidgetHead .pfFlowMonthBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 42%, var(--stroke2));
  background:rgba(24,33,47,.72);
}
#pf-visao-geral .pfWidgetHead .pfFlowMonthBtn:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 46%, transparent);
}
#pf-visao-geral .pfWidgetHead #pfw-flow-caption{
  min-width:112px;
  text-align:center;
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--text) 92%, #fff);
}
#pf-visao-geral .pfTopExpensesWrap{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:18px;
  align-items:start;
  height:100%;
}
#pf-visao-geral .pfDonutWrap{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  align-self:stretch;
  min-height:0;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
}
#pf-visao-geral .pfTopExpensesWrap > *{
  min-width:0;
}
#pf-visao-geral #pfw-top-expenses-list{
  align-self:start;
  gap:4px;
}
#pf-visao-geral .pfMiniBarTrack{
  background:rgba(255,255,255,.095);
}
#pf-visao-geral .pfDonut{
  --pfw-donut-sep:rgba(255,255,255,.08);
  width:284px;
  height:284px;
  max-width:100%;
  aspect-ratio:1 / 1;
  display:block;
  margin:0 auto;
  overflow:visible;
  isolation:isolate;
  box-shadow:none;
  filter:none;
}
#pf-visao-geral #pfw-top-expenses-donut{
  transform:translateY(12px);
}
#pf-visao-geral .pfDonut::after{
  content:none;
}
#pf-visao-geral .pfDonut .pfDonutSvg{
  width:100%;
  height:100%;
  display:block;
}
#pf-visao-geral .pfListRow{
  border-color:color-mix(in srgb, var(--accent2) 16%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.014));
}
#pf-visao-geral .pfListRow:hover{
  border-color:color-mix(in srgb, var(--accent2) 34%, var(--stroke2));
  box-shadow:0 10px 22px rgba(0,0,0,.24);
}
#pf-visao-geral .pfListTitle{
  font-weight:620;
}
#pf-visao-geral .pfListValue{
  font-size:13px;
}
#pf-visao-geral .pfInvestTableWrap{
  border:1px solid color-mix(in srgb, var(--accent2) 16%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.015);
}
#pf-visao-geral .pfInvestTable{
  margin:0;
  font-size:14px;
}
#pf-visao-geral .pfInvestTable th{
  font-size:12.5px;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding-top:6px;
  padding-bottom:7px;
  color:color-mix(in srgb, var(--muted) 84%, #fff);
}
#pf-visao-geral .pfInvestTable td{
  font-size:14px;
  padding-top:7px;
  padding-bottom:7px;
  line-height:1.25;
}
#pf-visao-geral .pfInvestTable .pfSwatchHead,
#pf-visao-geral .pfInvestTable .pfSwatchCell{
  width:50px;
  text-align:center !important;
  padding-left:10px;
  padding-right:10px;
}
#pf-visao-geral .pfInvestTable .pfSwatch{
  width:14px;
  height:14px;
  border-radius:4px;
  display:inline-block;
  background:var(--swatch, #64748b);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--swatch, #64748b) 16%, transparent);
}
#pf-visao-geral .pfInvestTable td.left{
  font-size:14px;
  font-weight:500;
}
#pf-visao-geral .pfInvestTable tbody tr{
  transition:background-color .15s ease;
}
#pf-visao-geral .pfInvestTable tbody tr:hover td{
  background:color-mix(in srgb, var(--accent2) 10%, transparent);
}
#pf-visao-geral .pfInvestClassCard{
  padding:10px 11px 9px !important;
}
#pf-visao-geral .pfInvestClassCard .pfWidgetHead{
  margin-bottom:8px;
  padding-bottom:7px;
}
#pf-visao-geral .pfInvestClassCard .pfWidgetHead h3{
  font-size:13px;
  letter-spacing:.07em;
}
#pf-visao-geral .pfInvestClassCard .pfInvestTable th{
  font-size:11px;
  padding-top:4px;
  padding-bottom:5px;
}
#pf-visao-geral .pfInvestClassCard .pfInvestTable td{
  font-size:13px;
  padding-top:5px;
  padding-bottom:5px;
}
#pf-visao-geral .pfInvestClassCard .pfInvestTable .pfSwatchHead,
#pf-visao-geral .pfInvestClassCard .pfInvestTable .pfSwatchCell{
  width:42px;
  padding-left:8px;
  padding-right:8px;
}
#pf-visao-geral .pfInvestClassCard .pfInvestTable .pfSwatch{
  width:12px;
  height:12px;
  border-radius:3px;
}
.pfMiniBars,
.pfMiniList{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pfMiniBarRow{
  display:grid;
  grid-template-columns:58px 1fr auto;
  gap:8px;
  align-items:center;
}
.pfMiniBarLabel{
  font-size:11px;
  color:var(--muted);
}
.pfMiniBarTrack{
  position:relative;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}
.pfMiniBarFill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 78%, #fff), color-mix(in srgb, var(--accent2) 76%, #fff));
}
.pfMiniBarFill.neg{
  background:linear-gradient(90deg, rgba(248,113,113,.9), rgba(239,68,68,.85));
}
.pfMiniBarValue{
  font-size:11px;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.pfListRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid color-mix(in srgb, var(--accent) 12%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.015);
  padding:8px 10px;
}
.pfListTitle{
  font-size:12px;
  color:var(--text);
  font-weight:580;
  line-height:1.3;
}
.pfListMeta{
  font-size:10px;
  color:var(--muted);
  margin-top:2px;
  line-height:1.35;
}
.pfTrend{
  font-size:10px;
  font-weight:620;
}
.pfTrend.pos{color:#4ADE80;}
.pfTrend.neg{color:#F87171;}
.pfTrend.warn{color:#FBBF24;}
.pfTrend.neu{color:var(--muted);}
.pfListValue{
  font-size:12px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
}
.pfListValue.pos{color:#4ADE80;}
.pfListValue.neg{color:#F87171;}
.pfListValue.neu{color:var(--muted);}
.pfRecurringRow{
  grid-template-columns:28px minmax(0,1fr) auto;
}
.pfRecurringMain{
  min-width:0;
}
.pfRecurringIcon{
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(148,163,184,.34);
  background:linear-gradient(180deg, rgba(148,163,184,.22), rgba(148,163,184,.12));
  overflow:hidden;
  flex:0 0 auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.pfRecurringIcon.expense{
  border-color:rgba(248,113,113,.44);
  background:linear-gradient(180deg, rgba(248,113,113,.26), rgba(248,113,113,.12));
}
.pfRecurringIcon.income{
  border-color:rgba(74,222,128,.44);
  background:linear-gradient(180deg, rgba(74,222,128,.24), rgba(74,222,128,.11));
}
.pfRecurringIcon.transfer{
  border-color:rgba(125,211,252,.44);
  background:linear-gradient(180deg, rgba(125,211,252,.24), rgba(125,211,252,.11));
}
.pfRecurringIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pfRecurringIcon span{
  font-size:12px;
  font-weight:650;
  line-height:1;
}
.pfRecurringRowActions{
  display:flex;
  align-items:center;
  gap:8px;
}
.pfRecurringEditBtn{
  white-space:nowrap;
}
#pf-recorrencias .pfRecurringShell{
  padding:12px;
}
#pf-recorrencias .pfRecurringShellHead{
  margin-bottom:10px;
  padding-bottom:10px;
  flex-wrap:wrap;
  align-items:flex-start;
}
#pf-recorrencias .pfRecurringShellHead h3{
  margin:0;
  font-size:14px;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#pf-recorrencias .pfRecurringShellHead span{
  font-size:11px;
  color:var(--muted);
  margin-left:auto;
  text-align:right;
}
#pf-recorrencias .pfRecurringBoard{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#pf-recorrencias .pfRecurringStats{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#pf-recorrencias .pfRecurringStat{
  height:24px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:620;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016));
  color:#d5dfed;
}
#pf-recorrencias .pfRecurringStat.income{
  border-color:rgba(74,222,128,.34);
  color:#7de7af;
}
#pf-recorrencias .pfRecurringStat.expense{
  border-color:rgba(248,113,113,.34);
  color:#ff9d9d;
}
#pf-recorrencias .pfRecurringStat.transfer{
  border-color:rgba(125,211,252,.34);
  color:#8fd9ff;
}
#pf-recorrencias .pfRecurringTableWrap{
  border:1px solid rgba(138,157,184,.34);
  border-radius:12px;
  overflow-x:auto;
  overflow-y:hidden;
  max-width:100%;
  background:linear-gradient(180deg, rgba(12,19,29,.86), rgba(8,14,22,.82));
}
#pf-recorrencias .pfRecurringTable{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
#pf-recorrencias .pfRecurringTable thead th:nth-child(1){width:48%;}
#pf-recorrencias .pfRecurringTable thead th:nth-child(2){width:10%;}
#pf-recorrencias .pfRecurringTable thead th:nth-child(3){width:12%;}
#pf-recorrencias .pfRecurringTable thead th:nth-child(4){width:11%;}
#pf-recorrencias .pfRecurringTable thead th:nth-child(5){width:12%;}
#pf-recorrencias .pfRecurringTable thead th:nth-child(6){width:7%;}
#pf-recorrencias .pfRecurringTable thead th:last-child,
#pf-recorrencias .pfRecurringTable tbody td:last-child{
  min-width:74px;
}
#pf-recorrencias .pfRecurringTable thead th{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.03);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#d2dceb;
  text-align:left;
  white-space:nowrap;
}
#pf-recorrencias .pfRecurringTable thead th.right{
  text-align:right;
}
#pf-recorrencias .pfRecurringTable tbody tr:nth-child(odd){
  background:rgba(255,255,255,.018);
}
#pf-recorrencias .pfRecurringTable tbody tr:hover{
  background:rgba(255,255,255,.04);
}
#pf-recorrencias .pfRecurringTable tbody td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.07);
  vertical-align:middle;
  min-width:0;
}
#pf-recorrencias .pfRecurringTable tbody tr:last-child td{
  border-bottom:none;
}
#pf-recorrencias .pfRecurringCellAsset{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#pf-recorrencias .pfRecurringMain{
  min-width:0;
}
#pf-recorrencias .pfRecurringTitle{
  font-size:13px;
  font-weight:680;
  color:var(--text);
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-recorrencias .pfRecurringMeta{
  margin-top:3px;
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-recorrencias .pfRecurringDate{
  font-size:12px;
  color:var(--text);
  font-weight:600;
  white-space:nowrap;
}
#pf-recorrencias .pfRecurringTypePill{
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.34);
  background:rgba(148,163,184,.14);
  font-size:10px;
  font-weight:680;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#d7e1ee;
}
#pf-recorrencias .pfRecurringTypePill.income{
  border-color:rgba(74,222,128,.42);
  background:rgba(74,222,128,.16);
  color:#80ecb4;
}
#pf-recorrencias .pfRecurringTypePill.expense{
  border-color:rgba(248,113,113,.42);
  background:rgba(248,113,113,.16);
  color:#ff9f9f;
}
#pf-recorrencias .pfRecurringTypePill.transfer{
  border-color:rgba(125,211,252,.42);
  background:rgba(125,211,252,.16);
  color:#93dbff;
}
#pf-recorrencias .pfRecurringPeriod{
  font-size:12px;
  color:#d7e1ef;
  font-weight:600;
  white-space:nowrap;
}
#pf-recorrencias .pfRecurringOcc{
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
}
#pf-recorrencias .pfRecurringValue{
  font-size:clamp(13px,1.05vw,15px);
  font-weight:720;
  line-height:1;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  text-align:right;
}
#pf-recorrencias .pfRecurringValue.pos{color:#5ce6a3;}
#pf-recorrencias .pfRecurringValue.neg{color:#ff8d8d;}
#pf-recorrencias .pfRecurringValue.neu{color:#b8c5d8;}
#pf-recorrencias .pfRecurringAction{
  text-align:right;
  width:1%;
  white-space:nowrap;
}
#pf-recorrencias .pfRecurringEditBtn{
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(142,161,188,.44);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  font-size:11px;
  font-weight:640;
  letter-spacing:.03em;
}
#pf-recorrencias .pfRecurringEditBtn:hover{
  border-color:rgba(182,201,226,.58);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
@media (max-width:980px){
  #pf-recorrencias .pfRecurringShell{
    padding:10px;
  }
  #pf-recorrencias .pfRecurringTable{
    min-width:760px;
  }
  #pf-recorrencias .pfRecurringTitle{
    font-size:12px;
  }
  #pf-recorrencias .pfRecurringValue{
    font-size:14px;
  }
}
@media (max-width:720px){
  #pf-recorrencias .pfRecurringTable{
    min-width:700px;
  }
  #pf-recorrencias .pfRecurringStats{
    gap:6px;
  }
}
.pfInvoiceHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.pfInvoiceCardName{
  font-size:13px;
  font-weight:620;
  color:var(--text);
}
.pfInvoiceMonthNav{
  display:flex;
  align-items:center;
  gap:8px;
}
.pfInvoiceMonthNav .workspaceAction{
  min-width:30px;
  padding:3px 8px;
}
.pfInvoiceMonthCaption{
  min-width:132px;
  text-align:center;
  font-size:11px;
  font-weight:620;
  letter-spacing:.08em;
  color:var(--text);
  text-transform:uppercase;
}
.pfInvoiceStats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(136px,1fr));
  gap:8px;
}
.pfInvoiceStat{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.015);
  padding:8px 10px;
}
.pfInvoiceStat .k{
  display:block;
  font-size:10px;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pfInvoiceStat .v{
  display:block;
  margin-top:4px;
  font-size:13px;
  font-weight:640;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.pfInvoiceCreateWrap{
  border:1px dashed color-mix(in srgb, var(--accent) 18%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.012);
  padding:8px;
}
.pfInvoiceBulkBar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  border:1px solid color-mix(in srgb, var(--accent2) 20%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.02);
  padding:7px 10px;
}
.pfInvoiceBulkBar.is-hidden{
  display:none;
}
.pfInvoiceBulkSelectAll{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:var(--text);
}
.pfInvoiceBulkSelectAll input{
  width:15px;
  height:15px;
  accent-color:var(--accent2);
}
.pfInvoiceBulkCount{
  margin-left:auto;
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted);
}
.pfInvoiceBulkDelete{
  width:26px;
  height:26px;
}
.pfInvoiceCreateHead{
  display:flex;
  justify-content:flex-end;
}
.pfInvoiceCreateToggle{
  min-height:30px;
  padding:4px 10px;
  font-size:11px;
  letter-spacing:.04em;
}
.pfInvoiceCreateForm{
  margin-top:8px;
}
.pfInvoiceCreateHint{
  margin-top:6px;
  font-size:10px;
  color:var(--muted);
}
#pf-card-invoice-modal .finModalBody{
  grid-template-columns:1fr;
  gap:12px;
}
#pf-card-invoice-modal .finModalCard{
  width:min(1080px, 96vw);
  max-height:min(90vh, 900px);
}
#pfw-card-invoice-list{
  max-height:360px;
  overflow:auto;
  padding-right:2px;
}
.pfInvoiceItemRow{
  grid-template-columns:28px 44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.pfInvoiceItemSelectWrap{
  display:grid;
  place-items:center;
}
.pfInvoiceItemSelect{
  width:15px;
  height:15px;
  accent-color:var(--accent2);
}
.pfInvoiceItemDay{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-size:13px;
  font-weight:640;
  font-variant-numeric:tabular-nums;
}
.pfInvoiceItemMain{
  min-width:0;
}
.pfInvoiceItemTitleLine{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.pfInvoiceItemIcon{
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb, var(--tone, #64748b) 24%, transparent);
  color:var(--text);
  border:1px solid color-mix(in srgb, var(--tone, #64748b) 54%, rgba(255,255,255,.16));
  flex:0 0 26px;
}
.pfInvoiceItemIcon img{
  width:16px;
  height:16px;
  object-fit:contain;
}
.pfInvoiceItemTitle{
  font-size:12px;
  font-weight:620;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pfInvoiceItemStatus{
  margin-left:auto;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke));
  padding:2px 7px;
  white-space:nowrap;
}
.pfInvoiceItemStatus.pending{
  color:#fbbf24;
  border-color:rgba(251,191,36,.38);
  background:rgba(251,191,36,.08);
}
.pfInvoiceItemStatus.paid{
  color:#9ca3af;
  border-color:rgba(156,163,175,.36);
  background:rgba(156,163,175,.08);
}
.pfInvoiceItemSide{
  display:flex;
  align-items:center;
  gap:10px;
}
.pfInvoiceItemActions{
  display:flex;
  align-items:center;
  gap:6px;
}
.pfInvoiceItemValue{
  min-width:112px;
  text-align:right;
  font-size:13px;
  font-weight:620;
}
.pfInvoiceEntry{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pfInvoiceInlineEditor{
  border:1px solid color-mix(in srgb, var(--accent2) 18%, var(--stroke));
  border-radius:10px;
  background:rgba(148,163,184,.05);
  padding:8px;
}
.pfInvoiceInlineGrid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:6px;
}
.pfInvoiceInlineField{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.pfInvoiceInlineField > span{
  font-size:10px;
  color:var(--muted);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pfInvoiceInlineField input,
.pfInvoiceInlineField select{
  min-height:30px;
  border:1px solid color-mix(in srgb, var(--accent2) 24%, var(--stroke));
  border-radius:8px;
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:0 9px;
  font-size:12px;
}
.pfInvoiceInlineField.name{grid-column:span 4;}
.pfInvoiceInlineField.amount{grid-column:span 2;}
.pfInvoiceInlineField.currency{grid-column:span 2;}
.pfInvoiceInlineField.date{grid-column:span 2;}
.pfInvoiceInlineField.invoiceMonth{grid-column:span 2;}
.pfInvoiceInlineField.category{grid-column:span 2;}
.pfInvoiceInlineField.kind{grid-column:span 2;}
.pfInvoiceInlineField.installments{
  grid-column:span 12;
  flex-direction:row;
  align-items:center;
  gap:6px;
}
.pfInvoiceInlineField.fixedPeriod{
  grid-column:span 12;
  flex-direction:row;
  align-items:center;
  gap:6px;
}
.pfInvoiceInlineField.installments > span{
  margin-right:2px;
  min-width:98px;
}
.pfInvoiceInlineField.fixedPeriod > span{
  margin-right:2px;
  min-width:98px;
}
.pfInvoiceInlineField.installments input{
  width:78px;
  text-align:center;
}
.pfInvoiceInlineField.fixedPeriod select{
  width:200px;
  max-width:100%;
}
.pfInvoiceInlineActions{
  margin-top:7px;
  display:flex;
  justify-content:flex-end;
  gap:6px;
}
.pfInvoiceInlineBtn{
  min-height:28px;
  border-radius:8px;
  padding:0 10px;
  font-size:11px;
  letter-spacing:.04em;
}
.pfInvoiceInlineBtn.save{
  color:#86efac;
  border-color:rgba(134,239,172,.42);
}
.pfInvoiceInlineBtn.cancel{
  color:var(--muted);
}
@media (max-width:680px){
  .pfInvoiceInlineField.name,
  .pfInvoiceInlineField.amount,
  .pfInvoiceInlineField.currency,
  .pfInvoiceInlineField.date,
  .pfInvoiceInlineField.invoiceMonth,
  .pfInvoiceInlineField.category,
  .pfInvoiceInlineField.kind{
    grid-column:span 12;
  }
  .pfInvoiceInlineField.installments{
    flex-wrap:wrap;
  }
  .pfInvoiceInlineField.fixedPeriod{
    flex-wrap:wrap;
  }
}
.pfSectionToolbar{
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.pfSearchInput{
  flex:1 1 320px;
  min-height:34px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:var(--text);
  padding:0 12px;
  font-size:12px;
}
.pfStatusBtn{
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--text);
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.15s ease;
}
.pfStatusBtn.pos{
  color:#86efac;
  border-color:rgba(74,222,128,.45);
}
.pfStatusBtn.neg{
  color:#fca5a5;
  border-color:rgba(248,113,113,.45);
}
.pfStatusBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 44%, var(--stroke2));
  transform:translateY(-1px);
}
.pfStatusBtn:active{
  transform:translateY(0);
}
.pfStatusBtn:disabled{
  opacity:.6;
  cursor:wait;
}
.pfTxStatusWrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pfTxEditBtn{
  width:24px;
  height:24px;
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--text);
  border-radius:8px;
  font-size:12px;
  line-height:1;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  transition:.15s ease;
}
.pfTxEditBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 50%, var(--stroke2));
  transform:translateY(-1px);
}
.pfTxEditBtn:active{
  transform:translateY(0);
}
.pfTxEditBtn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.pfTxDeleteBtn{
  width:24px;
  height:24px;
  border:1px solid rgba(239,68,68,.44);
  background:rgba(239,68,68,.12);
  color:#fca5a5;
  border-radius:8px;
  font-size:12px;
  line-height:1;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  transition:.15s ease;
}
.pfTxDeleteBtn:hover{
  border-color:rgba(248,113,113,.75);
  background:rgba(239,68,68,.2);
  color:#fecaca;
  transform:translateY(-1px);
}
.pfTxDeleteBtn:active{
  transform:translateY(0);
}
.pfTxDeleteBtn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.pfTxCategory{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:13.5px;
  line-height:1.24;
}
.pfTxCategoryIcon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(59,130,246,.16);
  border:1px solid rgba(147,197,253,.3);
  overflow:hidden;
  flex:0 0 auto;
}
.pfTxCategoryIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pfTxCategoryIcon span{
  font-size:13px;
  font-weight:620;
  line-height:1;
}
.pfTxAccount{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:13.5px;
  line-height:1.24;
}
.pfTxAccountIcon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(14,165,233,.14);
  border:1px solid rgba(125,211,252,.3);
  overflow:hidden;
  flex:0 0 auto;
}
.pfTxAccountIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pfTxAccountIcon span{
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.pfTxAccountTransfer{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  max-width:100%;
}
.pfTxAccountPart{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.pfTxAccountLabel{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pfTxAccountPart.from{
  flex:0 1 auto;
  min-width:0;
  max-width:47%;
}
.pfTxAccountPart.from .pfTxAccountLabel{
  font-size:13.5px;
  font-weight:620;
  color:var(--text);
}
.pfTxAccountPart.to{
  flex:1 1 auto;
  min-width:0;
  max-width:45%;
}
.pfTxAccountPart.to .pfTxAccountLabel{
  font-size:11.5px;
  font-weight:560;
  color:color-mix(in srgb, var(--text) 84%, var(--muted));
}
.pfTxAccountPart.to .pfTxAccountIcon{
  width:19px;
  height:19px;
}
.pfTxAccountArrow{
  color:var(--muted);
  font-size:13px;
  font-weight:620;
  line-height:1;
}
#pf-lancamentos .wsFilterBar{
  margin-top:0;
  margin-bottom:10px;
}
#pf-lancamentos .pfLaunchHeader{
  margin:0 0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
#pf-lancamentos .pfLaunchTitleWrap{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:-8px;
}
#pf-lancamentos .pfLaunchTitle{
  margin:0;
  font-size:20px;
  line-height:1;
  font-weight:590;
  color:var(--text);
}
#pf-lancamentos .pfLaunchAddBtn{
  width:30px;
  min-height:30px;
  height:30px;
  border-radius:999px;
  padding:0;
  font-size:18px;
  line-height:1;
  display:grid;
  place-items:center;
}
#pf-lancamentos .pfLaunchMonthNav{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:none;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
#pf-lancamentos .pfLaunchTotals{
  margin:2px 0 10px;
  border:1px solid color-mix(in srgb, var(--accent) 16%, var(--stroke));
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  padding:9px 10px 10px;
}
#pf-lancamentos .pfLaunchTotalsHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
#pf-lancamentos .pfLaunchTotalsTitle{
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:650;
  color:var(--text);
}
#pf-lancamentos .pfLaunchTotalsSub{
  font-size:11px;
  color:var(--muted);
}
#pf-lancamentos .pfLaunchTotalsGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
}
#pf-lancamentos .pfLaunchTotalCard{
  border:1px solid color-mix(in srgb, var(--accent) 16%, var(--stroke));
  border-radius:10px;
  background:rgba(13,18,27,.66);
  padding:8px 9px;
}
#pf-lancamentos .pfLaunchTotalCard .k{
  display:block;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:5px;
  font-weight:620;
}
#pf-lancamentos .pfLaunchTotalCard .v{
  display:block;
  font-size:20px;
  line-height:1.05;
  letter-spacing:0;
  font-weight:620;
  color:var(--text);
}
#pf-lancamentos .pfLaunchTotalCard.income .v{ color:#67e1af; }
#pf-lancamentos .pfLaunchTotalCard.expense .v{ color:#ff9b90; }
#pf-lancamentos .pfLaunchTotalCard.balance .v{ color:#e9eef8; }
#pf-lancamentos .pfLaunchTotals.is-forecast .pfLaunchTotalsTitle{
  color:#facc62;
}
#pf-lancamentos .pfLaunchTotals.is-forecast .pfLaunchTotalCard.balance .v{
  color:#f7d37a;
}
#pf-lancamentos .pfLaunchMonthBtn{
  width:28px;
  min-height:28px;
  height:28px;
  padding:0;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
}
#pf-lancamentos #pfw-launch-month-caption{
  min-width:138px;
  text-align:center;
  font-size:14px;
  letter-spacing:.02em;
  font-weight:580;
  color:var(--text);
}
#pf-lancamentos .pfPeriodGhost{
  display:none;
}
#pf-lancamentos .pfSectionToolbar{
  margin-bottom:8px;
}
#pf-lancamentos .pfTable th,
#pf-lancamentos .pfTable td{
  text-align:left;
}
#pf-lancamentos .pfTable{
  table-layout:fixed;
}
#pf-lancamentos .pfTable th{
  font-size:11.5px;
}
#pf-lancamentos .pfTable th.pfSortDateTh{
  cursor:pointer;
  user-select:none;
}
#pf-lancamentos .pfTable th.pfSortDateTh:hover{
  color:var(--text);
}
#pf-lancamentos .pfTable th.pfSortDateTh .pfSortArrow{
  margin-left:6px;
  font-size:10.5px;
  color:var(--muted);
}
#pf-lancamentos .pfTable td{
  font-size:13.5px;
  padding-top:9px;
  padding-bottom:9px;
}
#pf-lancamentos .pfTable th:nth-child(1),
#pf-lancamentos .pfTable td:nth-child(1){
  width:84px;
  min-width:84px;
}
#pf-lancamentos .pfTable th:nth-child(3),
#pf-lancamentos .pfTable td:nth-child(3){
  width:140px;
  min-width:140px;
}
#pf-lancamentos .pfTable th:nth-child(4),
#pf-lancamentos .pfTable td:nth-child(4){
  width:240px;
  min-width:240px;
}
#pf-lancamentos .pfTable th:nth-child(5),
#pf-lancamentos .pfTable td:nth-child(5){
  width:156px;
  min-width:156px;
}
#pf-lancamentos .pfTable th:last-child,
#pf-lancamentos .pfTable td:last-child{
  text-align:right;
  width:132px;
  min-width:132px;
  padding-right:12px;
}
#pf-lancamentos .pfTable td:nth-child(3) .pfTxCategory,
#pf-lancamentos .pfTable td:nth-child(4) .pfTxAccount{
  min-width:0;
  max-width:100%;
}
#pf-lancamentos .pfTable td:nth-child(3) .pfTxCategory > span:last-child,
#pf-lancamentos .pfTable td:nth-child(4) .pfTxAccount > span:last-child{
  min-width:0;
  max-width:calc(100% - 34px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#pf-lancamentos .pfTable td:last-child .moneySensitive{
  display:inline-block;
  white-space:nowrap;
  word-break:keep-all;
}
#pf-lancamentos .pfTable .statusCol,
#pf-lancamentos .pfTable .statusCell{
  text-align:center !important;
}
#pf-lancamentos .pfTable tr.pfInvoiceTxRow td{
  background:rgba(128,133,142,.10);
}
#pf-lancamentos .pfTable tr.pfInvoiceTxRow:hover td{
  background:rgba(128,133,142,.14);
}
@media (max-width:680px){
  #pf-lancamentos .pfLaunchHeader{
    justify-content:flex-start;
    gap:10px;
  }
  #pf-lancamentos .pfLaunchTotalsHead{
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    margin-bottom:7px;
  }
  #pf-lancamentos .pfLaunchTotalsGrid{
    grid-template-columns:1fr;
  }
  #pf-lancamentos .pfLaunchTotalCard .v{
    font-size:18px;
  }
  #pf-lancamentos .pfLaunchTitle{
    font-size:18px;
  }
  #pf-lancamentos #pfw-launch-month-caption{
    min-width:124px;
    font-size:13px;
  }
  #pf-lancamentos .pfTable td{
    font-size:12.5px;
    padding-top:8px;
    padding-bottom:8px;
  }
  #pf-lancamentos .pfTable th:nth-child(3),
  #pf-lancamentos .pfTable td:nth-child(3){
    width:126px;
    min-width:126px;
  }
  #pf-lancamentos .pfTable th:nth-child(4),
  #pf-lancamentos .pfTable td:nth-child(4){
    width:188px;
    min-width:188px;
  }
  #pf-lancamentos .pfTable th:nth-child(5),
  #pf-lancamentos .pfTable td:nth-child(5){
    width:144px;
    min-width:144px;
  }
  #pf-lancamentos .pfTable th:last-child,
  #pf-lancamentos .pfTable td:last-child{
    width:118px;
    min-width:118px;
  }
  .pfTxCategory,
  .pfTxAccount{
    font-size:12.5px;
    gap:7px;
  }
  .pfTxAccountPart.from{
    max-width:50%;
  }
  .pfTxAccountPart.to{
    max-width:40%;
  }
  .pfTxAccountPart.to .pfTxAccountLabel{
    font-size:11px;
  }
  .pfTxCategoryIcon,
  .pfTxAccountIcon{
    width:20px;
    height:20px;
  }
}
.pfSearchInput:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--accent2) 56%, var(--stroke2));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}
.pfCardsGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.pfCardsSummary{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:10px;
  background:
    radial-gradient(120% 100% at 0% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 16px;
  align-items:end;
}
.pfCardsSummary.is-empty{
  display:none;
}
.pfCardsSummaryTitle{
  font-size:11px;
  font-weight:640;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.pfCardsSummaryMonth{
  margin-top:4px;
  font-size:12px;
  font-weight:620;
  color:var(--text);
}
.pfCardsSummaryValue{
  grid-column:1 / -1;
  font-size:33px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.pfCardsSummaryTrend{
  justify-self:end;
  align-self:center;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  font-weight:620;
  letter-spacing:.02em;
  background:rgba(255,255,255,.02);
  color:var(--muted);
  white-space:nowrap;
}
.pfCardsSummaryTrend.pos{
  color:#7ee2b8;
  border-color:rgba(93,199,150,.38);
}
.pfCardsSummaryTrend.neg{
  color:#ffb39f;
  border-color:rgba(214,133,115,.4);
}
.pfCardsSummaryTrend.neu{
  color:#cbd4e1;
  border-color:rgba(158,169,188,.35);
}
#pfw-cards-summary{
  padding:10px 12px;
  margin-bottom:8px;
  gap:6px 12px;
}
#pfw-cards-summary .pfCardsSummaryMonth{
  margin-top:2px;
  font-size:11.5px;
}
#pfw-cards-summary .pfCardsSummaryValue{
  font-size:29px;
}
#pfw-cards-summary .pfCardsSummaryTrend{
  padding:4px 9px;
  font-size:10.5px;
}
#pfw-cards-grid{
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:10px;
}
#pfw-cards-grid .pfSmallCard{
  padding:10px 11px 9px;
  border-radius:13px;
}
#pfw-cards-grid .pfEntityHead{
  gap:9px;
}
#pfw-cards-grid .pfEntityMedia{
  min-width:56px;
  gap:4px;
}
#pfw-cards-grid .pfAccountThumb{
  width:48px;
  height:48px;
  border-radius:12px;
}
#pfw-cards-grid .pfEntityName{
  font-size:15px;
}
#pfw-cards-grid .pfEntityInstitution{
  margin-top:2px;
  font-size:10.5px;
}
#pfw-cards-grid .pfCardTopRow{
  margin-top:2px;
  gap:8px;
}
#pfw-cards-grid .pfEntityTypeBelow.cardType{
  font-size:10.5px;
  line-height:1.15;
}
#pfw-cards-grid .pfTinyBtn{
  padding:2px 7px;
  font-size:10px;
}
#pfw-cards-grid .pfTinyBtn.pfCardEditBtn{
  min-width:24px;
  padding:2px 6px;
  font-size:11px;
}
#pfw-cards-grid .pfEntityValueBlock{
  margin-top:3px;
  padding-top:4px;
}
#pfw-cards-grid .pfCardMetaLine{
  margin-top:2px;
  font-size:11px;
  line-height:1.22;
}
#pf-contas .pfContasFold[data-section="Meus cartões PF"].section.collapsible.open .sectionBody{
  padding-top:6px;
}
@media (max-width:700px){
  .pfCardsSummary{
    grid-template-columns:1fr;
    gap:8px;
  }
  .pfCardsSummaryTrend{
    justify-self:start;
  }
  .pfCardsSummaryValue{
    font-size:28px;
  }
}
#pfw-accounts-grid{
  grid-template-columns:repeat(auto-fit,minmax(252px,1fr));
  gap:10px;
}
#pfw-previdencia-accounts-list{
  grid-template-columns:repeat(auto-fit,minmax(252px,1fr));
  gap:10px;
}
#pfw-cdb-accounts-list{
  grid-template-columns:repeat(auto-fill,minmax(220px,248px));
  justify-content:flex-start;
  gap:8px;
}
.pfSmallCard{
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:14px;
  padding:14px 14px 10px;
  background:
    radial-gradient(130% 100% at 0% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  min-height:0;
}
.pfSmallHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.pfSmallTitle{
  margin:0;
  color:var(--text);
  font-size:17px;
  font-weight:680;
  line-height:1.2;
  letter-spacing:.01em;
}
.pfTag{
  font-size:10px;
  color:var(--muted);
  border:1px solid color-mix(in srgb, var(--accent) 26%, var(--stroke));
  border-radius:99px;
  padding:3px 7px;
}
.pfTag.pos{
  color:#86efac;
  border-color:rgba(74,222,128,.45);
}
.pfTag.neg{
  color:#fca5a5;
  border-color:rgba(248,113,113,.45);
}
.pfSmallValue{
  margin-top:12px;
  font-size:34px;
  font-weight:760;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.pfSmallSub{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
}
.pfProgress{
  margin-top:8px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}
.pfProgressFill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 78%, #fff), color-mix(in srgb, var(--accent2) 76%, #fff));
}
.pfProgressFill.warn{background:linear-gradient(90deg, #f59e0b, #fbbf24);}
.pfProgressFill.danger{background:linear-gradient(90deg, #ef4444, #f87171);}
.pfEmpty{
  color:var(--muted);
  font-size:12px;
  border:1px dashed color-mix(in srgb, var(--accent) 20%, var(--stroke));
  border-radius:10px;
  padding:10px 12px;
  text-align:center;
}
.pfEmptyCell{
  text-align:center !important;
  color:var(--muted) !important;
  padding:14px 8px !important;
}
.pfCalDate{
  margin-top:4px;
  font-size:11px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:620;
}
.finModal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  overflow-y:auto;
  padding:12px 0 20px;
}
.finModal.open{display:block;}
.finModalBackdrop{
  position:absolute;
  inset:0;
  background:rgba(5,8,12,.72);
  backdrop-filter:blur(3px);
}
.finModalCard{
  position:relative;
  width:min(620px, calc(100vw - 28px));
  margin:clamp(8px, 4vh, 32px) auto;
  max-height:calc(100vh - 24px);
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke2));
  border-radius:16px;
  background:
    radial-gradient(125% 100% at 0% 0%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 58%),
    linear-gradient(180deg, rgba(20,24,31,.98), rgba(14,17,24,.97));
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.finModalCard > form{
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 auto;
}
.finModalHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:14px 16px 10px;
  border-bottom:1px solid var(--stroke);
}
.finModalTitle{
  margin:0;
  font-size:15px;
  font-weight:650;
  color:var(--text);
}
.finClose{
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--muted);
  border-radius:8px;
  width:28px;
  height:28px;
  cursor:pointer;
}
.finModalBody{
  padding:14px 16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb, var(--accent2) 42%, var(--stroke2)) transparent;
}
.finModalBody::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.finModalBody::-webkit-scrollbar-track{
  background:transparent;
}
.finModalBody::-webkit-scrollbar-thumb{
  background:color-mix(in srgb, var(--accent2) 42%, var(--stroke2));
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.finField{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.finModal#pf-card-modal #pfw-card-closing-day-wrap,
.finModal#pf-card-modal #pfw-card-closing-offset-wrap,
.finModal#pf-card-modal #pfw-card-due-day-wrap,
.finModal#pf-card-modal #pfw-card-due-offset-wrap,
.finModal#pf-card-modal #pfw-card-due-business-wrap{
  grid-column:2;
}
.is-hidden{display:none !important;}
.finField.full{grid-column:1 / -1;}
.finField.is-hidden{display:none !important;}
.finField label{
  font-size:11px;
  color:var(--muted);
}
.finField input,
.finField select,
.finField textarea,
.invLotField input{
  min-height:36px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--stroke));
  border-radius:10px;
  background:#0f171d;
  color:var(--text);
  font-size:12px;
  padding:8px 10px;
  color-scheme:dark;
}
.finField input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.finField input[type="date"],
.invLotField input[type="date"]{
  color-scheme:dark;
  background-color:#0f171d;
  color:var(--text);
  cursor:pointer;
}
.finField input[type="date"]::-webkit-calendar-picker-indicator,
.invLotField input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(.9) brightness(1.1);
  opacity:.92;
  cursor:pointer;
  pointer-events:auto;
}
.finField input[type="number"]::-webkit-outer-spin-button,
.finField input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.pfNumStepper{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:6px;
  align-items:center;
}
.pfNumStepper > input[type="number"]{
  text-align:center;
  padding-left:6px;
  padding-right:6px;
}
.pfStepBtn{
  width:30px;
  min-height:30px;
  height:30px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--stroke));
  border-radius:8px;
  background:#0f171d;
  color:var(--text);
  font-size:18px;
  line-height:1;
  font-weight:560;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.15s ease;
}
.pfStepBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 44%, var(--stroke2));
  color:var(--text);
  transform:translateY(-1px);
}
.pfStepBtn:active{
  transform:translateY(0);
}
.pfStepBtn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.finField select option,.finField select optgroup{
  background:#0f171d;
  color:var(--text);
}
.finField input[type="color"]{
  min-height:38px;
  padding:4px;
}
.finChecks{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px;
}
.finCheck{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--text);
  font-size:12px;
}
.finCheck input{
  width:14px;
  height:14px;
  min-height:14px;
}
.finTxRepeatPanel{
  border:1px dashed color-mix(in srgb, var(--accent) 22%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.015);
  padding:9px 10px;
}
.finTxSeriesScopePanel{
  border:1px solid color-mix(in srgb, #f87171 34%, var(--stroke));
  border-radius:10px;
  background:linear-gradient(180deg, rgba(44,19,22,.72), rgba(32,16,18,.64));
  padding:10px;
}
.finTxSeriesScopeTitle{
  margin:0 0 8px;
  color:#fda4af;
  font-size:14px;
  font-weight:650;
}
.finTxSeriesScopeHint{
  margin:0 0 8px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.finTxSeriesScopeList{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.finTxSeriesScopeItem{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--text);
}
.finTxSeriesScopeItem input[type="radio"]{
  width:16px;
  height:16px;
  min-height:auto;
  accent-color:var(--accent2);
}
.pfInvoiceInlineEditor .finTxSeriesScopePanel{
  margin-top:8px;
}
.finTxOptionRow{
  display:flex;
  flex-direction:row;
  gap:8px;
  flex-wrap:wrap;
}
#pf-tx-modal .finTxOptionRow{
  justify-content:center;
  align-items:center;
  gap:10px;
  max-width:560px;
  margin:0 auto;
}
#pf-tx-modal .finTxOptionRow .workspaceAction{
  min-width:118px;
  min-height:38px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--accent2) 24%, var(--stroke));
  background:linear-gradient(180deg, rgba(17,24,34,.86), rgba(12,18,26,.9));
  color:color-mix(in srgb, var(--text) 92%, #fff);
  font-size:13px;
  font-weight:650;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
#pf-tx-modal .finTxOptionRow .workspaceAction:hover{
  border-color:color-mix(in srgb, var(--accent2) 42%, var(--stroke2));
  background:linear-gradient(180deg, rgba(21,29,41,.92), rgba(14,21,30,.94));
  transform:translateY(-1px);
}
#pf-tx-modal .finTxOptionRow .workspaceAction.active{
  border-color:color-mix(in srgb, var(--accent2) 56%, var(--stroke2));
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 32%, transparent), color-mix(in srgb, var(--accent) 20%, transparent));
  color:#d8ffee;
}
.finTxMiniPanel{
  border:1px solid color-mix(in srgb, var(--accent2) 20%, var(--stroke));
  border-radius:10px;
  background:linear-gradient(180deg, rgba(11,17,24,.92), rgba(9,14,20,.9));
  padding:10px;
  max-height:220px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb, var(--accent2) 42%, var(--stroke2)) transparent;
}
.finTxMiniPanel::-webkit-scrollbar{
  width:9px;
}
.finTxMiniPanel::-webkit-scrollbar-track{
  background:transparent;
}
.finTxMiniPanel::-webkit-scrollbar-thumb{
  background:color-mix(in srgb, var(--accent2) 42%, var(--stroke2));
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.finTxAttachActions{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
}
#pfw-tx-attachment-clear{
  min-height:30px;
  padding:5px 10px;
  font-size:11px;
}
#pf-tx-modal select,
#pf-tx-modal input,
#pf-tx-modal textarea{
  color-scheme:dark;
}
#pf-tx-modal select option,
#pf-tx-modal select optgroup{
  background:#0f171d;
  color:var(--text);
}
#pf-tx-modal .workspaceAction.active{
  border-color:color-mix(in srgb, var(--accent2) 58%, var(--stroke2));
  background:rgba(255,255,255,.08);
  color:var(--text);
}
#pfw-tx-tags{
  text-transform:lowercase;
}
.finTxRepeatRow{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  align-items:end;
}
.finTxRepeatRow .finField{
  gap:5px;
}
.finTxRepeatRow > select,
.finTxRepeatRow .pfNumStepper{
  min-width:0;
}
#pfw-tx-fixed-count,
#pfw-tx-installments,
#pfw-tx-installment-current{
  text-align:center;
}
#pfw-tx-installments-preview{
  margin-top:2px;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
  color:#ff9f43;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.pfMediaPreview{
  height:66px;
  border:1px dashed color-mix(in srgb, var(--accent) 24%, var(--stroke));
  border-radius:10px;
  background:rgba(255,255,255,.02);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.pfMediaPreview img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.pfMediaPreview span{
  color:var(--muted);
  font-size:11px;
}
.pfAccountThumb{
  width:56px;
  height:56px;
  border-radius:14px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  font-size:16px;
  font-weight:760;
}
.pfAccountThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pfSmallActions{
  margin-top:1px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.pfTinyBtn{
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--text);
  border-radius:8px;
  padding:3px 8px;
  font-size:10px;
  cursor:pointer;
}
.pfTinyBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 48%, var(--stroke2));
}
.pfEntityHead{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:flex-start;
  gap:10px;
}
.pfEntityHead.accountHead{
  grid-template-columns:auto minmax(0,1fr);
}
.pfEntityHead.cardHead{
  grid-template-columns:auto minmax(0,1fr);
}
.pfEntityMedia{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:64px;
}
.pfEntityTypeBelow{
  font-size:10px;
  color:var(--muted);
  line-height:1.15;
  text-align:center;
  max-width:76px;
  word-break:break-word;
}
.pfEntityTypeBelow.cardType{
  font-size:11px;
  max-width:90px;
  line-height:1.2;
}
.pfCardTopRow{
  margin-top:4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pfCardTopRow .pfEntityTypeBelow.cardType{
  text-align:left;
  max-width:none;
}
.pfSmallActions.pfCardQuickActions{
  margin-top:0;
  gap:6px;
}
.pfTinyBtn.pfCardEditBtn{
  min-width:28px;
  padding:3px 7px;
  font-size:12px;
  line-height:1;
}
.pfEntityMain{
  min-width:0;
}
.pfEntityName{
  margin:0;
  color:var(--text);
  font-size:17px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:.01em;
  word-break:break-word;
}
.pfEntityName.accountName{
  overflow-wrap:anywhere;
  line-height:1.12;
}
.pfEntityInstitution{
  margin-top:3px;
  font-size:11px;
  color:var(--muted);
}
.pfEntityValueBlock{
  margin-top:4px;
  padding-top:4px;
  padding-bottom:0;
  border-top:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
}
.pfEntityValueBlock .pfSmallValue{
  margin-top:2px;
  font-size:20px;
  line-height:1;
}
.pfEntityLabel{
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pfEntityMetaLine{
  margin-top:0;
  font-size:10px;
  color:var(--muted);
  line-height:1.05;
}
.pfEntityMetaLine strong{
  color:var(--text);
  font-weight:640;
}
.pfCardMetaLine{
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
  line-height:1.3;
}
.pfCardMetaLine strong{
  color:var(--text);
  font-weight:650;
}
.pfAccountBottomRow{
  margin-top:1px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
}
.pfAccountValueRow{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
.pfAccountProfit{
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.pfAccountProfit.pos{color:#4ADE80;}
.pfAccountProfit.neg{color:#F87171;}
.pfAccountProfit.neu{color:rgba(154,164,178,.9);}
.pfAccountProfitArrow{
  font-size:10px;
  line-height:1;
  transform:translateY(-1px);
}
.pfAccountRightCol{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
}
.pfAccountMeta{
  font-size:10px;
  color:var(--muted);
  line-height:1.05;
  text-align:right;
  white-space:nowrap;
}
.pfAccountMeta strong{
  color:var(--text);
  font-weight:640;
}

/* Account card refinements (premium layout) */
.pfSmallCard.accountCard{
  border:1px solid rgba(255,255,255,.05);
  border-radius:13px;
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(251,191,36,.08), transparent 56%),
    linear-gradient(165deg,#1e252b 0%,#1b2127 100%);
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  padding:13px 13px 11px;
}
.pfSmallCard.accountCard .pfEntityHead{
  gap:10px;
  margin-bottom:4px;
}
.pfSmallCard.accountCard .pfAccountThumb{
  width:56px;
  height:56px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:#F4F6F8;
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.8),
    inset 0 -2px 6px rgba(15,23,42,.1),
    0 6px 14px rgba(0,0,0,.24);
  color:#d13b3b;
}
.pfSmallCard.accountCard .pfAccountThumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.pfSmallCard.accountCard .pfEntityName.accountName{
  font-size:14px;
  font-weight:610;
  letter-spacing:.005em;
  line-height:1.18;
}
.pfSmallCard.accountCard .pfEntityInstitution{
  margin-top:4px;
  font-size:10px;
  color:rgba(154,164,178,.8);
}
.pfSmallCard.accountCard .pfEntityValueBlock{
  margin-top:8px;
  padding-top:10px;
  padding-bottom:2px;
  border-top:none;
  position:relative;
}
.pfSmallCard.accountCard .pfEntityValueBlock::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.16),rgba(255,255,255,0));
}
.pfSmallCard.accountCard .pfEntityLabel{
  font-size:9px;
  color:rgba(154,164,178,.66);
  letter-spacing:.035em;
}
.pfSmallCard.accountCard .pfEntityValueBlock .pfSmallValue{
  margin-top:0;
  font-size:21px;
  font-weight:600;
  letter-spacing:.014em;
}
.pfSmallCard.accountCard .pfAccountValueRow{
  gap:6px;
}
.pfSmallCard.accountCard .pfEntityMetaLine{
  margin-top:6px;
  font-size:10px;
  color:rgba(154,164,178,.84);
}
.pfSmallCard.accountCard .pfEntityMetaLine strong{
  color:var(--text);
  font-weight:700;
}
.pfTinyBtn.accountEditBtn{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);
  color:rgba(230,234,240,.9);
  border-radius:999px;
  padding:3px 10px;
  font-size:10px;
  letter-spacing:.02em;
}
.pfTinyBtn.accountEditBtn::before{
  content:"\270E";
  margin-right:4px;
  font-size:10px;
  opacity:.85;
}
.pfTinyBtn.accountEditBtn:hover{
  border-color:rgba(251,191,36,.36);
  background:rgba(251,191,36,.08);
  color:var(--text);
}
.pfAccountActions{
  display:flex;
  align-items:center;
  gap:6px;
}
.pfAccountContractLink{
  width:20px;
  height:20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
  color:rgba(230,234,240,.86);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:11px;
  line-height:1;
}
.pfAccountContractLink:hover{
  border-color:rgba(251,191,36,.36);
  background:rgba(251,191,36,.08);
  color:var(--text);
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard{
  border-radius:10px;
  padding:9px 10px 8px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityHead{
  gap:8px;
  margin-bottom:2px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfAccountThumb{
  width:42px;
  height:42px;
  border-radius:10px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityName.accountName{
  font-size:12px;
  line-height:1.15;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityInstitution{
  margin-top:2px;
  font-size:9px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityValueBlock{
  margin-top:6px;
  padding-top:7px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityLabel{
  font-size:8px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityValueBlock .pfSmallValue{
  font-size:17px;
  letter-spacing:.01em;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfAccountProfit{
  font-size:10px;
}
#pfw-cdb-accounts-list .pfSmallCard.accountCard .pfEntityMetaLine{
  margin-top:4px;
  font-size:9px;
}
#pfw-cdb-accounts-list .pfTinyBtn.accountEditBtn{
  padding:2px 8px;
  font-size:9px;
}
.miniPlusBtn{
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid color-mix(in srgb, var(--accent) 28%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.miniPlusBtn:hover{
  color:var(--text);
  border-color:color-mix(in srgb, var(--accent2) 48%, var(--stroke2));
}
.invSectionHeadActions{
  display:flex;
  align-items:center;
  gap:8px;
}
.invSectionUpdated{
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
}
.invManualWrap{margin-bottom:14px;}
.invManualHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.invManualTitle{
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:620;
}
.invManualGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}
#inv-assets-acoes-list.invManualGrid{
  grid-template-columns:repeat(auto-fill,minmax(210px,250px));
  justify-content:flex-start;
  gap:8px;
}
#inv-assets-cdb-list.invManualGrid{
  grid-template-columns:repeat(auto-fill,minmax(210px,250px));
  justify-content:flex-start;
  gap:8px;
}
.invManualCard{
  position:relative;
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:12px;
  padding:12px 12px 11px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}
.invManualCard h4{
  margin:0;
  padding-right:28px;
  font-size:14px;
  color:var(--text);
  font-weight:650;
}
.invManualTicker{
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
}
.invManualRows{
  margin-top:8px;
  display:grid;
  gap:4px;
}
.invManualRows div{
  font-size:12px;
  color:var(--muted);
}
.invManualRows strong{
  color:var(--text);
  font-weight:620;
}
.invManualRows strong.pos{color:#4ADE80;}
.invManualRows strong.neg{color:#F87171;}
.invManualContract{
  margin-top:6px;
  font-size:10.5px;
}
.invManualContract a{
  color:#93c5fd;
  text-decoration:none;
  border-bottom:1px dashed rgba(147,197,253,.45);
}
.invManualContract a:hover{
  color:#bfdbfe;
  border-bottom-color:rgba(191,219,254,.75);
}
.invManualContract .invContractArrowLink{
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(147,197,253,.45);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:10px;
  border-bottom:none;
}
.invManualContract .invContractArrowLink:hover{
  border-color:rgba(191,219,254,.8);
  border-bottom:none;
}
.invCardEditBtn{
  position:absolute;
  top:9px;
  right:9px;
  width:24px;
  height:24px;
  border-radius:7px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--muted);
  display:grid;
  place-items:center;
  font-size:13px;
  cursor:pointer;
  opacity:0;
  transform:translateY(-2px);
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease, color .15s ease, border-color .15s ease;
}
.invManualCard:hover .invCardEditBtn,
.invManualCard:focus-within .invCardEditBtn{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.invCardEditBtn:hover{
  color:var(--text);
  border-color:color-mix(in srgb, var(--accent2) 45%, var(--stroke2));
}
.invManualCard.invManualCardCompact{
  border-radius:10px;
  padding:9px 10px 8px;
}
.invManualCard.invManualCardCompact h4{
  font-size:13px;
  line-height:1.2;
  padding-right:84px;
}
.invManualCard.invManualCardCompact .invManualTicker{
  margin-top:1px;
  font-size:10px;
}
.invManualCard.invManualCardCompact .invCardEditBtn{
  top:6px;
  right:6px;
  width:22px;
  height:22px;
  border-radius:6px;
  font-size:12px;
  opacity:.92;
  transform:none;
  pointer-events:auto;
}
.invManualCard.invManualCardCompact .invManualRows{
  margin-top:6px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 10px;
}
.invManualCard.invManualCardCompact .invManualRows div{
  font-size:11px;
  line-height:1.25;
  min-width:0;
}
.invManualCard.invManualCardCompact .invManualRows strong{
  font-weight:600;
}
.invManualCard.invManualCardCompact .invManualMeta{
  margin-top:5px;
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.invManualCard.invManualCardCompact .invManualContract{
  margin-top:4px;
  font-size:10px;
}
#inv-assets-cdb-list .invManualCard{
  border-radius:10px;
  padding:9px 10px 8px;
}
#inv-assets-cdb-list .invManualCard h4{
  font-size:13px;
  line-height:1.2;
  padding-right:24px;
}
#inv-assets-cdb-list .invManualTicker{
  margin-top:1px;
  font-size:10px;
}
#inv-assets-cdb-list .invManualRows{
  margin-top:6px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 8px;
}
#inv-assets-cdb-list .invManualRows div{
  font-size:11px;
  line-height:1.25;
  min-width:0;
}
#inv-assets-cdb-list .invManualRows strong{
  font-weight:600;
}
#inv-assets-cdb-list .invManualRows > div:last-child{
  grid-column:1 / -1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#inv-assets-cdb-list .invCardEditBtn{
  top:6px;
  right:6px;
  width:22px;
  height:22px;
  border-radius:6px;
  font-size:12px;
}
.invQuoteBadge{
  position:absolute;
  top:8px;
  right:34px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em;
  border:1px solid rgba(255,255,255,.16);
  color:var(--muted);
  background:rgba(255,255,255,.03);
}
.invQuoteBadge.ok{
  color:#9af0c7;
  border-color:rgba(58,168,135,.52);
  background:rgba(58,168,135,.12);
}
.invQuoteBadge.off{
  color:#d3c8a7;
  border-color:rgba(173,145,91,.42);
  background:rgba(173,145,91,.10);
}
@media (max-width:680px){
  #pfw-cdb-accounts-list{
    grid-template-columns:1fr;
  }
  #inv-assets-acoes-list.invManualGrid{
    grid-template-columns:1fr;
  }
  #inv-assets-cdb-list.invManualGrid{
    grid-template-columns:1fr;
  }
  .invManualCard.invManualCardCompact .invManualRows{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 8px;
  }
}

/* =========================
   INVESTIMENTOS — NOVO LAYOUT (DARK)
   ========================= */
#pf-investimentos{
  --inv-section-lead-col: 390px;
  gap:10px;
}
#pf-investimentos.active{
  display:grid;
}
#pf-investimentos .invDashShell{
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:
    radial-gradient(130% 140% at 0% 0%, rgba(56,189,248,.08), transparent 58%),
    radial-gradient(120% 180% at 100% 0%, rgba(34,197,94,.08), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow:0 12px 24px rgba(0,0,0,.24);
  display:grid;
  grid-template-columns:minmax(198px,244px) minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
#pf-investimentos .invDashKpiGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
}
#pf-investimentos .invDashKpiCard{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(7,12,18,.8), rgba(7,12,18,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  padding:9px 10px;
  display:grid;
  grid-template-rows:auto minmax(30px,1fr) auto;
  gap:6px;
  min-height:90px;
  align-items:stretch;
}
#pf-investimentos .invDashKpiCard > *{
  margin:0;
}
#pf-investimentos .invDashKpiTop,
#pf-investimentos .invDashKpiMain,
#pf-investimentos .invDashKpiBottom{
  width:100%;
  min-width:0;
}
#pf-investimentos .invDashKpiTop{
  display:flex;
  align-items:flex-start;
}
#pf-investimentos .invDashKpiMain{
  display:flex;
  align-items:center;
  justify-content:center;
}
#pf-investimentos .invDashKpiBottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.08);
}
#pf-investimentos .invDashKpiBottomNote{
  justify-content:center;
}
#pf-investimentos .invDashKpiBottomSplit{
  flex-direction:column;
  align-items:stretch;
  gap:6px;
}
#pf-investimentos .invDashKpiMetaMini{
  width:100%;
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
#pf-investimentos .invDashKpiBottomSplit .invDashKpiMetaMini{
  width:100%;
  flex:0 0 auto;
}
#pf-investimentos .invDashKpiBottomSplit .invDashKpiMetaMini + .invDashKpiMetaMini{
  padding-left:0;
  border-left:none;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.08);
}
#pf-investimentos .invDashKpiTitle{
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(173,188,209,.78);
  line-height:1.2;
}
#pf-investimentos .invDashKpiValue{
  margin:0;
  font-size:clamp(18px,1.25vw,22px);
  line-height:1.1;
  font-weight:730;
  color:#f8fcff;
  min-height:24px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
#pf-investimentos .invDashKpiSub{
  font-size:9.5px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(186,200,220,.76);
  line-height:1.2;
  text-align:center;
}
#pf-investimentos .invDashKpiMetaLabel{
  font-size:9.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(174,190,212,.74);
}
#pf-investimentos .invDashKpiMetaValue{
  font-size:clamp(12px,1vw,15px);
  font-weight:690;
  color:#eef6ff;
  white-space:nowrap;
}
#pf-investimentos .invDashKpiDual{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
#pf-investimentos .invDashKpiDual > div{
  display:grid;
  gap:2px;
  justify-items:center;
  align-content:center;
}
#pf-investimentos .invDashKpiDual > div + div{
  border-left:1px solid rgba(255,255,255,.12);
}
#pf-investimentos .invDashKpiDual span{
  display:block;
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(184,197,216,.76);
  margin-bottom:0;
  text-align:center;
}
#pf-investimentos .invDashKpiDual strong{
  display:block;
  font-size:clamp(15.5px,1.12vw,19px);
  line-height:1.08;
  color:#e7f9ef;
  text-align:center;
}
#pf-investimentos .invDashKpiCardVar{
  min-height:90px;
}
#pf-investimentos .invDashKpiCard .pos{color:#4ADE80;}
#pf-investimentos .invDashKpiCard .neg{color:#F87171;}
#pf-investimentos .invDashKpiCard .neu{color:#9AA4B2;}
#pf-investimentos .invDashPanels{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  min-width:0;
}
#pf-investimentos .invDashPanel{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:
    radial-gradient(120% 220% at 0% -35%, rgba(56,189,248,.08), transparent 52%),
    linear-gradient(180deg, rgba(7,12,18,.9), rgba(7,12,18,.62));
  padding:12px;
  min-height:380px;
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
#pf-investimentos .invDashEvolutionPanel{
  box-shadow:0 12px 26px rgba(0,0,0,.3);
}
#pf-investimentos .invDashPanelHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
#pf-investimentos .invDashPanelHead h3{
  margin:0;
  font-size:18px;
  letter-spacing:.01em;
  color:#f3f8ff;
}
#pf-investimentos .invDashPanelControls{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  flex-wrap:wrap;
  flex:0 0 100%;
  width:100%;
  min-width:0;
  overflow:visible;
}
#pf-investimentos .invDashPeriodGroup{
  display:flex;
  align-items:center;
  gap:4px;
  padding:3px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  flex:0 0 auto;
  min-width:0;
  flex-wrap:nowrap;
  white-space:nowrap;
  max-width:100%;
}
#pf-investimentos .invDashPeriodBtn{
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:rgba(190,203,219,.9);
  padding:0 8px;
  min-height:30px;
  font-size:11px;
  font-weight:660;
  cursor:pointer;
  transition:.16s ease;
  flex:0 0 auto;
}
#pf-investimentos .invDashPeriodBtn:hover{
  color:#f8fcff;
  background:rgba(255,255,255,.08);
}
#pf-investimentos .invDashPeriodBtn.active{
  border-color:rgba(34,197,94,.52);
  background:linear-gradient(180deg, rgba(34,197,94,.28), rgba(22,163,74,.22));
  color:#eafff2;
}
#pf-investimentos .invDashSelect{
  border:1px solid rgba(255,255,255,.16);
  background:#0f1724;
  color:#f1f6ff;
  border-radius:9px;
  padding:0 11px;
  min-height:30px;
  font-size:11px;
  flex:1 1 166px;
  width:auto;
  min-width:148px;
  max-width:172px;
  outline:none;
}
#pf-investimentos .invDashSelect:focus{
  border-color:rgba(34,197,94,.52);
}
#pf-investimentos .invDashRefreshBtn{
  border:1px solid rgba(56,189,248,.45);
  background:rgba(56,189,248,.12);
  color:#bdeeff;
  border-radius:10px;
  padding:0 16px;
  min-height:40px;
  font-size:13px;
  font-weight:680;
  cursor:pointer;
  transition:.16s ease;
}
#pf-investimentos .invDashRefreshBtn:hover{
  background:rgba(56,189,248,.2);
  border-color:rgba(56,189,248,.62);
}
#pf-investimentos .invDashLegendLine{
  margin:10px 0 0;
  display:flex;
  align-items:center;
  gap:14px;
  color:rgba(194,207,224,.88);
  font-size:12px;
}
#pf-investimentos .invDashLegendLine span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#pf-investimentos .invDashDot{
  width:11px;
  height:11px;
  border-radius:3px;
  display:inline-block;
}
#pf-investimentos .invDashDot.applied{background:#00d26a;}
#pf-investimentos .invDashDot.gain{background:#7ee2a7;}
#pf-investimentos .invDashDot.loss{background:#f87171;}
#pf-investimentos .invDashDot.total{background:#60a5fa;}
#pf-investimentos .invDashInsights{
  margin-top:9px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
#pf-investimentos .invDashInsight{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.025);
  border-radius:9px;
  padding:10px 11px;
  display:grid;
  gap:4px;
}
#pf-investimentos .invDashInsight span{
  font-size:10px;
  line-height:1.1;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(178,193,214,.8);
}
#pf-investimentos .invDashInsight strong{
  font-size:15px;
  color:#eaf1ff;
  line-height:1.1;
}
#pf-investimentos .invDashInsight strong.pos{color:#4ADE80;}
#pf-investimentos .invDashInsight strong.neg{color:#F87171;}
#pf-investimentos .invDashInsight strong.neu{color:#9AA4B2;}
#pf-investimentos #inv-dash-evolution-chart{
  display:block;
  width:100%;
  max-width:100%;
  overflow:hidden;
  min-height:310px;
  margin-top:8px;
  border-radius:12px;
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(34,197,94,.07), transparent 58%),
    linear-gradient(180deg, rgba(3,7,12,.72), rgba(7,12,18,.34));
  border:1px solid rgba(255,255,255,.08);
}
#pf-investimentos .invDashChartEmpty{
  display:none;
  align-self:center;
  justify-self:center;
  text-align:center;
  color:rgba(169,182,203,.86);
  font-size:12px;
  padding:20px;
}
#pf-investimentos .invDashChartEmpty.show{display:block;}
#pf-investimentos .invDashAllocationBody{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr);
  gap:14px;
  align-items:center;
  min-height:280px;
}
#pf-investimentos .invDashDonut{
  width:250px;
  height:250px;
  margin:0 auto;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  background:conic-gradient(#334155 0 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
#pf-investimentos .invDashDonut::after{
  content:"";
  position:absolute;
  inset:56px;
  border-radius:50%;
  background:#0b111b;
  border:1px solid rgba(255,255,255,.08);
}
#pf-investimentos .invDashDonutCenter{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:4px;
  z-index:1;
  pointer-events:none;
}
#pf-investimentos .invDashDonutCenter span{
  font-size:12px;
  color:rgba(176,190,212,.84);
  letter-spacing:.04em;
  text-transform:uppercase;
}
#pf-investimentos .invDashDonutCenter strong{
  font-size:18px;
  color:#f3f8ff;
}
#pf-investimentos .invDashAllocationLegend{
  display:grid;
  gap:8px;
  align-self:stretch;
  overflow:auto;
  padding-right:4px;
}
#pf-investimentos .invDashAllocRow{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
#pf-investimentos .invDashAllocSwatch{
  width:11px;
  height:11px;
  border-radius:3px;
}
#pf-investimentos .invDashAllocName{
  color:#f3f8ff;
  font-size:13px;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-investimentos .invDashAllocPct{
  color:#bfd6ff;
  font-size:13px;
  font-weight:650;
}
#pf-investimentos .invDashAllocValue{
  color:rgba(190,203,219,.9);
  font-size:13px;
}
#pf-investimentos .invDashEmptyLegend{
  color:rgba(169,182,203,.86);
  font-size:13px;
  padding:8px 2px;
}
#pf-investimentos .invDashAxisLabel{
  fill:rgba(206,220,241,.94);
  font-size:10px;
  font-weight:520;
}
#pf-investimentos .invDashAxisMoney{
  fill:rgba(164,181,207,.92);
  font-size:10px;
}
#pf-investimentos .invDashGridLine{
  stroke:rgba(255,255,255,.08);
  stroke-width:1;
}
#pf-investimentos .invDashBarApplied{
  fill:#00d26a;
}
#pf-investimentos .invDashBarGain{
  fill:#7ee2a7;
}
#pf-investimentos .invDashBarGainNeg{
  fill:#f87171;
}
#pf-investimentos .invDashLineApplied{
  fill:none;
  stroke:#00d26a;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#pf-investimentos .invDashLineSecondary{
  fill:none;
  stroke:#60a5fa;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#pf-investimentos .invDashLineArea{
  fill:url(#invDashAreaGradient);
  stroke:none;
}
#pf-investimentos .invDashPointApplied{
  fill:#00d26a;
  stroke:rgba(6,10,15,.85);
  stroke-width:1.4;
}
#pf-investimentos .invDashPointSecondary{
  fill:#60a5fa;
  stroke:rgba(6,10,15,.85);
  stroke-width:1.4;
}
#pf-investimentos .invDashBaseLine{
  stroke:rgba(255,255,255,.17);
  stroke-width:1.1;
}
#pf-investimentos .invDashHoverBand{
  fill:transparent;
  cursor:default;
}
#pf-investimentos .invDashHoverBand:hover{
  fill:rgba(96,165,250,.07);
}
#inv-dash-tooltip{
  position:fixed;
  top:0;
  left:0;
  z-index:2147483200;
  pointer-events:none;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .12s ease, transform .12s ease;
  min-width:160px;
  max-width:220px;
  padding:8px 10px 9px;
  border-radius:10px;
  border:1px solid rgba(147,165,190,.34);
  background:linear-gradient(180deg, rgba(10,15,24,.98), rgba(7,11,18,.96));
  box-shadow:0 14px 28px rgba(0,0,0,.42);
}
#inv-dash-tooltip.visible{
  opacity:1;
  transform:translateY(0);
}
#inv-dash-tooltip .invDashTipLabel{
  display:block;
  font-size:10px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:rgba(176,191,214,.9);
}
#inv-dash-tooltip .invDashTipValue{
  display:block;
  margin-top:3px;
  font-size:15px;
  line-height:1.15;
  font-weight:740;
  color:#f3f8ff;
}
#pf-investimentos .section.collapsible{
  border:1px solid transparent !important;
  border-radius:0;
  overflow:visible;
  background:transparent !important;
  box-shadow:none !important;
}
#pf-investimentos .section.collapsible.open{
  border-color:transparent !important;
}
#pf-investimentos .section.collapsible:hover{
  border-color:transparent !important;
  box-shadow:none !important;
}
#pf-investimentos .section.collapsible .sectionHead{
  display:grid;
  grid-template-columns:minmax(300px,var(--inv-section-lead-col)) minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 15px;
  margin:0;
  border:1px solid rgba(98,116,140,.28);
  border-radius:14px;
  background:linear-gradient(90deg, rgba(12,18,28,.9), rgba(10,16,25,.82));
}
#pf-investimentos .section.collapsible.open .sectionHead{
  border-bottom:1px solid rgba(98,116,140,.28);
  border-bottom-left-radius:14px;
  border-bottom-right-radius:14px;
}
#pf-investimentos .section.collapsible .sectionBody{
  padding-top:0;
}
#pf-investimentos .section.collapsible.open .sectionBody{
  max-height:14000px;
  padding-top:0;
  min-height:160px;
}
#pf-investimentos .invSectionLead{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
#pf-investimentos .invSectionText{
  min-width:0;
  display:grid;
  gap:3px;
}
#pf-investimentos .invSectionBadge{
  width:40px;
  height:40px;
  border:none;
  background:transparent;
  color:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:visible;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));
}
#pf-investimentos .invSectionBadgeIcon{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#pf-investimentos .invSectionBadgeIcon svg{
  width:36px;
  height:36px;
  display:block;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
#pf-investimentos .invSectionBadge.hasImage{
  background:transparent;
  border:none;
}
#pf-investimentos .invSectionBadge img{
  width:36px;
  height:36px;
  object-fit:contain;
  display:block;
}
#pf-investimentos .sectionHead h2{
  margin:0;
  font-size:18px;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-left:none;
  padding-left:0;
}
#pf-investimentos .invSectionDesc{
  margin:0;
  font-size:11px;
  line-height:1.3;
  color:rgba(180,194,213,.82);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-investimentos .invSectionSummary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  width:100%;
  justify-items:start;
}
#pf-investimentos .invSummaryMetric{
  display:grid;
  gap:4px;
  min-width:0;
  align-content:start;
}
#pf-investimentos .invSummaryMetric span{
  font-size:10px;
  line-height:1;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(192,203,219,.74);
  white-space:nowrap;
}
#pf-investimentos .invSummaryMetric strong{
  font-size:15px;
  line-height:1.15;
  font-weight:700;
  color:#f3f8ff;
  white-space:nowrap;
}
#pf-investimentos .invSummaryMetric strong.pos{color:#4ADE80;}
#pf-investimentos .invSummaryMetric strong.neg{color:#F87171;}
#pf-investimentos .invSummaryMetric strong.neu{color:#9AA4B2;}
#pf-investimentos .invSectionHeadActions{
  gap:8px;
  align-items:center;
}
#pf-investimentos .invSectionEditBtn{
  width:28px;
  height:28px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.02);
  color:rgba(210,221,236,.78);
  display:grid;
  place-items:center;
  font-size:12px;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
#pf-investimentos .section.collapsible .sectionHead:hover .invSectionEditBtn,
#pf-investimentos .section.collapsible .sectionHead:focus-within .invSectionEditBtn{
  opacity:.72;
  pointer-events:auto;
}
#pf-investimentos .invSectionEditBtn:hover{
  opacity:1;
  border-color:rgba(251,191,36,.44);
  background:rgba(251,191,36,.12);
  color:#fff4d9;
}
#pf-investimentos .invSectionHeadActions .miniPlusBtn{
  width:30px;
  height:30px;
  border-radius:10px;
}
#pf-investimentos .invSectionHeadActions .collapseToggle{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
  display:grid;
  place-items:center;
}
#pf-investimentos .invManualWrap{
  margin:0;
}
#pf-investimentos .invManualHead{
  display:none;
}
#pf-investimentos .invManualGrid{
  display:block;
}
#pf-investimentos .invTableWrap{
  border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(8,12,18,.74), rgba(8,12,18,.46));
  max-height:430px;
  overflow-x:auto;
  overflow-y:scroll;
  scrollbar-width:thin;
  scrollbar-color:rgba(251,191,36,.5) rgba(7,10,14,.92);
}
#pf-investimentos .invTableWrap::-webkit-scrollbar{
  width:10px;
  height:10px;
}
#pf-investimentos .invTableWrap::-webkit-scrollbar-track{
  background:rgba(7,10,14,.92);
  border-left:1px solid rgba(255,255,255,.06);
}
#pf-investimentos .invTableWrap::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(251,191,36,.62),rgba(245,158,11,.52));
  border-radius:999px;
  border:2px solid rgba(7,10,14,.92);
}
#pf-investimentos .invTableWrap::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(251,191,36,.82),rgba(245,158,11,.7));
}
#pf-investimentos .invDataTable{
  width:100%;
  border-collapse:collapse;
}
#pf-investimentos .invDataTable thead th{
  text-align:left;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(185,198,216,.78);
  font-weight:700;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  position:sticky;
  top:0;
  z-index:2;
}
#pf-investimentos .invDataTable tbody td{
  font-size:13px;
  color:#e8edf5;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
  vertical-align:middle;
}
#pf-investimentos .invDataTable tbody tr{
  min-height:62px;
}
#pf-investimentos .invDataTable tbody tr:nth-child(odd){
  background:rgba(255,255,255,.015);
}
#pf-investimentos .invDataTable tbody tr:hover{
  background:rgba(255,255,255,.035);
}
#pf-investimentos .invAssetCell{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#pf-investimentos .invAssetLogo{
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#dce5f3;
  display:grid;
  place-items:center;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  flex-shrink:0;
  overflow:hidden;
}
#pf-investimentos .invAssetLogo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#pf-investimentos .invAssetMain{
  min-width:0;
}
#pf-investimentos .invAssetName{
  font-size:14px;
  color:#f5f9ff;
  font-weight:670;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-investimentos .invAssetMeta{
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#pf-investimentos .invMoneyCol{
  white-space:nowrap;
  color:#f6fbff;
  font-weight:700;
}
#pf-investimentos .invQtyCol{
  white-space:nowrap;
  color:#dce6f4;
}
#pf-investimentos .invVarPill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  padding:2px 8px;
  font-size:11px;
  font-weight:720;
  letter-spacing:.01em;
  white-space:nowrap;
}
#pf-investimentos .invVarPill.pos{
  color:#4ADE80;
  border-color:rgba(74,222,128,.42);
  background:rgba(74,222,128,.11);
}
#pf-investimentos .invVarPill.neg{
  color:#F87171;
  border-color:rgba(248,113,113,.42);
  background:rgba(248,113,113,.11);
}
#pf-investimentos .invVarPill.neu{
  color:#cfd8e6;
}
#pf-investimentos .invRowAction{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.03);
  color:rgba(230,236,245,.88);
  min-width:32px;
  height:32px;
  border-radius:9px;
  padding:0 8px;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
#pf-investimentos .invRowActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
#pf-investimentos .invRowAction.link{
  display:grid;
  place-items:center;
  text-decoration:none;
}
#pf-investimentos .invRowAction:hover{
  border-color:rgba(251,191,36,.42);
  background:rgba(251,191,36,.12);
  color:#fff4d9;
}
#pf-investimentos .invSectionFooter{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding:10px 14px 12px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.015);
}
#pf-investimentos .invFooterBtn{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.03);
  color:#e5edf9;
  border-radius:10px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:620;
  cursor:pointer;
}
#pf-investimentos .invFooterBtn[disabled]{
  opacity:.62;
  cursor:default;
}
#pf-investimentos .invFooterBtn:hover{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.07);
}
#pf-investimentos .invFooterBtn.primary{
  border-color:rgba(251,191,36,.44);
  background:linear-gradient(180deg,rgba(251,191,36,.25),rgba(245,158,11,.15));
  color:#fff7e6;
}
#pf-investimentos .invTableEmpty{
  padding:18px 14px;
  font-size:13px;
  color:var(--muted);
}
#pf-investimentos #pfw-cdb-accounts-list,
#pf-investimentos #pfw-previdencia-accounts-list,
#pf-investimentos #stocks-scroll-wrap{
  display:none !important;
}
@media (max-width:1320px){
  #pf-investimentos .invDashShell{
    grid-template-columns:minmax(208px,248px) minmax(0,1fr);
  }
}
@media (max-width:1200px){
  #pf-investimentos .invDashShell{
    grid-template-columns:1fr;
  }
  #pf-investimentos .invDashKpiGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #pf-investimentos .invDashKpiCard,
  #pf-investimentos .invDashKpiCardVar{
    min-height:104px;
  }
  #pf-investimentos .invDashPanel{
    min-height:360px;
  }
  #pf-investimentos .section.collapsible .sectionHead{
    grid-template-columns:minmax(200px,1fr);
    gap:10px;
  }
  #pf-investimentos .invSectionSummary{
    grid-template-columns:repeat(5,minmax(90px,1fr));
    gap:11px;
  }
  #pf-investimentos .invSectionHeadActions{
    justify-content:flex-end;
  }
}
@media (max-width:860px){
  #pf-investimentos .invDashKpiGrid{
    grid-template-columns:1fr;
  }
  #pf-investimentos .invDashKpiCard,
  #pf-investimentos .invDashKpiCardVar{
    min-height:100px;
  }
  #pf-investimentos .invDashPanelHead{
    align-items:flex-start;
    flex-direction:column;
  }
  #pf-investimentos .invDashPanelControls{
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  #pf-investimentos .invDashInsights{
    grid-template-columns:1fr;
  }
  #pf-investimentos .invDashPeriodGroup{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  #pf-investimentos .invDashPeriodBtn{
    flex:0 0 auto;
  }
  #pf-investimentos .invDashSelect{
    width:100%;
    min-width:0;
  }
  #pf-investimentos .invDashRefreshBtn{
    width:100%;
  }
  #pf-investimentos #inv-dash-evolution-chart{
    min-height:280px;
  }
  #pf-investimentos .invSectionSummary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:8px;
  }
  #pf-investimentos .invDataTable{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
  #pf-investimentos .invSectionFooter{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
.invModalDynRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:end;
}
.invCalcHint{
  font-size:11px;
  color:var(--muted);
}
.invCalcHint strong{
  color:var(--text);
  font-weight:620;
}
.invCalcHint strong.pos{color:#4ADE80;}
.invCalcHint strong.neg{color:#F87171;}
.invLotsWrap{
  border:1px solid color-mix(in srgb, var(--accent) 16%, var(--stroke));
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,.02);
}
.invLotsHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.invLotsHead strong{
  font-size:12px;
  color:var(--text);
  letter-spacing:.02em;
}
.invLotsHead span{
  font-size:11px;
  color:var(--muted);
}
.invLotList{
  display:grid;
  gap:8px;
}
.invLotRow{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:8px;
  align-items:end;
}
.invLotRow.amount{
  grid-template-columns:1fr 1fr auto;
}
.invLotField{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.invLotField label{
  font-size:10px;
  color:var(--muted);
}
.invLotDel{
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid color-mix(in srgb, #ef4444 44%, var(--stroke));
  background:rgba(239,68,68,.08);
  color:#fca5a5;
  cursor:pointer;
}
.invLotDel:hover{
  color:#fee2e2;
  border-color:color-mix(in srgb, #f87171 62%, var(--stroke2));
}
@media (max-width:680px){
  .invLotRow,
  .invLotRow.amount{
    grid-template-columns:1fr;
  }
  .invLotDel{
    justify-self:end;
  }
}
.finField textarea{
  min-height:82px;
  resize:vertical;
}
.finField input:focus,
.finField select:focus,
.finField textarea:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--accent2) 56%, var(--stroke2));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}
.finHint{
  font-size:11px;
  color:var(--muted);
}
.finModalErr{
  grid-column:1 / -1;
  font-size:12px;
  color:#fca5a5;
  border:1px solid color-mix(in srgb, #ef4444 36%, var(--stroke));
  background:rgba(239,68,68,.1);
  border-radius:10px;
  padding:8px 10px;
  display:none;
}
.finModalActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px 16px;
  border-top:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(14,17,24,.96), rgba(14,17,24,.99));
}
#pf-scope-choice-modal{
  padding:16px;
}
#pf-scope-choice-modal.open{
  display:grid;
  place-items:center;
}
#pf-scope-choice-modal .finModalCard{
  max-width:520px;
  width:min(520px, calc(100vw - 26px));
  margin:0;
  max-height:calc(100vh - 34px);
  border-radius:20px;
  border:1px solid color-mix(in srgb, var(--accent2) 30%, var(--stroke2)) !important;
  background:linear-gradient(180deg, rgba(13,18,25,.99), rgba(9,13,19,.99)) !important;
  box-shadow:0 26px 66px rgba(0,0,0,.62) !important;
}
#pf-scope-choice-modal .finModalHead{
  padding:18px 20px 8px;
  border-bottom:none;
}
#pf-scope-choice-modal .finModalTitle{
  font-size:20px;
  font-weight:720;
  letter-spacing:.01em;
}
#pf-scope-choice-modal .finClose{
  width:34px;
  height:34px;
  border-radius:12px;
  border-color:color-mix(in srgb, var(--accent2) 34%, var(--stroke2));
  color:var(--text);
  background:rgba(255,255,255,.03);
}
#pf-scope-choice-modal .finModalBody{
  padding:0 20px 6px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:visible;
}
.pfScopeChoiceText{
  margin:0;
  color:color-mix(in srgb, var(--text) 74%, var(--muted));
  font-size:14px;
  line-height:1.5;
  border:1px solid color-mix(in srgb, var(--accent2) 18%, var(--stroke));
  border-radius:12px;
  background:rgba(255,255,255,.02);
  padding:11px 13px;
}
.pfScopeChoiceGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
#pf-scope-choice-modal .pfScopeChoiceBtn{
  width:100%;
  min-height:48px;
  justify-content:flex-start;
  text-align:left;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--accent2) 30%, var(--stroke2)) !important;
  background:linear-gradient(180deg, rgba(15,23,33,.9), rgba(12,19,27,.95)) !important;
  color:var(--text) !important;
  font-size:15px;
  font-weight:650;
  padding:0 14px;
  box-shadow:none !important;
}
#pf-scope-choice-modal .pfScopeChoiceBtn:hover{
  border-color:color-mix(in srgb, var(--accent2) 46%, var(--stroke2)) !important;
  background:linear-gradient(180deg, rgba(20,29,41,.95), rgba(14,22,31,.97)) !important;
  transform:translateY(-1px);
}
#pf-scope-choice-modal .pfScopeChoiceBtn:active{
  transform:translateY(0);
}
#pf-scope-choice-modal .finModalActions{
  padding:8px 20px 20px;
  border-top:none;
  background:transparent;
}
#pf-scope-choice-modal .finModalActions .workspaceAction{
  min-height:38px;
  border-radius:10px;
  padding:0 14px;
}
body.modal-open{
  overflow:hidden;
}
@media (max-width:680px){
  #pf-scope-choice-modal{
    padding:10px;
  }
  #pf-scope-choice-modal .finModalCard{
    width:min(100%, 520px);
    border-radius:16px;
  }
  #pf-scope-choice-modal .finModalHead{
    padding:16px 14px 8px;
  }
  #pf-scope-choice-modal .finModalBody{
    padding:0 14px 4px;
  }
  #pf-scope-choice-modal .finModalActions{
    padding:8px 14px 14px;
  }
  .finModalBody{grid-template-columns:1fr;}
  .finModal#pf-card-modal #pfw-card-closing-day-wrap,
  .finModal#pf-card-modal #pfw-card-closing-offset-wrap,
  .finModal#pf-card-modal #pfw-card-due-day-wrap,
  .finModal#pf-card-modal #pfw-card-due-offset-wrap,
  .finModal#pf-card-modal #pfw-card-due-business-wrap{
    grid-column:1 / -1;
  }
  .finTxRepeatRow{grid-template-columns:1fr;}
  #pf-tx-modal .finTxOptionRow{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:none;
    gap:8px;
  }
  #pf-tx-modal .finTxOptionRow .workspaceAction{
    width:100%;
    min-width:0;
  }
  .pfMiniBarRow{grid-template-columns:52px 1fr;}
  .pfMiniBarValue{grid-column:1 / -1;justify-self:end;}
  .pfQuickHero{grid-template-columns:1fr;}
  .pfQuickGrid{grid-template-columns:1fr;}
  .pfTopExpensesWrap{grid-template-columns:1fr;}
  .pfDonut.big{width:180px;height:180px;}
  #pf-visao-geral .pfQuickHero{padding:12px;}
  #pf-visao-geral .pfQuickActionsBox{
    min-height:0;
    padding:12px;
    gap:10px;
  }
  #pf-visao-geral .pfQuickGreeting{font-size:20px;}
  #pf-visao-geral .pfQuickCard .v{font-size:21px;}
  #pf-visao-geral .wsKpiVal{font-size:22px;}
  #pf-visao-geral .pfWidgetHead{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  #pf-visao-geral .pfTopExpensesWrap{grid-template-columns:1fr;}
}

/* ── AÇÕES — SCROLL HORIZONTAL ── */
#stocks-scroll-wrap{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
#stocks-scroll-wrap .stockCard{
  flex:0 0 280px;
  min-width:260px;
  scroll-snap-align:start;
}
/* hide scrollbar but keep functionality */
#stocks-scroll-wrap::-webkit-scrollbar{height:4px;}
#stocks-scroll-wrap::-webkit-scrollbar-track{background:transparent;}
#stocks-scroll-wrap::-webkit-scrollbar-thumb{background:var(--stroke2);border-radius:2px;}

/* ── PAINEL DE STATUS ── */
#status-panel.section{margin-top:14px;}
.statusGrid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px;
  margin-top:8px;
}
@media(max-width:900px){
  .statusGrid{ grid-template-columns:repeat(2, 1fr); }
}
@media(max-width:540px){
  .statusGrid{ grid-template-columns:1fr; }
}
.statusCard{
  padding:8px 12px;
  border-radius:var(--radius2);
  background:var(--card);
  border:1px solid var(--stroke);
}
.statusCard h3{
  margin:0 0 8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  font-weight:700;
}
.statusRow{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  padding:2px 0;
  color:var(--text);
}
.statusDot{
  display:inline-block;
  width:8px;height:8px;
  border-radius:50%;
  margin-right:5px;
}
.statusDot.ok{background:#4ADE80;}
.statusDot.err{background:#F87171;}
.statusDot.warn{background:#FBBF24;}
.statusErr{
  font-size:11px;
  color:#F87171;
  margin-top:6px;
  word-break:break-all;
  line-height:1.4;
}

/* ── MEUS ATIVOS — placeholder subseções ── */
.assetPlaceholder{
  padding:14px 16px;
  border-radius:var(--radius2);
  border:1px dashed var(--stroke);
  color:var(--muted);
  font-size:13px;
  text-align:center;
}

/* ── NOTÍCIAS — melhorias ── */
.newsItem{position:relative;}
.newsActions{
  display:flex;
  gap:6px;
  margin-top:5px;
}
.newsActionBtn{
  font-size:11px;
  padding:2px 8px;
  border-radius:6px;
  border:1px solid var(--stroke);
  background:none;
  color:var(--muted);
  cursor:pointer;
  transition:all .12s;
}
.newsActionBtn:hover{color:var(--text);border-color:var(--stroke2);}
.newsActionBtn.active{color:var(--accent);border-color:var(--accent);}
.newsSectionTitle{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  padding:10px 0 6px;
  margin-top:4px;
  border-top:1px solid var(--stroke);
}
.newsSourceFilterBar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}
.newsSourceFilter{
  font-size:11px;
  padding:3px 10px;
  border-radius:6px;
  border:1px solid var(--stroke);
  background:none;
  color:var(--muted);
  cursor:pointer;
  transition:all .12s;
}
.newsSourceFilter:hover{color:var(--text);}
.newsSourceFilter.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);}

/* twemoji inline */
img.emoji{height:1em;width:1em;vertical-align:-.125em;}

body{
  margin:0;
  font-family:Segoe UI, Arial, system-ui, -apple-system, Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-y:scroll;
}
html{
  scrollbar-gutter:stable;
}

.container{
  max-width:1120px;
  margin:auto;
  padding:26px 16px 34px;
}

/* Header diferente do Azul Links (mas na mesma linha de sobriedade) */
.header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
  padding:28px 28px;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:
    radial-gradient(900px 300px at 0% 0%, var(--accent-soft), transparent 60%),
    radial-gradient(700px 300px at 100% 100%, var(--accent-soft-2), transparent 55%),
    rgba(255,255,255,.02);
  position:relative;
  overflow:hidden;
}
.header::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--accent2) 20%, transparent) 100%);
  pointer-events:none;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.brandIcon{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  overflow:hidden;
  flex:0 0 44px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.brandIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.brandText{min-width:0}

h1{
  margin:0;
  font-size:30px;
  letter-spacing:.5px;
  font-weight:800;
  background: linear-gradient(135deg, var(--text) 0%, rgba(255,255,255,.65) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.sub{
  margin:8px 0 0;
  font-size:14px;
  color:var(--muted);
  line-height:1.5;
  letter-spacing:.01em;
}

/* Seções */
.section{
  margin-top:14px;
  padding:14px;
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
}

.sectionHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

/* ALTERAÇÃO 4: Melhorar visual dos títulos das seções - maior destaque, accent border lateral */
.section h2{
  margin:0;
  font-size:15px;
  letter-spacing:.12em;
  color:var(--text);
  text-transform:uppercase;
  font-weight:700;
  padding-left:10px;
  border-left:2px solid var(--accent);
  opacity:.9;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:10px;
}

/* Cards (mudança principal do “look”) */
.card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px;
  border-radius:var(--radius2);
  text-decoration:none;
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.03));
  border:1px solid var(--stroke);
  transition:transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease;
  min-height:74px;
  overflow:hidden;
}

/* Acento lateral discreto */
.card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg, var(--accent), var(--accent2));
  opacity:.75;
}

.card:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
  border-color:var(--stroke2);
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}

.icon{
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.title{
  font-weight:650;
  font-size:14.5px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.desc{
  font-size:12px;
  color:var(--muted);
  line-height:1.25;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}

/* ───── SEÇÕES COLAPSÁVEIS ───── */
.section.collapsible {
  border-color: var(--stroke);
  transition: border-color .2s;
}
.section.collapsible.open { border-color: var(--accent2); }
.section.collapsible .sectionHead {
  cursor: pointer;
  user-select: none;
  margin-bottom: 0;
  padding-bottom: 0;
  border-radius: var(--radius);
  transition: background .15s;
}
.section.collapsible .sectionHead:hover { background: rgba(255,255,255,.025); }
.section.collapsible .sectionHead:hover h2 { opacity: 1; }
.section.collapsible .sectionHead h2 { transition: opacity .15s; }
.collapseToggle {
  margin-left: auto;
  color: var(--muted);
  transition: transform .25s, color .15s;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.section.collapsible.open .collapseToggle { transform: rotate(180deg); color: var(--accent2); }
.sectionBody {
  overflow: hidden;
  max-height: 0;
  transition: max-height .35s ease, padding-top .3s ease;
}
.section.collapsible.open .sectionBody {
  max-height: 3000px;
  padding-top: 14px;
}
/* Cards compactos para seções colapsáveis — layout linha única */
.compactGrid {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.compactCard {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--stroke);
  border-radius: 8px;
  text-decoration: none;
  color: var(--text);
  transition: background .15s, border-color .15s;
}
.compactCard:hover { background: rgba(255,255,255,.055); border-color: var(--accent2); }
.compactCard .compactIcon {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  overflow: hidden;
  flex-shrink: 0;
}
.compactCard .compactIcon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.compactCard .compactName { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.compactCard .compactDesc { font-size: 11px; color: var(--muted); text-align: right; white-space: nowrap; }

/* ───── CARDS DE AÇÕES ───── */
.stockCard {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--stroke);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color .2s;
}
.stockCard:hover { border-color: var(--accent2); }
.stockCard.dead { border-color: rgba(248,113,113,.4); }
.stockCardHeader, .stockCardHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.stockTicker { font-size: 18px; font-weight: 800; letter-spacing: .04em; color: var(--text); display: block; }
.stockName { font-size: 11px; color: var(--muted); margin-top: 2px; display: block; }
.stockTime { font-size: 11px; color: var(--muted); white-space: nowrap; }
.stockPriceRow { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.stockPrice { font-size: 26px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.stockPriceBig { font-size: 26px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.stockChange { font-size: 13px; font-weight: 600; }
.stockChange.pos { color: #4ADE80; }
.stockChange.neg { color: #F87171; }
.stockChange.neu { color: var(--muted); }
.stockMeta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 11px; color: var(--muted); border-top: 1px solid var(--stroke); padding-top: 10px; }
.stockMetaItem { display: flex; flex-direction: column; gap: 2px; }
.stockMetaLabel { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.stockMetaValue { font-size: 12px; color: var(--text); font-weight: 600; }
.stockMeta .pos { color: #4ADE80; font-weight: 600; }
.stockMeta .neg { color: #F87171; font-weight: 600; }
.stockPeriod { font-size: 11px; color: var(--muted); border-top: 1px solid var(--stroke); padding-top: 8px; margin-top: 2px; }
.stockDead { color: #F87171; font-size: 13px; font-weight: 600; padding: 8px 0; }

/* ───── SEÇÃO NOTÍCIAS ───── */
#news-feed {
  scrollbar-width: thin;
  scrollbar-color: var(--stroke) transparent;
}
#news-feed::-webkit-scrollbar { width: 4px; }
#news-feed::-webkit-scrollbar-track { background: transparent; }
#news-feed::-webkit-scrollbar-thumb { background: var(--stroke); border-radius: 4px; }

.newsItem {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 4px;
  border-bottom: 1px solid var(--stroke);
  transition: background .15s;
  cursor: pointer;
}
.newsItem:last-child { border-bottom: none; }
.newsItem:hover { background: rgba(255,255,255,.03); border-radius: 6px; padding-left: 8px; padding-right: 8px; margin: 0 -4px; }
.newsItem a { text-decoration: none; color: inherit; }
.newsItemMeta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.newsSource {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--accent2);
}
.newsAge {
  font-size: 11px;
  color: var(--muted);
}
.newsTitle {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.4;
}
.newsTitle:hover { color: var(--accent2); }
.newsDesc {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.newsSourceLink {
  font-size: 11px;
  color: var(--muted);
  text-decoration: none;
  padding: 3px 8px;
  border: 1px solid var(--stroke);
  border-radius: 20px;
  transition: color .15s, border-color .15s;
}
.newsSourceLink:hover { color: var(--text); border-color: var(--accent2); }

/* ───── SEÇÃO PORTFÓLIO ───── */
.portfolioSection {
  margin-top: 14px;
  margin-bottom: 0;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
}

.portfolioSection h2 {
  margin: 0 0 16px;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--text);
  text-transform: uppercase;
  font-weight: 700;
  padding-left: 10px;
  border-left: 2px solid var(--accent2);
  opacity: .9;
}

.portfolioGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.pfCard {
  padding: 14px 12px;
  background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border: 1px solid var(--stroke);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform .14s, border-color .14s;
}
.pfCard:hover { transform: translateY(-2px); border-color: var(--stroke2); }

.pfCardLabel {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 600;
}

.pfCardValue {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.pfCardChange {
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.pfCardChange.pos { color: #4ADE80; }
.pfCardChange.neg { color: #F87171; }
.pfCardChange.neu { color: var(--muted); }

.pfCardSub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}

/* Barchart comparativo */
.pfChartWrap {
  margin-top: 8px;
}

.pfChartTitle {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 10px;
}

.pfBarRow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.pfBarLabel {
  width: 110px;
  font-size: 12px;
  color: var(--text);
  flex: 0 0 110px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Wrapper relativo para posicionar o valor no fim da barra */
.pfBarOuter {
  flex: 1;
  position: relative;
  padding-right: 50px; /* reserva espaço para o valor */
}

.pfBarTrack {
  width: 100%;
  height: 8px;
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  overflow: visible;
  position: relative;
}

.pfBarFill {
  height: 100%;
  border-radius: 999px;
  transition: width .6s cubic-bezier(.4,0,.2,1);
  position: relative;
}

/* Valor exatamente no fim do fill, via pseudo-elemento */
.pfBarFill::after {
  content: attr(data-pct);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 6px;
  font-size: 11.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--text);
  opacity: .8;
  line-height: 1;
}


.pfDivider {
  height: 1px;
  background: var(--stroke);
  margin: 14px 0;
}

/* Tabela de rentabilidade */
.pfTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.pfTable th {
  text-align: left;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 4px 8px 8px;
  border-bottom: 1px solid var(--stroke);
}
.pfTable th:not(:first-child) { text-align: right; }
.pfTable td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  color: var(--text);
}
.pfTable td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.pfTable td.left,
.pfTable th.left { text-align:left !important; }
.pfTable tr:last-child td { border-bottom: none; }
.pfTable tr:hover td { background: rgba(255,255,255,.025); }
.pfTable .pos { color: #4ADE80; font-weight: 600; }
.pfTable .neg { color: #F87171; font-weight: 600; }
.pfTable .neu { color: var(--muted); }
.pfTable .bold { font-weight: 700; color: var(--text); }
.pfTable .assetName { font-weight: 600; }
body.privacy-hidden #pf-total,
body.privacy-hidden .macroValue,
body.privacy-hidden .stockPrice,
body.privacy-hidden .stockPriceBig,
body.privacy-hidden .stockChange,
body.privacy-hidden .stockMetaValue,
body.privacy-hidden .invManualRows strong,
body.privacy-hidden .wsKpiVal,
body.privacy-hidden .moneySensitive{
  color:transparent !important;
  text-shadow:0 0 12px rgba(154,164,178,.46);
}
body.privacy-hidden #pf-cat-body td:not(:first-child){
  color:transparent !important;
  text-shadow:0 0 11px rgba(154,164,178,.42);
}
body.privacy-hidden #pf-cat-body td:not(:first-child)::after{
  content:"••••••";
  color:var(--muted);
  margin-left:-8px;
}
body.privacy-hidden .pfBarFill::after{
  content:"••••••";
}

@media (max-width:520px){
  .portfolioGrid { grid-template-columns: repeat(2, 1fr); }
  .pfBarLabel { width: 80px; flex: 0 0 80px; }
  .pfTable { font-size: 11.5px; }
}

/* Macro Dashboard (watchlist premium) */
#macro-dashboard.section{
  margin-top:14px;
  padding:12px 12px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
}

#macro-dashboard .sectionHead{
  margin-bottom:10px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}

#macro-dashboard .macroTitle{
  margin:0;
  font-size:15px;
  color:var(--text);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding-left:10px;
  border-left:2px solid var(--accent);
  opacity:.9;
}

#macro-dashboard .macroSummary{
  margin:0;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}

.macroGroupSection{
  margin-top:10px;
  padding:0;
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--stroke));
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.018));
  overflow:hidden;
}
.macroGroupSection .sectionHead{
  margin:0;
  padding:10px 12px;
}
.macroGroupTitle{
  margin:0;
  font-size:12px;
  color:var(--text);
  letter-spacing:.02em;
  font-weight:620;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.macroGroupTitleText{
  display:inline-block;
}
.macroGroupIcon{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--stroke));
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  color:color-mix(in srgb, var(--accent2) 52%, #fff);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.macroGroupIcon svg{
  width:12px;
  height:12px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.macroGroupHeadRight{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.macroGroupCount{
  font-size:10px;
  color:var(--muted);
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--stroke));
  background:rgba(255,255,255,.03);
  border-radius:999px;
  padding:2px 7px;
  line-height:1.2;
}
.macroGroupSection .sectionBody{
  max-height:0;
  padding:0 10px;
  overflow:hidden;
}
.section.collapsible.open.macroGroupSection .sectionBody{
  max-height:2600px;
  padding:10px;
}

.macroGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(220px, 1fr));
  gap:10px;
}

@media (min-width:980px){
  .macroGrid{ grid-template-columns:repeat(3, minmax(220px, 1fr)); }
}
@media (min-width:1200px){
  .macroGrid{ grid-template-columns:repeat(4, minmax(220px, 1fr)); }
}

.macroTile{
  position:relative;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  background:transparent;
  cursor:default;
  min-width:0;
  overflow:hidden;
}

.macroTile:hover{
  background:rgba(255,255,255,0.05);
}

.macroTop, .macroBottom{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.macroTop{ gap:12px; }
.macroBottom{ margin-top:6px; }

.macroName{
  font-size:13px;
  font-weight:600;
  color:var(--text);
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  padding-right:18px; /* espaço do ícone ↗ */
}

.macroMetaTop{
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
}

.macroMetaTop.pos{ color:#4ADE80; }
.macroMetaTop.neg{ color:#F87171; }
.macroMetaTop.neu{ color:var(--muted); }
.macroMetaTop.ok{ color:#4ADE80; }
.macroMetaTop.bad{ color:#F87171; }

.macroSourceTag{
  font-size:10.5px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

.macroValueWrap{
  display:flex;
  align-items:baseline;
  gap:10px;
  justify-content:flex-end;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
}

.macroValue{
  font-size:14.5px;
  font-weight:700;
  color:var(--text);
}

.macroTime{
  font-size:11px;
  color:var(--muted);
}

.macroLast{
  margin-top:5px;
  font-size:10.5px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  opacity:.95;
}

.macroLast.hidden{ display:none; }

.macroSourceIcon{
  position:absolute;
  top:8px;
  right:8px;
  font-size:12px;
  color:rgba(154,164,178,0.85);
  text-decoration:none;
  opacity:.55;
  padding:2px 4px;
  border-radius:4px;
  cursor:pointer;
}

.macroSourceIcon:hover{
  opacity:1;
  color:var(--text);
  background:rgba(255,255,255,0.06);
}

/* Skeleton (carregamento) */
.macroSk{
  position:relative;
  overflow:hidden;
  border-radius:4px;
  background:rgba(255,255,255,0.05);
}

.macroSk:after{
  content:"";
  position:absolute;
  top:0; left:-40%;
  width:40%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
  animation:macroShimmer 1.2s ease-in-out infinite;
  opacity:.9;
}

@keyframes macroShimmer{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(240%); }
}

.macroSkName{ height:12px; width:68%; }
.macroSkMeta{ height:12px; width:32%; }
.macroSkTag{ height:10px; width:42%; opacity:.65; }
.macroSkVal{ height:14px; width:54%; }
.macroSkTime{ height:10px; width:22%; opacity:.65; }
.macroSkLast{ height:10px; width:62%; opacity:.55; margin-top:6px; }

/* ===== ALTERAÇÃO TOOLTIP: Tooltip JS-driven, ancorado ao body para não ser cortado pelo grid ===== */
#macro-tooltip{
  position:fixed;
  z-index:9999;
  max-width:340px;
  padding:10px 13px;
  font-size:12px;
  line-height:1.5;
  color:var(--text);
  background:rgba(10,13,20,0.97);
  border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);
  border-radius:10px;
  box-shadow:0 8px 32px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
  white-space:normal;
  pointer-events:none;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease;
  font-family:inherit;
}
#macro-tooltip.visible{
  opacity:1;
  transform:translateY(0);
}
#macro-tooltip .tt-title{
  font-weight:700;
  font-size:12.5px;
  color:color-mix(in srgb, var(--accent) 84%, #fff);
  margin-bottom:4px;
  display:block;
}
#macro-tooltip .tt-body{
  color:rgba(154,164,178,.95);
}
#macro-tooltip .tt-metric{
  margin-top:6px;
  font-size:11px;
  color:color-mix(in srgb, var(--accent2) 82%, #fff);
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:6px;
}
/* ===== FIM ALTERAÇÃO TOOLTIP ===== */

/* ALTERAÇÃO 3: Estilos do botão de refresh manual */
.refreshBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.14);
  background:transparent;
  cursor:pointer;
  color:var(--muted);
  flex:0 0 26px;
  transition:border-color .15s ease, color .15s ease, box-shadow .15s ease;
  padding:0;
  line-height:1;
}
.refreshBtn:hover{
  border-color:var(--accent);
  color:var(--accent);
  box-shadow:0 0 10px color-mix(in srgb, var(--accent) 30%, transparent);
}
.refreshBtn:active{
  opacity:.7;
}
.refreshBtn svg{
  width:13px;
  height:13px;
  display:block;
  transition:transform .1s ease;
}
/* Animação de rotação enquanto atualiza */
@keyframes refreshSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}
.refreshBtn.spinning svg{
  animation:refreshSpin .7s linear infinite;
}
/* Wrapper do summary + botão */
.macroSummaryWrap{
  display:flex;
  align-items:center;
  gap:8px;
}
/* ALTERAÇÃO 3 FIM */

/* Responsividade (tile interno) */
@media (max-width:719px){
  .macroGrid{ grid-template-columns:1fr; gap:8px; }
  .macroTile{ padding:8px 10px; }
  .macroBottom{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .macroValueWrap{
    width:100%;
    justify-content:space-between;
  }
  .macroValue{ font-size:14px; }
}


/* Responsividade */
@media (max-width:900px){
  .macroRow{
    grid-template-columns:minmax(220px,1fr) 160px 110px;
  }
}

@media (max-width:720px){
  .macroRow{
    grid-template-columns:1fr 120px;
    grid-template-areas:
      "name meta"
      "value meta";
    align-items:start;
    row-gap:6px;
  }
  .macroColName{ grid-area:name; }
  .macroColValue{ grid-area:value; font-size:14.5px; }
  .macroColMeta{ grid-area:meta; }
}

@media (max-width:520px){
  .macroRow{
    grid-template-columns:1fr;
    grid-template-areas:
      "name"
      "value"
      "meta";
    padding:10px 8px;
  }
  .macroColMeta{
    align-items:flex-start;
    text-align:left;
  }
  .macroTimeRow{
    justify-content:flex-start;
  }
}


/* Corporate dark visual override (no neon/glow) */
:root{
  --bg:#0a0f15;
  --panel:rgba(255,255,255,.02);
  --card:rgba(255,255,255,.03);
  --card2:rgba(255,255,255,.045);
  --text:#E7ECF3;
  --muted:#9AA5B6;
  --stroke:rgba(255,255,255,.08);
  --stroke2:rgba(255,255,255,.12);
  --accent:#6f7f94;
  --accent2:#8a97a8;
  --accent-soft:rgba(111,127,148,.12);
  --accent-soft-2:rgba(138,151,168,.10);
  --panel-glow:none;
}
body{
  background:linear-gradient(180deg, #0d1219 0%, #0a0f15 100%);
  color:var(--text);
  min-height:100vh;
}
.container{
  max-width:1200px;
  padding:20px 16px 34px;
}
h1{
  background:none;
  -webkit-background-clip:initial;
  -webkit-text-fill-color:var(--text);
  background-clip:initial;
  color:var(--text);
}
.navBar,.workspaceBar,.subnavBar,.wsHead,.wsFilterBar,
.section,.portfolioSection,#macro-dashboard.section,
.card,.statusCard,.stockCard,.compactCard,.pfCard,.macroTile,
.pfWidget,.pfQuickHero,.pfQuickActionsBox,.pfSmallCard,
.wsKpi,.pfListRow,.pfInvestTableWrap,.header{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
}
.finModalBackdrop{
  background:rgba(4,7,11,.84) !important;
  backdrop-filter:blur(5px);
}
.finModalCard{
  background:linear-gradient(180deg, rgba(17,23,32,.995), rgba(12,17,24,.992)) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 30px 72px rgba(0,0,0,.62) !important;
}
#pf-tx-modal .finModalBody,
#pf-transfer-modal .finModalBody{
  background:rgba(10,14,20,.38);
}
.navBar{
  position:sticky;
  top:10px;
  z-index:50;
  margin-bottom:16px;
  padding:8px 10px;
  backdrop-filter:none;
}
.card::before{
  display:none !important;
}
#pf-visao-geral::before{
  content:none !important;
}
.navBtn,.workspaceBtn,.subnavBtn,.workspaceAction,.newsActionBtn,.newsSourceFilter,.refreshBtn,.pfIconAction{
  box-shadow:none !important;
}
.navBtn.active,.workspaceBtn.active,.subnavBtn.active,.workspaceAction.active,
.newsActionBtn.active,.newsSourceFilter.active{
  background:rgba(255,255,255,.06) !important;
  color:var(--text) !important;
  border-color:rgba(255,255,255,.20) !important;
}
.navBtn:hover,.workspaceBtn:hover,.subnavBtn:hover,.workspaceAction:hover,.pfIconAction:hover,
.card:hover,.stockCard:hover,.compactCard:hover,.pfCard:hover,.macroTile:hover,.pfListRow:hover{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
}
#pf-visao-geral .pfWidget.pfWidgetHighlight,
#pf-visao-geral .pfQuickHero,
#pf-visao-geral .pfQuickActionsBox{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)) !important;
  border-color:rgba(255,255,255,.10) !important;
}
#pf-visao-geral .pfQuickCard{
  --kpi-tone:#7d8797;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:11px;
  background:rgba(18,24,34,.94) !important;
  box-shadow:none !important;
  padding:8px 10px 8px 12px !important;
}
#pf-visao-geral .pfQuickCard .k{
  width:100%;
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:11px;
  font-weight:670;
  line-height:1.24;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#f5f8ff !important;
}
#pf-visao-geral .pfQuickCard .v{
  margin-top:0;
  font-size:20px;
  line-height:1.05;
  font-weight:620;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  color:var(--text) !important;
}
#pf-visao-geral .pfQuickCard .s{
  margin-top:4px;
  font-size:11px;
  font-weight:560;
  letter-spacing:.01em;
  line-height:1.28;
  color:color-mix(in srgb, var(--text) 74%, var(--kpi-tone) 26%);
}

/* Tipo A — Estado financeiro */
#pf-visao-geral .pfQuickCard.kpi-balance,
#pf-visao-geral .pfQuickCard.kpi-reserve,
#pf-visao-geral .pfQuickCard.kpi-invest{
  background:rgba(18,24,34,.94) !important;
  border-color:rgba(255,255,255,.12) !important;
}
#pf-visao-geral .pfQuickCard::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--kpi-tone);
}

/* Tipo B — Fluxo mensal */
#pf-visao-geral .pfQuickCard.kpi-income,
#pf-visao-geral .pfQuickCard.kpi-expense{
  background:rgba(18,24,34,.94) !important;
}
#pf-visao-geral .pfQuickCard.kpi-income .k::before,
#pf-visao-geral .pfQuickCard.kpi-expense .k::before{
  width:15px;
  height:15px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  font-size:9px;
  font-weight:700;
  border:1px solid color-mix(in srgb, var(--kpi-tone) 60%, rgba(255,255,255,.14));
  color:color-mix(in srgb, var(--kpi-tone) 82%, #fff);
  background:color-mix(in srgb, var(--kpi-tone) 22%, transparent);
}
#pf-visao-geral .pfQuickCard.kpi-income .k::before{content:"↗";}
#pf-visao-geral .pfQuickCard.kpi-expense .k::before{content:"↘";}
#pf-visao-geral .pfQuickCard.kpi-income .v,
#pf-visao-geral .pfQuickCard.kpi-expense .v{
  font-size:21px;
  font-weight:625;
}

/* Tipo C — Alertas */
#pf-visao-geral .pfQuickCard.kpi-pending{
  background:color-mix(in srgb, rgba(18,24,34,.96) 88%, var(--kpi-tone) 12%) !important;
  border-color:color-mix(in srgb, var(--kpi-tone) 46%, rgba(255,255,255,.10)) !important;
}
#pf-visao-geral .pfQuickCard.kpi-pending.is-zero{
  --kpi-tone:#6f7785 !important;
  background:color-mix(in srgb, rgba(18,24,34,.98) 92%, #7a8392 8%) !important;
  border-color:rgba(154,165,182,.28) !important;
}
#pf-visao-geral .pfQuickCard.kpi-pending .k{
  color:color-mix(in srgb, var(--text) 22%, var(--kpi-tone) 78%) !important;
}
#pf-visao-geral .pfQuickCard.kpi-pending.is-zero .k{
  color:#c2cad7 !important;
}
#pf-visao-geral .pfQuickCard.kpi-pending .k::after{
  content:"ALERTA";
  margin-left:auto;
  padding:2px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  color:color-mix(in srgb, var(--text) 84%, var(--kpi-tone));
  border:1px solid color-mix(in srgb, var(--kpi-tone) 46%, rgba(255,255,255,.12));
  background:color-mix(in srgb, var(--kpi-tone) 18%, transparent);
}
#pf-visao-geral .pfQuickCard.kpi-pending.is-zero .k::after{
  border-color:rgba(154,165,182,.36);
  color:#b6bfcc;
  background:rgba(154,165,182,.10);
}
#pf-visao-geral .pfQuickCard.kpi-balance{--kpi-tone:#3e7de6 !important;}
#pf-visao-geral .pfQuickCard.kpi-reserve{--kpi-tone:#2e8bc2 !important;}
#pf-visao-geral .pfQuickCard.kpi-income{--kpi-tone:#1e9e77 !important;}
#pf-visao-geral .pfQuickCard.kpi-expense{--kpi-tone:#d36457 !important;}
#pf-visao-geral .pfQuickCard.kpi-pending{--kpi-tone:#c58b36 !important;}
#pf-visao-geral .pfQuickCard.kpi-invest{--kpi-tone:#7756d9 !important;}
#pf-visao-geral .pfQuickCard.kpi-balance .v{color:#ffffff !important;}
#pf-visao-geral .pfQuickCard.kpi-reserve .v{color:#ffffff !important;}
#pf-visao-geral .pfQuickCard.kpi-invest .v{color:#ffffff !important;}
#pf-visao-geral .pfQuickCard.kpi-income .v{color:#61e8b0 !important;}
#pf-visao-geral .pfQuickCard.kpi-expense .v{color:#ff9f92 !important;}
#pf-visao-geral .pfQuickCard.kpi-pending .v{color:#ffd36b !important;}
#pf-visao-geral .pfQuickCard.kpi-balance .s{color:#b9c2d1 !important;}
#pf-visao-geral .pfQuickCard.kpi-reserve .s{color:#b9c2d1 !important;}
#pf-visao-geral .pfQuickCard.kpi-invest .s{color:#b9c2d1 !important;}
#pf-visao-geral .pfQuickCard.kpi-pending.is-zero .v{color:#c4ceda !important;}
#pf-visao-geral .pfQuickCard.kpi-pending.is-zero .s{color:#97a3b1 !important;}
body.privacy-hidden #pf-visao-geral .pfQuickCard .v.moneySensitive{
  color:transparent !important;
  text-shadow:0 0 12px rgba(154,164,178,.46);
}
.pfBarTrack{background:rgba(255,255,255,.08);}
.pfBarFill,.pfProgressFill,.pfDonut,.pfDonut::after,.pfStatusBtn{
  box-shadow:none !important;
}
#pf-visao-geral .pfInvestTable .pfSwatch{
  box-shadow:none !important;
  border-color:rgba(255,255,255,.28) !important;
}
#pf-visao-geral .pfTopExpenseLine{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  padding:0;
}
#pf-visao-geral .pfTopExpenseLabel{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:680;
  line-height:1.3;
  color:color-mix(in srgb, var(--tone, #94a3b8) 84%, var(--text) 16%);
}
#pf-visao-geral .pfTopExpenseLabel::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:2px;
  background:var(--tone, #94a3b8);
  box-shadow:0 0 0 1px rgba(255,255,255,.24);
  flex:0 0 auto;
}
#pf-visao-geral .pfTopExpenseValue{
  font-size:12px;
  font-weight:560;
  line-height:1.2;
  color:color-mix(in srgb, var(--tone, #94a3b8) 80%, var(--text) 20%);
  font-variant-numeric:tabular-nums;
}
#pf-visao-geral .pfTopExpenseAmount{
  margin-left:auto;
  font-size:12px;
  font-weight:500;
  line-height:1.2;
  color:color-mix(in srgb, var(--text) 86%, #fff);
  font-variant-numeric:tabular-nums;
}
.pfTable tr:hover td{
  background:rgba(255,255,255,.03) !important;
}
@media (max-width:900px){
  #pf-visao-geral .pfQuickCard{
    padding:8px 9px 8px 11px !important;
  }
  #pf-visao-geral .pfQuickCard .v{
    font-size:19px;
  }
  #pf-visao-geral .pfQuickCard.kpi-income .v,
  #pf-visao-geral .pfQuickCard.kpi-expense .v{
    font-size:19px;
  }
  #pf-visao-geral .pfTopExpensesWrap{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  #pf-visao-geral .pfQuickCard{
    padding:7px 8px 7px 10px !important;
  }
  #pf-visao-geral .pfQuickCard .k{
    margin-bottom:5px;
    padding-bottom:4px;
    font-size:10px;
    letter-spacing:.09em;
  }
  #pf-visao-geral .pfQuickCard .v{
    font-size:17px;
  }
  #pf-visao-geral .pfQuickCard.kpi-income .v,
  #pf-visao-geral .pfQuickCard.kpi-expense .v{
    font-size:17px;
  }
  #pf-visao-geral .pfQuickCard .s{
    font-size:10px;
  }
  #pf-visao-geral .pfTopExpenseLabel,
  #pf-visao-geral .pfTopExpenseValue,
  #pf-visao-geral .pfTopExpenseAmount{
    font-size:11px;
  }
  #pf-visao-geral .pfDonut{
    width:220px;
    height:220px;
  }
  #pf-visao-geral #pfw-top-expenses-donut{
    transform:translateY(8px);
  }
}

.pfCalendarWrap{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .9fr);
  gap:12px;
}
.pfCalendarPanel .pfWidgetHead{
  align-items:flex-start;
}
.pfCalendarNav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}
#pfw-cal-caption{
  font-size:11px;
  color:var(--text);
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.pfCalendarNavBtn{
  width:28px;
  min-height:28px;
  padding:0;
  border-radius:8px;
  display:grid;
  place-items:center;
}
.pfCalendarWeekdays{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:6px;
  margin-bottom:8px;
}
.pfCalWeekday{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  text-align:center;
}
.pfCalendarGrid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:6px;
}
.pfCalDay{
  position:relative;
  min-height:66px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.015);
  color:var(--text);
  font:inherit;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  padding:7px 8px;
  cursor:pointer;
  transition:border-color .14s ease, background-color .14s ease, transform .14s ease;
}
.pfCalDay:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.03);
  transform:translateY(-1px);
}
.pfCalDay.is-out{
  min-height:54px;
  opacity:.45;
  cursor:default;
  pointer-events:none;
  background:rgba(255,255,255,.01);
}
.pfCalDayNum{
  font-size:13px;
  font-weight:620;
  font-variant-numeric:tabular-nums;
}
.pfCalDayMeta{
  font-size:9px;
  letter-spacing:.04em;
  color:var(--muted);
}
.pfCalDay.is-today{
  border-color:rgba(125,135,151,.55);
}
.pfCalDay.is-selected{
  border-color:#8aa8cf;
  background:color-mix(in srgb, #8aa8cf 16%, rgba(255,255,255,.02));
}
.pfCalDay.has-events::after{
  content:"";
  position:absolute;
  right:7px;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#94a3b8;
  opacity:.95;
}
.pfCalDay.is-income.has-events::after{ background:#4ade80; }
.pfCalDay.is-expense.has-events::after{ background:#f87171; }
.pfCalDay.is-mixed.has-events::after{ background:#fbbf24; }
.pfCalDay.is-neutral.has-events::after{ background:#94a3b8; }
.pfCalReportRow .pfListMeta{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.pfCalEventKind{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:color-mix(in srgb, var(--text) 72%, var(--muted));
}
.pfCalEventBadge{
  margin-left:4px;
  font-size:9px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-radius:999px;
  padding:3px 6px;
  border:1px solid rgba(255,255,255,.16);
  color:var(--text);
}
.pfCalEventBadge.pending{
  color:#fcd34d;
  border-color:rgba(251,191,36,.4);
}
.pfCalEventBadge.paid{
  color:#a7f3d0;
  border-color:rgba(52,211,153,.32);
}

.pfConfigGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
#pf-config .pfWidget{
  border-color:rgba(255,255,255,.09);
  background:rgba(12,16,23,.86);
  box-shadow:none;
}
#pf-config .pfWidgetHead h3{
  font-size:14px;
  letter-spacing:.02em;
  font-weight:620;
}
#pf-config .pfWidgetHead span{
  font-size:10px;
  color:var(--muted);
}
.pfConfigShell{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.pfConfigMenu{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.pfConfigMenuBtn{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.01);
  color:var(--text);
  border-radius:10px;
  padding:11px 12px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease;
}
.pfConfigMenuBtn:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.03);
}
.pfConfigMenuBtn.active{
  border-color:rgba(130,170,255,.52);
  background:rgba(130,170,255,.10);
}
.pfConfigMenuTitle{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:620;
  color:var(--text);
}
.pfConfigMenuDesc{
  font-size:10px;
  color:var(--muted);
  line-height:1.35;
}
.pfConfigPane[hidden]{
  display:none !important;
}
.pfConfigPaneHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.pfConfigCatTopBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.pfConfigCatTabs{
  display:flex;
  align-items:center;
  gap:8px;
}
.pfConfigCatTab{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.01);
  color:var(--muted);
  border-radius:999px;
  padding:6px 11px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}
.pfConfigCatTab.active{
  color:#d9e4f2;
  border-color:rgba(167,178,196,.44);
  background:rgba(167,178,196,.12);
}
.pfConfigAddRow{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.pfConfigAddRowCats{
  display:grid;
  grid-template-columns:minmax(0,1fr) 148px minmax(0,1fr) auto;
  align-items:center;
}
.pfConfigAddRow .pfSearchInput{
  flex:1 1 auto;
  min-width:0;
}
.pfConfigSelect{
  min-height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.015);
  color:var(--text);
  padding:0 9px;
  font-size:11px;
}
.pfEmojiPicker{
  position:relative;
  min-width:0;
}
.pfEmojiPickerTrigger{
  width:100%;
  min-height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.015);
  color:var(--text);
  padding:0 9px;
  font-size:11px;
  text-align:left;
  cursor:pointer;
}
.pfEmojiPickerTrigger:hover{
  border-color:color-mix(in srgb, var(--accent2) 44%, var(--stroke2));
}
.pfEmojiPicker.open .pfEmojiPickerTrigger{
  border-color:color-mix(in srgb, var(--accent2) 54%, var(--stroke2));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}
.pfEmojiPickerMenu{
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  z-index:12;
  width:min(360px, calc(100vw - 36px));
  max-height:272px;
  overflow:auto;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--stroke));
  background:rgba(14,20,30,.98);
  box-shadow:0 14px 28px rgba(0,0,0,.34);
  padding:10px;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  grid-auto-rows:42px;
  gap:8px;
}
.pfEmojiPicker.open .pfEmojiPickerMenu{
  display:grid;
}
.pfEmojiOption{
  min-height:42px;
  border-radius:8px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--stroke));
  background:rgba(255,255,255,.02);
  color:var(--text);
  font-size:21px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}
.pfEmojiOption img.emoji{
  width:22px;
  height:22px;
  display:block;
}
.pfEmojiPickerTrigger img.emoji{
  width:1.05em;
  height:1.05em;
}
.pfEmojiOption:hover{
  border-color:color-mix(in srgb, var(--accent2) 50%, var(--stroke2));
  background:rgba(255,255,255,.06);
}
.pfEmojiOption.active{
  border-color:rgba(52,211,153,.46);
  background:rgba(52,211,153,.18);
}
.pfEmojiOption.is-default{
  grid-column:1 / -1;
  min-height:32px;
  font-size:11px;
  font-weight:620;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pfConfigCatRow{
  --cat-tone:#64748b;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(255,255,255,.01);
  padding:6px 8px;
}
.pfConfigCatRow.is-editing{
  border-color:rgba(167,178,196,.55);
  background:rgba(167,178,196,.05);
}
.pfConfigCatMain{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.pfConfigCatIcon{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:14px;
  background:color-mix(in srgb, var(--cat-tone) 38%, rgba(12,16,24,.92));
  border:1px solid color-mix(in srgb, var(--cat-tone) 62%, rgba(255,255,255,.2));
  overflow:hidden;
}
.pfConfigCatIconBtn{
  border:0;
  padding:0;
  cursor:pointer;
}
.pfConfigCatIconBtn:hover{
  filter:brightness(1.08);
}
.pfConfigCatName{
  font-size:12px;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pfConfigCatIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pfConfigCatInput{
  flex:1 1 auto;
  min-width:0;
}
.pfConfigCatActions{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.pfConfigMiniBtn{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.01);
  color:var(--text);
  border-radius:8px;
  padding:5px 8px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em;
  cursor:pointer;
}
.pfConfigMiniBtn:hover{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.03);
}
.pfConfigMiniBtn.danger{
  color:#fda4af;
  border-color:rgba(248,113,113,.36);
}
.pfConfigMiniBtn.icon{
  width:27px;
  height:27px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:640;
}
.pfConfigBadge{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:4px 8px;
}
.pfConfigCatEditor{
  margin-bottom:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.012);
  padding:8px;
}
.pfConfigCatEditorHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.pfConfigCatEditorTitle{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--muted);
  font-weight:600;
}
.pfConfigCatEditorBody{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  margin-bottom:7px;
  align-items:center;
}
.pfEmojiPickerTriggerLogo{
  width:30px;
  min-width:30px;
  min-height:30px;
  height:30px;
  border-radius:999px;
  padding:0;
  text-align:center;
  display:grid;
  place-items:center;
  font-size:15px;
  line-height:1;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
}
.pfEmojiPickerTriggerLogo img.emoji{
  width:18px;
  height:18px;
}
.pfConfigGoalRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 132px 132px;
  gap:7px;
  align-items:center;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(255,255,255,.01);
  padding:7px 8px;
}
.pfConfigGoalLabel{
  font-size:11px;
  color:color-mix(in srgb, var(--text) 88%, var(--muted));
  font-weight:590;
  line-height:1.25;
}
.pfConfigGoalInput{
  text-align:right;
  min-width:0;
  min-height:32px;
  font-size:11px;
}
.pfConfigGoalMode{
  min-height:32px;
  font-size:11px;
}
.pfConfigActions{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
}

/* Menu lateral unificado */
.container{
  max-width:none;
  width:100%;
  display:grid;
  grid-template-columns:262px minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:0;
  padding:20px 16px 34px 12px !important;
}
#workspace-nav.workspaceBar{
  display:none !important;
}
.unifiedSidebar{
  grid-column:1;
  position:fixed;
  top:12px;
  left:12px;
  width:262px;
  height:calc(100vh - 24px);
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 14px 10px 6px;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(138,154,176,.35) transparent;
  border-radius:0;
  border-right:1px solid rgba(122,137,159,.26);
  background:transparent;
  box-shadow:none;
  z-index:42;
}
.unifiedSidebar::-webkit-scrollbar{width:8px;}
.unifiedSidebar::-webkit-scrollbar-track{background:transparent;}
.unifiedSidebar::-webkit-scrollbar-thumb{
  background:rgba(138,154,176,.32);
  border-radius:999px;
}
.unifiedSidebarTop,
.unifiedWorkspacePill,
.unifiedSearchBar,
.unifiedDivider{
  display:none !important;
}
.unifiedNavBtn{
  width:100%;
  min-height:42px;
  border-radius:10px;
  border:none;
  background:transparent;
  color:#c6ccd6;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  font-size:14px;
  font-weight:560;
  letter-spacing:.01em;
  text-align:left;
  cursor:pointer;
  transition:.16s ease;
}
.unifiedNavIcon{
  width:20px;
  height:20px;
  color:#9ea5b1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
}
.unifiedNavIcon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.unifiedNavIcon .fill{
  fill:currentColor;
  stroke:none;
}
.unifiedNavBtn:hover{
  color:#e9edf3;
  background:rgba(255,255,255,.035);
}
.unifiedNavBtn:hover .unifiedNavIcon{
  color:#bcc4d0;
}
.unifiedNavBtn.active{
  color:#f1f4f8;
  background:rgba(255,255,255,.06);
  box-shadow:none;
}
.unifiedNavBtn.active .unifiedNavIcon{
  color:#d3d9e2;
}
.workspacePanel{
  grid-column:2;
  min-width:0;
  padding:0 5% 2px 6px;
}
#workspace-pf #pf-pj{
  display:none !important;
}
#workspace-pf > #pf-subnav{
  margin:0 0 10px !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  justify-content:flex-end;
}
#workspace-pf > #pf-subnav .subnavBtn{
  display:none !important;
}
#workspace-pf > #pf-subnav .subnavRightControls{
  margin-left:auto;
  gap:8px;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}
#workspace-pf > #pf-subnav .subnavRightControls .workspaceAction.workspaceIconAction{
  border:none !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.28) !important;
}
#workspace-pf > #pf-subnav .subnavRightControls .workspaceAction.workspaceIconAction:hover{
  background:rgba(255,255,255,.08) !important;
}
#workspace-pf > #pf-subnav .subnavRightControls .pfOrgStatus.top{
  border:none !important;
  background:rgba(24,78,52,.38) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.24) !important;
}

/* Workspace redesign: Indicadores, Noticias e Calculadora */
#workspace-indicadores #macro-dashboard.section{
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#workspace-indicadores #macro-dashboard .sectionHead{
  margin-bottom:10px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#workspace-indicadores #macro-dashboard .macroTitle{
  font-size:18px;
  letter-spacing:.015em;
  font-weight:690;
  text-transform:none;
  border-left:none;
  padding-left:0;
  color:#f3f8ff;
}
#workspace-indicadores #macro-dashboard .macroSummaryWrap{
  display:flex;
  align-items:center;
  gap:10px;
}
#workspace-indicadores #macro-dashboard .macroSummary{
  font-size:11px;
  color:rgba(193,207,226,.88);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(13,22,35,.58);
  border-radius:999px;
  padding:5px 10px;
}
#workspace-indicadores #macro-dashboard-list{
  display:grid;
  gap:8px;
}
#workspace-indicadores .macroGroupSection{
  margin-top:0;
  border:none !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible;
}
#workspace-indicadores .macroGroupSection + .macroGroupSection{
  margin-top:10px;
}
#workspace-indicadores #macro-dashboard .macroGroupSection .sectionHead{
  padding:11px 14px;
  margin:0;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(103,122,146,.32);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(14,22,33,.88), rgba(10,17,27,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  cursor:pointer;
  user-select:none;
}
#workspace-indicadores #macro-dashboard .macroGroupSection .sectionHead:hover{
  border-color:rgba(125,146,174,.42);
  background:linear-gradient(180deg, rgba(16,25,38,.92), rgba(11,18,29,.86));
}
#workspace-indicadores #macro-dashboard .macroGroupSection.open .sectionHead{
  border-color:rgba(136,158,186,.5);
  border-bottom-color:transparent;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  background:linear-gradient(180deg, rgba(19,29,43,.96), rgba(13,21,33,.92));
}
#workspace-indicadores .macroGroupTitle{
  font-size:14px;
  font-weight:760;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#eef4ff;
}
#workspace-indicadores .macroGroupIcon{
  width:24px;
  height:24px;
  border-radius:8px;
  border-color:rgba(151,172,199,.34);
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  color:#cfe1ff;
}
#workspace-indicadores .macroGroupIcon svg{
  width:15px;
  height:15px;
}
#workspace-indicadores .macroGroupHeadRight{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}
#workspace-indicadores .macroGroupCount{
  font-size:11px;
  padding:4px 10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(181,197,220,.86);
}
#workspace-indicadores .macroGroupSection .collapseToggle{
  margin-left:0;
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  color:rgba(177,194,216,.8);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#workspace-indicadores .macroGroupSection .collapseToggle svg{
  width:12px;
  height:12px;
}
#workspace-indicadores .macroGroupSection.open .collapseToggle{
  color:#dbe8fb;
  border-color:rgba(161,183,212,.42);
  background:rgba(255,255,255,.06);
}
#workspace-indicadores .macroGroupSection .sectionBody{
  max-height:0;
  overflow:hidden;
  padding:0 8px;
  border:1px solid transparent;
  border-top:none;
}
#workspace-indicadores .macroGroupSection.open .sectionBody{
  max-height:12000px;
  overflow:visible;
  padding:6px 8px 8px !important;
  border-color:rgba(103,122,146,.32);
  border-bottom-left-radius:12px;
  border-bottom-right-radius:12px;
  background:linear-gradient(180deg, rgba(12,19,30,.76), rgba(9,15,24,.68));
}
#workspace-indicadores .macroGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  gap:8px;
}
#workspace-indicadores .macroTile{
  border-radius:8px;
  border:1px solid rgba(255,255,255,.09) !important;
  background:linear-gradient(180deg, rgba(13,20,31,.82), rgba(10,16,25,.74)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  min-height:84px;
  padding:8px 10px;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
  display:grid;
  grid-template-rows:auto auto auto;
  gap:4px;
}
#workspace-indicadores .macroTile:hover{
  border-color:rgba(136,158,186,.34) !important;
  background:linear-gradient(180deg, rgba(16,24,36,.86), rgba(11,18,28,.76)) !important;
  transform:translateY(-0.5px);
}
#workspace-indicadores .macroTop{
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
#workspace-indicadores .macroTopRight{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  max-width:52%;
  flex:0 0 auto;
}
#workspace-indicadores .macroBottom{
  margin-top:3px;
  justify-content:space-between;
  align-items:center;
  gap:6px;
  min-width:0;
}
#workspace-indicadores .macroValueWrap{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:6px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  flex:0 0 auto;
}
#workspace-indicadores .macroName{
  font-size:12px;
  font-weight:670;
  line-height:1.2;
  color:#eef6ff;
  padding-right:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  flex:1 1 auto;
}
#workspace-indicadores .macroMetaTop{
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
  max-width:92px;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
}
#workspace-indicadores .macroSourceTag{
  font-size:10px;
  color:rgba(173,190,212,.7);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  max-width:56%;
}
#workspace-indicadores .macroValue{
  font-size:clamp(14px,1vw,18px);
  font-weight:750;
  color:#f8fcff;
  line-height:1.06;
  white-space:nowrap;
}
#workspace-indicadores .macroTime{
  font-size:10.5px;
  color:rgba(170,185,206,.74);
}
#workspace-indicadores .macroLast{
  margin-top:3px;
  padding-top:4px;
  border-top:1px dashed rgba(255,255,255,.08);
  font-size:10px;
  color:rgba(170,185,206,.72);
}
#workspace-indicadores .macroSourceIcon{
  position:static;
  width:15px;
  height:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.015);
  color:rgba(187,202,222,.74);
  opacity:1;
  font-size:9px;
  line-height:1;
  flex:0 0 auto;
}
#workspace-indicadores .macroSourceIcon:hover{
  border-color:rgba(146,166,193,.34);
  color:#f1f7ff;
  background:rgba(255,255,255,.06);
}
@media (max-width:1050px){
  #workspace-indicadores .macroGrid{
    grid-template-columns:repeat(auto-fit,minmax(182px,1fr));
  }
}
@media (max-width:719px){
  #workspace-indicadores #macro-dashboard.section{
    padding:0 !important;
  }
  #workspace-indicadores #macro-dashboard .macroSummary{
    font-size:10px;
    padding:4px 8px;
  }
  #workspace-indicadores .macroGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #workspace-indicadores .macroTile{
    min-height:74px;
    padding:7px 8px;
  }
}
@media (max-width:560px){
  #workspace-indicadores .macroGrid{
    grid-template-columns:1fr;
  }
}

#workspace-noticias .newsSection{
  padding:18px !important;
  border-radius:14px;
}
#workspace-noticias .newsHead{
  margin-bottom:4px;
}
#workspace-noticias .newsMainTitle{
  margin:0;
  font-size:21px;
  letter-spacing:.06em;
  font-weight:760;
  text-transform:uppercase;
  padding-left:12px;
  border-left:3px solid color-mix(in srgb, var(--accent2) 60%, #fff);
}
#workspace-noticias .newsHeadActions{
  display:flex;
  align-items:center;
  gap:10px;
}
#workspace-noticias .newsUpdated{
  font-size:12px;
  color:var(--muted);
}
#workspace-noticias .newsSubline{
  margin:4px 0 14px;
  color:color-mix(in srgb, var(--text) 76%, var(--muted));
  font-size:13px;
  line-height:1.45;
}
#workspace-noticias .newsFilterStack{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}
#workspace-noticias .newsBottomSources{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.09);
}
#workspace-noticias .newsBottomSources .newsFilterLabel{
  margin-bottom:8px;
}
#workspace-noticias #news-source-filter-bar-bottom{
  margin-bottom:0;
}
#workspace-noticias .newsFilterLabel{
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
#workspace-noticias .newsTopicFilterBar,
#workspace-noticias .newsSourceFilterBar{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#workspace-noticias .newsTopicFilter,
#workspace-noticias .newsSourceFilter{
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.018);
  color:var(--muted);
  font-size:11px;
  font-weight:620;
  letter-spacing:.01em;
  cursor:pointer;
  transition:all .14s ease;
}
#workspace-noticias .newsTopicFilter:hover,
#workspace-noticias .newsSourceFilter:hover{
  color:var(--text);
  border-color:rgba(255,255,255,.26);
}
#workspace-noticias .newsTopicFilter.active,
#workspace-noticias .newsSourceFilter.active{
  color:#f5f8ff !important;
  border-color:color-mix(in srgb, var(--accent2) 48%, #fff) !important;
  background:rgba(255,255,255,.095) !important;
}
#workspace-noticias .newsGridLayout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);
  gap:12px;
  align-items:start;
}
#workspace-noticias .newsGridLayout.only-main{
  grid-template-columns:1fr;
}
#workspace-noticias .newsGridLayout.only-main #news-quick-reads-wrap{
  grid-column:1 / -1;
}
#workspace-noticias .newsPanelBlock{
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(12,18,27,.40);
  overflow:hidden;
}
#workspace-noticias .newsSectionTitle{
  margin:0;
  border-top:none;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:12px 13px;
  font-size:13px;
  font-weight:720;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--text) 90%, var(--muted));
}
#workspace-noticias .newsFeedScroller{
  max-height:415px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 8px 2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
#workspace-noticias .newsFeedScroller::-webkit-scrollbar{ width:8px; }
#workspace-noticias .newsFeedScroller::-webkit-scrollbar-track{ background:transparent; }
#workspace-noticias .newsFeedScroller::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.20);
  border-radius:8px;
}
#workspace-noticias #news-queue-wrap .newsFeedScroller{
  max-height:200px;
}
#workspace-noticias .newsStatusLine,
#workspace-noticias .newsEmptyState{
  padding:16px 10px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
}
#workspace-noticias .newsItem{
  padding:11px 6px 12px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
#workspace-noticias .newsItem:last-child{
  border-bottom:none;
}
#workspace-noticias .newsItem:hover{
  background:rgba(255,255,255,.03);
  border-radius:8px;
  margin:0 -2px;
  padding-left:8px;
  padding-right:8px;
}
#workspace-noticias .newsItemMeta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
#workspace-noticias .newsSource{
  font-size:11px;
  font-weight:720;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--accent2) 70%, #fff);
}
#workspace-noticias .newsTopicChip{
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.025);
  color:var(--muted);
  font-size:10px;
  font-weight:620;
  cursor:pointer;
}
#workspace-noticias .newsTopicChip:hover{
  color:var(--text);
  border-color:rgba(255,255,255,.26);
}
#workspace-noticias .newsAge{
  font-size:11px;
  color:var(--muted);
}
#workspace-noticias .newsTitle{
  font-size:14px;
  font-weight:630;
  line-height:1.42;
  color:var(--text);
}
#workspace-noticias .newsDesc{
  font-size:12px;
  line-height:1.45;
}
#workspace-noticias .newsActions{
  gap:8px;
  margin-top:8px;
}
#workspace-noticias .newsActionBtn{
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.015);
  font-size:11px;
}
#workspace-noticias .newsActionBtn.active{
  color:#f5f8ff !important;
  border-color:rgba(255,255,255,.24) !important;
}
#workspace-noticias .newsSourcesLinks{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
#workspace-noticias .newsSourceLink{
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  color:var(--muted);
  text-decoration:none;
}
#workspace-noticias .newsSourceLink:hover{
  color:var(--text);
  border-color:rgba(255,255,255,.26);
}

#workspace-calculadora .calcShell{
  margin-top:2px;
  gap:14px;
}
#workspace-calculadora .calcCard{
  border-radius:14px;
  padding:16px;
}
#workspace-calculadora .calcHead h3{
  font-size:20px;
  letter-spacing:.01em;
}
#workspace-calculadora .calcHead span{
  font-size:10.5px;
}

@media (max-width:1050px){
  #workspace-noticias .newsGridLayout{
    grid-template-columns:1fr;
  }
  #workspace-noticias #news-queue-wrap .newsFeedScroller{
    max-height:300px;
  }
  #workspace-noticias .newsFeedScroller{
    max-height:350px;
  }
}

@media (max-width:980px){
  .container{
    max-width:1200px;
    display:block;
    margin-left:auto;
    margin-right:auto;
    padding:20px 12px 34px !important;
  }
  .unifiedSidebar{
    position:static;
    left:auto;
    top:auto;
    width:auto;
    height:auto;
    overflow:visible;
    margin-bottom:10px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    border-right:none;
    padding:0;
    min-height:0;
  }
  .unifiedNavBtn{
    min-height:38px;
    padding:8px 10px;
    font-size:13px;
  }
  .unifiedNavIcon{
    width:16px;
    height:16px;
    font-size:10px;
    flex-basis:16px;
  }
  .pfCalendarWrap,
  .pfConfigGrid,
  .pfConfigMenu{
    grid-template-columns:1fr;
  }
  .calcShell{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .unifiedSidebar{
    grid-template-columns:1fr;
    gap:6px;
  }
  .unifiedNavBtn{
    min-height:34px;
    font-size:12px;
    padding:7px 9px;
  }
  .pfCalDay{
    min-height:58px;
    padding:6px 7px;
  }
  .pfCalDayMeta{
    font-size:8px;
  }
  .pfConfigAddRow{
    flex-direction:column;
    align-items:stretch;
  }
  .pfConfigAddRowCats{
    grid-template-columns:1fr;
  }
  .pfConfigCatTopBar{
    flex-direction:column;
    align-items:stretch;
  }
  .pfConfigCatTabs{
    width:100%;
    justify-content:space-between;
  }
  .pfConfigCatRow{
    padding:7px;
    gap:8px;
  }
  .pfEmojiPickerMenu{
    width:100%;
    max-width:none;
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }
  .pfConfigCatIcon{
    width:28px;
    height:28px;
  }
  .pfConfigCatEditorBody{
    grid-template-columns:1fr;
  }
  .pfConfigGoalRow{
    grid-template-columns:1fr;
  }
  .pfConfigGoalInput{
    text-align:left;
  }
  .calcGrid,
  .calcResult{
    grid-template-columns:1fr;
  }
  .calcSimpleDisplay{
    font-size:24px;
  }
  .calcChartSvg{
    height:200px;
  }
}

/* Global design harmonization pass */
:root{
  --ui-surface-main:linear-gradient(180deg, rgba(17,24,35,.92), rgba(11,16,24,.92));
  --ui-surface-elevated:linear-gradient(180deg, rgba(22,30,44,.9), rgba(13,19,28,.9));
  --ui-border-soft:rgba(255,255,255,.10);
  --ui-border-strong:rgba(255,255,255,.18);
  --ui-shadow-card:0 10px 24px rgba(0,0,0,.28);
  --ui-shadow-hover:0 14px 32px rgba(0,0,0,.36);
  --ui-radius-lg:16px;
  --ui-radius-md:12px;
  --ui-radius-sm:10px;
  --ui-title:#f2f6ff;
}
body{
  letter-spacing:.005em;
}
.workspacePanel{
  padding-bottom:2px;
}
.workspacePanel .sub-section.active{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-inline:0;
}
.section,
.pfWidget,
.pfQuickHero,
.pfQuickActionsBox,
#pf-lancamentos .pfLaunchTotals,
#pf-lancamentos .wsFilterBar,
#pf-lancamentos .pfSectionToolbar,
#workspace-noticias .newsSection,
#workspace-noticias .newsPanelBlock,
#workspace-calculadora .calcCard,
#pf-investimentos .invDashShell,
#pf-investimentos .section.collapsible,
#pf-pj .wsKpi,
.placeholderNote{
  border-radius:var(--ui-radius-lg) !important;
  border:1px solid var(--ui-border-soft) !important;
  background:var(--ui-surface-main) !important;
  box-shadow:var(--ui-shadow-card) !important;
}
.section:hover,
.pfWidget:hover,
#workspace-noticias .newsPanelBlock:hover,
#workspace-calculadora .calcCard:hover,
#pf-investimentos .section.collapsible:hover{
  border-color:var(--ui-border-strong) !important;
  box-shadow:var(--ui-shadow-hover) !important;
}
#pf-investimentos .section.collapsible{
  border:1px solid transparent !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-top:0 !important;
  position:relative;
  opacity:.94;
  transition:opacity .18s ease, transform .18s ease, filter .18s ease;
}
#pf-investimentos .section.collapsible:hover{
  border-color:transparent !important;
  box-shadow:none !important;
}
#pf-investimentos .section.collapsible:not(.open){
  filter:saturate(.9) brightness(.95);
}
#pf-investimentos .section.collapsible.open{
  opacity:1;
  filter:none;
  transform:translateY(-1px);
}
#pf-investimentos .invDashShell + .section.collapsible{
  margin-top:10px !important;
}
#pf-investimentos .section.collapsible + .section.collapsible{
  margin-top:8px !important;
}
#pf-investimentos .section.collapsible.open + .section.collapsible{
  margin-top:12px !important;
}
#pf-investimentos .section.collapsible .sectionHead{
  border:1px solid rgba(101,119,144,.3) !important;
  border-radius:12px !important;
  background:linear-gradient(180deg, rgba(15,22,34,.92), rgba(10,16,25,.86)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}
#pf-investimentos .section.collapsible .sectionHead:hover{
  border-color:rgba(121,142,170,.36) !important;
  background:linear-gradient(180deg, rgba(17,25,38,.95), rgba(11,18,28,.88)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.2) !important;
}
#pf-investimentos .section.collapsible.open .sectionHead{
  border-color:rgba(138,160,188,.5) !important;
  border-bottom-color:transparent !important;
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
  background:linear-gradient(180deg, rgba(22,31,46,.98), rgba(15,23,36,.94)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 10px 22px rgba(3,8,16,.24) !important;
}
#pf-investimentos .section.collapsible.open .sectionBody{
  max-height:14000px;
  min-height:0;
  padding:10px 12px 12px !important;
  border:1px solid rgba(132,154,182,.44) !important;
  border-top:none !important;
  border-bottom-left-radius:12px !important;
  border-bottom-right-radius:12px !important;
  background:linear-gradient(180deg, rgba(17,26,40,.92), rgba(12,20,31,.86)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 14px 28px rgba(0,0,0,.24) !important;
}
#pf-investimentos .section.collapsible.open .invTableWrap{
  border-top:1px solid rgba(136,157,183,.28) !important;
  border-radius:10px !important;
  background:linear-gradient(180deg, rgba(18,27,42,.72), rgba(13,21,33,.62)) !important;
}
#pf-investimentos .section.collapsible.open .invDataTable thead th{
  color:rgba(216,228,244,.9) !important;
  background:rgba(22,33,49,.82) !important;
}
#pf-investimentos .section.collapsible.open .invDataTable tbody tr:nth-child(odd){
  background:rgba(255,255,255,.024) !important;
}
#pf-investimentos .section.collapsible.open .invDataTable tbody tr:hover{
  background:rgba(255,255,255,.05) !important;
}
#pf-investimentos .section.collapsible.open .invSectionFooter{
  background:rgba(17,26,40,.58) !important;
  border-top:1px solid rgba(136,157,183,.28) !important;
}
#pf-investimentos .section.collapsible.open .invSectionHeadActions .collapseToggle{
  border-color:rgba(130,152,180,.4) !important;
  background:rgba(255,255,255,.05) !important;
  color:#dbe8fb !important;
}
.wsHead{
  border-radius:var(--ui-radius-lg);
}
.section.collapsible .sectionHead{
  border-radius:calc(var(--ui-radius-lg) - 2px);
  background:linear-gradient(90deg, rgba(255,255,255,.028), rgba(255,255,255,.008));
}
.section.collapsible.open .sectionHead{
  border-bottom:1px solid rgba(255,255,255,.08);
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.pfWidgetHead,
#pf-lancamentos .pfLaunchHeader,
#pf-investimentos .invDashPanelHead,
#workspace-noticias .newsHead,
#workspace-calculadora .calcHead,
#workspace-indicadores #macro-dashboard .sectionHead{
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:10px;
  margin-bottom:12px;
}
.sectionHead h2,
.pfWidgetHead h3,
#pf-lancamentos .pfLaunchTitle,
#pf-investimentos .invDashPanelHead h3,
#workspace-indicadores #macro-dashboard .macroTitle,
#workspace-noticias .newsMainTitle,
#workspace-calculadora .calcHead h3{
  margin:0;
  color:var(--ui-title) !important;
  font-weight:680;
  letter-spacing:.015em !important;
  text-transform:none !important;
}
#pf-investimentos .section.collapsible .sectionHead .invSectionLead h2{
  text-transform:uppercase !important;
}
.workspaceAction,
.wsSelect,
.pfSearchInput,
.calcField input,
.calcField select,
.finField input,
.finField select,
#pf-investimentos .invDashSelect,
#pf-investimentos .invDashRefreshBtn,
#pf-investimentos .invDashPeriodBtn,
#workspace-noticias .newsTopicFilter,
#workspace-noticias .newsSourceFilter,
#workspace-noticias .newsActionBtn{
  border-radius:var(--ui-radius-sm) !important;
  border:1px solid var(--ui-border-soft) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
  color:var(--text) !important;
}
.workspaceAction:focus-visible,
.wsSelect:focus-visible,
.pfSearchInput:focus-visible,
.calcField input:focus-visible,
.calcField select:focus-visible,
.finField input:focus-visible,
.finField select:focus-visible,
#pf-investimentos .invDashSelect:focus-visible,
#pf-investimentos .invDashRefreshBtn:focus-visible,
#pf-investimentos .invDashPeriodBtn:focus-visible{
  outline:none;
  border-color:var(--ui-border-strong) !important;
  box-shadow:0 0 0 3px rgba(138,151,168,.18) !important;
}
#pf-investimentos .invDashPeriodBtn.active{
  border-color:rgba(34,197,94,.82) !important;
  background:linear-gradient(180deg, rgba(34,197,94,.36), rgba(22,163,74,.28)) !important;
  color:#f4fff8 !important;
  box-shadow:0 0 0 1px rgba(74,222,128,.28), 0 8px 14px rgba(22,163,74,.25);
}
#pf-investimentos .invDashPeriodBtn.active:hover{
  background:linear-gradient(180deg, rgba(34,197,94,.44), rgba(22,163,74,.34)) !important;
}
.pfTable,
#pf-investimentos .invDataTable{
  border-collapse:separate;
  border-spacing:0;
  border-radius:var(--ui-radius-md);
  overflow:hidden;
}
.pfTable thead th,
#pf-investimentos .invDataTable thead th{
  background:rgba(255,255,255,.035);
  color:color-mix(in srgb, var(--text) 82%, var(--muted));
  font-size:10.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.11);
}
.pfTable tbody td,
#pf-investimentos .invDataTable tbody td{
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-top:12px;
  padding-bottom:12px;
}
.pfTable tbody tr:hover td,
#pf-investimentos .invDataTable tbody tr:hover td{
  background:rgba(255,255,255,.03) !important;
}
#pf-investimentos .invAssetCell{
  gap:12px;
}
#pf-investimentos .invAssetLogo{
  width:48px;
  height:48px;
  border-radius:12px;
  font-size:11px;
}
#pf-investimentos .invAssetName{
  font-size:15.5px;
  font-weight:690;
}
#pf-investimentos .invAssetMeta{
  font-size:12px;
  margin-top:3px;
}
.wsKpi,
#pf-lancamentos .pfLaunchTotalCard,
#pf-investimentos .invDashKpiCard,
#pf-visao-geral .pfQuickCard{
  border-radius:var(--ui-radius-md) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.wsKpiVal,
#pf-lancamentos .pfLaunchTotalCard .v,
#pf-investimentos .invDashKpiValue,
#pf-visao-geral .pfQuickCard .v{
  font-weight:680;
  letter-spacing:0;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured{
  --balance-blue:#2f7cf6;
  border-color:rgba(255,255,255,.12) !important;
  background:rgba(16,22,32,.95) !important;
  padding:7px 10px 6px 11px !important;
  min-height:92px;
  position:relative;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured::before{
  width:3px;
  background:var(--balance-blue);
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .k{
  margin-bottom:3px !important;
  padding-bottom:0 !important;
  padding-right:56px;
  border-bottom:none !important;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBalanceHighlightRow{
  margin-top:0;
  display:block;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .v{
  margin-top:0;
  font-size:20px !important;
  line-height:1;
  font-weight:720 !important;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#f8fbff !important;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .s{
  margin-top:3px !important;
  font-size:10px !important;
  font-weight:520;
  color:color-mix(in srgb, #d7e6fb 80%, var(--muted)) !important;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBankBrand{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  top:8px;
  right:8px;
  border:1px solid rgba(214,175,96,.34);
  border-radius:9px;
  background:rgba(16,22,32,.9);
  box-shadow:inset 0 1px 0 rgba(255,244,214,.2), 0 2px 8px rgba(0,0,0,.18);
  padding:4px;
  pointer-events:none;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBankLogo{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:none;
  border:none;
  box-shadow:none;
}
#pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBankName{
  display:none;
}
#pf-visao-geral .pfQuickCard.kpi-income,
#pf-visao-geral .pfQuickCard.kpi-expense{
  min-height:92px;
  padding:7px 10px 6px 11px !important;
}
#pf-visao-geral .pfQuickCard.kpi-income .k,
#pf-visao-geral .pfQuickCard.kpi-expense .k{
  margin-bottom:3px !important;
  padding-bottom:0 !important;
}
#pf-visao-geral .pfQuickCard.kpi-income .v,
#pf-visao-geral .pfQuickCard.kpi-expense .v{
  margin-top:0;
  font-size:20px !important;
  line-height:1.03;
  font-weight:720 !important;
  letter-spacing:-.01em;
  white-space:nowrap;
}
#pf-visao-geral .pfQuickCard.kpi-income .s,
#pf-visao-geral .pfQuickCard.kpi-expense .s{
  margin-top:3px !important;
  font-size:10px !important;
  font-weight:540;
}
#pf-visao-geral .pfQuickHero{
  grid-template-columns:minmax(0,1fr) minmax(248px, 276px);
  grid-template-areas:
    "greeting greeting"
    "kpis quick";
  align-items:start;
}
#pf-visao-geral .pfQuickGreeting{
  grid-area:greeting;
  margin-bottom:8px;
}
#pf-visao-geral .pfQuickGrid{
  grid-area:kpis;
}
#pf-visao-geral .pfQuickActionsBox{
  grid-area:quick;
  align-self:start;
  height:auto;
  min-height:0;
  justify-content:flex-start;
}
@media (max-width:900px){
  #pf-visao-geral .pfQuickHero{
    grid-template-columns:1fr;
    grid-template-areas:
      "greeting"
      "kpis"
      "quick";
  }
  #pf-visao-geral .pfQuickActionsBox{
    width:100%;
  }
}
@media (max-width:760px){
  #pf-visao-geral .pfQuickCard.kpi-balance-featured .k{
    padding-right:52px;
  }
  #pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBankBrand{
    width:32px;
    height:32px;
    top:6px;
    right:6px;
    border-radius:8px;
    padding:4px;
  }
  #pf-visao-geral .pfQuickCard.kpi-balance-featured .pfBankLogo{
    width:100%;
    height:100%;
  }
  #pf-visao-geral .pfQuickCard.kpi-balance-featured .v{
    font-size:18px !important;
  }
  #pf-visao-geral .pfQuickCard.kpi-income,
  #pf-visao-geral .pfQuickCard.kpi-expense{
    min-height:84px;
    padding:6px 9px 5px 10px !important;
  }
  #pf-visao-geral .pfQuickCard.kpi-income .v,
  #pf-visao-geral .pfQuickCard.kpi-expense .v{
    font-size:18px !important;
  }
  #pf-visao-geral .pfQuickCard.kpi-income .s,
  #pf-visao-geral .pfQuickCard.kpi-expense .s{
    font-size:9.5px !important;
  }
}
#pf-investimentos .invDashPanel,
#pf-investimentos .invDashKpiCard,
#workspace-noticias .newsPanelBlock{
  background:var(--ui-surface-elevated) !important;
}
#workspace-noticias .newsSourceLink,
#workspace-noticias .newsTopicChip{
  border-radius:999px;
}
#workspace-calculadora .calcSimpleDisplay{
  border-radius:var(--ui-radius-md);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.012);
}
#workspace-calculadora .calcKey{
  border-radius:var(--ui-radius-sm);
}
#workspace-noticias .newsFeedScroller,
#pf-investimentos .invTableWrap,
#pf-investimentos #stocks-scroll-wrap,
#pf-investimentos #pfw-cdb-accounts-list,
#pf-investimentos #pfw-previdencia-accounts-list{
  scrollbar-width:thin;
  scrollbar-color:rgba(138,151,168,.46) transparent;
}
*::-webkit-scrollbar{
  width:9px;
  height:9px;
}
*::-webkit-scrollbar-track{
  background:transparent;
}
*::-webkit-scrollbar-thumb{
  background:rgba(138,151,168,.36);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:content-box;
}
*::-webkit-scrollbar-thumb:hover{
  background:rgba(176,188,204,.5);
}
html,
body{
  scrollbar-width:thin;
  scrollbar-color:rgba(124,138,158,.62) #070d15;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:11px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track{
  background:#070d15;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(94,109,130,.78), rgba(70,84,103,.72));
  border-radius:999px;
  border:2px solid #070d15;
  background-clip:padding-box;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(120,136,159,.86), rgba(89,104,124,.8));
}
@media (max-width:980px){
  .workspacePanel .sub-section.active{
    gap:12px;
    padding-inline:0;
  }
  .workspacePanel{
    padding:0 3.5% 2px;
  }
  .pfWidgetHead,
  #pf-lancamentos .pfLaunchHeader,
  #pf-investimentos .invDashPanelHead,
  #workspace-noticias .newsHead,
  #workspace-calculadora .calcHead,
  #workspace-indicadores #macro-dashboard .sectionHead{
    margin-bottom:10px;
    padding-bottom:8px;
  }
}
#pf-documentacao .pfDocsWrap{
  display:flex;
  gap:0;
  min-height:calc(100vh - 180px);
  border:1px solid var(--stroke);
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));
  box-shadow:var(--panel-glow);
}
#pf-documentacao .pfDocsNav{
  width:240px;
  flex-shrink:0;
  border-right:1px solid var(--stroke);
  background:rgba(255,255,255,.018);
  padding:18px 0;
  overflow-y:auto;
}
#pf-documentacao .pfDocsNavSection{
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  padding:14px 18px 6px;
}
#pf-documentacao .pfDocsNavLink{
  display:block;
  padding:8px 18px;
  color:var(--muted);
  text-decoration:none;
  border-left:2px solid transparent;
  transition:.15s ease;
  font-size:13px;
}
#pf-documentacao .pfDocsNavLink:hover{
  color:var(--text);
  background:rgba(255,255,255,.03);
}
#pf-documentacao .pfDocsNavLink.active{
  color:var(--text);
  border-left-color:var(--accent2);
  background:rgba(56,201,135,.10);
}
#pf-documentacao .pfDocsContent{
  flex:1;
  min-width:0;
  padding:24px 28px 36px;
}
#pf-documentacao .pfDocsTopbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--stroke);
  padding-bottom:18px;
  margin-bottom:22px;
  flex-wrap:wrap;
}
#pf-documentacao .pfDocsTopbarLabel{
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
#pf-documentacao .pfDocsExportBtns{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
#pf-documentacao .pfDocsExportBtn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 11px;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  text-decoration:none;
  font-size:11.5px;
  font-weight:600;
  cursor:pointer;
  transition:.15s ease;
}
#pf-documentacao .pfDocsExportBtn:hover{
  color:var(--text);
  border-color:var(--stroke2);
  background:rgba(255,255,255,.05);
}
#pf-documentacao .pfDocsExportBtn.ai{
  color:#7ff0b5;
  border-color:rgba(56,201,135,.24);
  background:rgba(56,201,135,.08);
}
#pf-documentacao .pfDocsExportBtn.pdf{
  color:#b4c6ff;
  border-color:rgba(99,102,241,.24);
  background:rgba(99,102,241,.08);
}
#pf-documentacao .pfDocsExportBtn.loading{
  opacity:.6;
  pointer-events:none;
}
#pf-documentacao .pfDocsMd h1{ font-size:26px; margin:0 0 10px; }
#pf-documentacao .pfDocsMd h2{ font-size:18px; margin:30px 0 10px; padding-bottom:8px; border-bottom:1px solid var(--stroke); }
#pf-documentacao .pfDocsMd h3{ font-size:14px; margin:20px 0 8px; }
#pf-documentacao .pfDocsMd p,
#pf-documentacao .pfDocsMd li{ font-size:14px; line-height:1.72; color:var(--text); }
#pf-documentacao .pfDocsMd a{ color:var(--accent2); text-decoration:none; }
#pf-documentacao .pfDocsMd a:hover{ text-decoration:underline; }
#pf-documentacao .pfDocsMd code{
  background:rgba(56,201,135,.08);
  border:1px solid rgba(56,201,135,.16);
  color:#7ff0b5;
  padding:2px 6px;
  border-radius:5px;
}
#pf-documentacao .pfDocsMd pre{
  background:#0e151b;
  border:1px solid var(--stroke);
  border-radius:10px;
  padding:16px 18px;
  overflow:auto;
}
#pf-documentacao .pfDocsMd pre code{
  background:none;
  border:none;
  padding:0;
}
#pf-documentacao .pfDocsMd table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 18px;
}
#pf-documentacao .pfDocsMd th,
#pf-documentacao .pfDocsMd td{
  padding:9px 12px;
  border-bottom:1px solid var(--stroke);
  text-align:left;
  vertical-align:top;
}
@media (max-width:980px){
  #pf-documentacao .pfDocsWrap{ flex-direction:column; min-height:auto; }
  #pf-documentacao .pfDocsNav{ width:100%; border-right:none; border-bottom:1px solid var(--stroke); }
  #pf-documentacao .pfDocsContent{ padding:20px; }
}
