/* ============================================================
   Finanças Rovaron — Design System (tokens) · identidade BTG
   Barra azul + sidebar branca + cards brancos + 1 card navy focal
   + azul claro (#D2E5FF) como acento. Sem cor hardcoded fora daqui.
   ============================================================ */
:root{
  /* superfícies */
  --bg:#F4F6F9;            /* área de conteúdo (quase branco) */
  --surface:#FFFFFF;       /* cards brancos */
  --surface-2:#F3F6FB;
  --navy:#0A2240;          /* card focal escuro */
  --bar:#0C4DC4;           /* barra superior azul BTG */
  --accent-soft:#D2E5FF;   /* azul claro de acento */

  /* azul institucional */
  --primary:#1A59B3;
  --primary-bright:#2D6FE0;/* barra destacada do gráfico */
  --primary-700:#13468C;
  --primary-50:#E9F1FB;

  /* texto */
  --ink:#0C2233;
  --ink-2:#566678;
  --ink-3:#8A98A8;

  /* estados */
  --green:#11A36B;
  --red:#E5484D;
  --amber:#C77700;

  /* linhas e sombras */
  --line:#E5E9F0;
  --line-2:#EDF1F6;
  --shadow:0 1px 2px rgba(10,30,60,.05), 0 8px 24px rgba(10,30,60,.05);
  --shadow-sm:0 1px 2px rgba(10,30,60,.05);

  /* forma */
  --r-sm:10px; --r:14px; --r-lg:18px; --r-pill:999px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5}
.num{font-variant-numeric:tabular-nums}
a{color:var(--primary);text-decoration:none}

/* ícones de linha */
.icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor}
.icon svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor}
/* conserto global: todo ícone SVG é de LINHA (sem fill preto) e com tamanho controlado.
   Ícones com width explícito (ex: setinhas de 14px) ficam de fora e mantêm o tamanho. */
svg{fill:none;stroke:currentColor}
svg:not([width]){width:20px;height:20px;vertical-align:middle}

/* ---------- BARRA SUPERIOR ---------- */
.topbar-app{background:var(--bar);height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 26px;position:sticky;top:0;z-index:20}
.brand{color:#fff;font-weight:700;font-size:18px;letter-spacing:-.3px}
.brand span{opacity:.55;font-weight:600}
.top-actions{display:flex;align-items:center;gap:20px;color:#fff}
.top-actions .ic-btn{color:#fff;opacity:.92;cursor:pointer}
.user{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid rgba(255,255,255,.25)}
.user .info{text-align:right;color:#fff;line-height:1.15}
.user .nm{font-size:14px;font-weight:700}
.user .ac{font-size:11px;opacity:.7}
.avatar{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--primary);
  display:grid;place-items:center;font-weight:700;font-size:15px}

/* ---------- LAYOUT ---------- */
.body{display:flex;min-height:calc(100vh - 64px)}
.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:16px 14px;flex:none;
  display:flex;flex-direction:column}
.nav-item{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:10px;
  color:var(--ink-2);font-size:14px;font-weight:500;cursor:pointer;margin-bottom:2px}
.nav-item .icon{color:var(--ink-3)}
.nav-item:hover{background:var(--surface-2)}
.nav-item.active{background:#EBF0F7;color:var(--ink);font-weight:600}
.nav-item.active .icon{color:var(--primary)}
.sidebar .spacer{flex:1}
.hide-menu{display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--ink-2);font-size:13px;cursor:pointer}
.content{flex:1;padding:26px 30px 64px;max-width:1280px}

/* ---------- CARD FOCAL (navy) + ACENTO ---------- */
.focal-row{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}
@media(max-width:900px){.focal-row{grid-template-columns:1fr}}
.greeting{font-size:22px;font-weight:700;margin-bottom:4px}
.greeting-sub{color:var(--ink-2);font-size:14px;margin-bottom:20px}
.focal{background:var(--navy);color:#fff;border-radius:var(--r);padding:24px;position:relative;overflow:hidden}
.focal::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;
  background:radial-gradient(circle,rgba(45,111,224,.4),transparent 70%)}
.focal .label{font-size:13px;color:#9fb6d4}
.focal .big{font-size:34px;font-weight:700;letter-spacing:-.5px;margin:6px 0 6px}
.focal .delta{font-size:13px;color:#cdd9ea}
.focal .metrics{display:flex;gap:30px;margin-top:20px;position:relative;z-index:1;flex-wrap:wrap}
.focal .m .k{font-size:12px;color:#9fb6d4}
.focal .m .v{font-size:15px;font-weight:600;margin-top:3px}
.accent-card{background:var(--accent-soft);border-radius:var(--r);padding:22px;display:flex;flex-direction:column}
.accent-card .ring{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;
  color:var(--primary);margin-bottom:14px}
.accent-card .t{font-size:15px;font-weight:700;color:var(--ink)}
.accent-card .d{font-size:13px;color:var(--ink-2);margin:6px 0 14px;flex:1}

/* ---------- BOTÕES / PILLS ---------- */
.btn{border:none;border-radius:var(--r-pill);padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);transition:.15s}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-700)}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);padding:9px 16px}
.btn-link{background:none;color:var(--primary);font-weight:600;padding:0;display:inline-flex;align-items:center;gap:5px}
.pill-soft{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--primary-700);
  font-size:12px;font-weight:600;padding:4px 11px;border-radius:var(--r-pill)}

/* ---------- AÇÕES RÁPIDAS ---------- */
.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;margin-top:20px}
.action-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 12px;text-align:center;
  cursor:pointer;box-shadow:var(--shadow-sm);transition:.15s}
.action-tile:hover{border-color:var(--primary);transform:translateY(-1px)}
.action-tile .icon{color:var(--primary);justify-content:center;margin-bottom:9px}
.action-tile .lbl{font-size:13px;color:var(--ink);font-weight:500}

/* ---------- PAINEL BRANCO ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-top:20px;box-shadow:var(--shadow-sm)}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.panel h3{font-size:16px;font-weight:700}
.panel .sub{font-size:13px;color:var(--ink-2);margin-bottom:14px}
.section-label{font-size:13px;font-weight:600;color:var(--ink-2);margin:24px 2px 12px}

/* ---------- GRÁFICO DE BARRAS ---------- */
.chart{display:flex;align-items:flex-end;gap:16px;height:230px;padding-top:24px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.bar-val{font-size:12.5px;font-weight:600;margin-bottom:8px;color:var(--ink)}
.bar{width:100%;max-width:84px;background:var(--accent-soft);border-radius:8px 8px 0 0;transition:.3s}
.bar.is-current{background:var(--primary-bright)}
.bar-label{margin-top:10px;font-size:13px;color:var(--ink-2)}

/* ---------- TILES DE CARTÃO ---------- */
.row-scroll{display:flex;gap:14px;overflow-x:auto;padding:2px;scrollbar-width:none}
.row-scroll::-webkit-scrollbar{display:none}
.ctile{min-width:188px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-sm)}
.ctile .dot{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--primary);
  display:grid;place-items:center;margin-bottom:14px}
.ctile .nm{font-size:13px;color:var(--ink-2)}
.ctile .vl{font-size:19px;font-weight:700;margin-top:3px}
.ctile .mt{font-size:12px;color:var(--ink-3);margin-top:4px}

/* ---------- CAIXINHAS ---------- */
.baldes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.balde{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow-sm)}
.balde .top{display:flex;align-items:center;justify-content:space-between}
.balde .top .icon{color:var(--primary)}
.balde .cdi{font-size:10px;font-weight:700;color:var(--green);background:#E5F6EE;padding:2px 8px;border-radius:var(--r-pill)}
.balde .nm{font-size:13px;color:var(--ink-2);margin-top:10px}
.balde .vl{font-size:17px;font-weight:700}
.balde .meta-row{height:6px;background:var(--line-2);border-radius:6px;margin-top:10px;overflow:hidden}
.balde .meta-fill{height:100%;background:var(--primary-bright);border-radius:6px}

/* ---------- BARRAS DE CATEGORIA ---------- */
.catbar{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.catbar:last-child{border:none}
.catbar .ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--primary);
  display:grid;place-items:center;flex:none}
.catbar .nm{flex:1;font-size:14px}
.catbar .track{flex:1.1;height:7px;background:var(--line-2);border-radius:6px;overflow:hidden}
.catbar .fill{height:100%;background:var(--primary-bright);border-radius:6px}
.catbar .vl{font-size:14px;font-weight:600;min-width:92px;text-align:right}
.catbar .pc{font-size:12px;color:var(--ink-3);min-width:38px;text-align:right}

.muted{color:var(--ink-3);font-size:12px}
