/* ═══════════════════════════════════════════════════════
   RESET + VARIÁVEIS
═══════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#0a0d12;
  --bg2:#11151c;
  --bg3:#171c25;
  --bg4:#1f2530;
  --bg5:#2a3140;

  --border:rgba(255,255,255,0.06);
  --border2:rgba(255,255,255,0.1);
  --border3:rgba(255,255,255,0.16);

  --text:#eef0f6;
  --text2:#9aa3b8;
  --text3:#5a6275;

  --gold:#d4af37;
  --gold-light:#e8c96a;
  --gold-dark:#a08020;
  --gold-bg:rgba(212,175,55,0.1);
  --gold-bg2:rgba(212,175,55,0.05);

  --green:#1dc984;
  --green-bg:rgba(29,201,132,0.12);
  --red:#f05252;
  --red-bg:rgba(240,82,82,0.12);
  --blue:#4f9eff;
  --blue-bg:rgba(79,158,255,0.12);
  --amber:#f59e0b;
  --amber-bg:rgba(245,158,11,0.12);
  --purple:#a78bfa;
  --purple-bg:rgba(167,139,250,0.12);

  --r:12px;
  --r2:10px;
  --r3:8px;
  --r4:6px;

  --sidebar:240px;
  --topbar:60px;

  --trans:0.18s ease;
  --shadow:0 4px 16px rgba(0,0,0,0.25);
  --shadow-lg:0 12px 40px rgba(0,0,0,0.35);

  --font:'Inter',-apple-system,sans-serif;
  --mono:'JetBrains Mono',monospace;

  /* ── Type scale ── */
  --fs-2xs: 9.5px;
  --fs-xs:  10.5px;
  --fs-sm:  11.5px;
  --fs-base: 13px;
  --fs-md:  14px;
  --fs-lg:  15px;
  --fs-xl:  18px;
  --fs-2xl: 22px;
  --fs-3xl: 28px;

  /* ── Weights ── */
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;

  /* ── Line heights ── */
  --lh-tight:   1.2;
  --lh-snug:    1.35;
  --lh-base:    1.55;
  --lh-relaxed: 1.65;

  /* ── Letter spacing ── */
  --ls-tight:   -0.3px;
  --ls-normal:  0em;
  --ls-wide:    0.04em;
  --ls-wider:   0.08em;
  --ls-widest:  0.13em;
}

[data-theme="light"]{
  --bg:#f5f6fa;
  --bg2:#ffffff;
  --bg3:#f0f2f7;
  --bg4:#e5e8f0;
  --bg5:#d8dceb;
  --border:rgba(0,0,0,0.07);
  --border2:rgba(0,0,0,0.11);
  --border3:rgba(0,0,0,0.18);
  --text:#0c1018;
  --text2:#4a5468;
  --text3:#8896b0;
  --shadow:0 2px 10px rgba(0,0,0,0.06);
  --shadow-lg:0 8px 32px rgba(0,0,0,0.1);
}

html{font-size:14px}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  line-height:var(--lh-base);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:'cv02','cv03','cv04','cv11';
  transition:background var(--trans),color var(--trans);
}

::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:rgba(255,255,255,0.04);border-radius:999px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.38);border-radius:999px;border:1px solid rgba(255,255,255,0.06)}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.58)}
::-webkit-scrollbar-thumb:active{background:rgba(255,255,255,0.72)}

html[data-theme="light"] ::-webkit-scrollbar-track{background:rgba(0,0,0,0.07);border-radius:999px}
html[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.32);border-radius:999px;border:1px solid rgba(0,0,0,0.06)}
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.52)}
html[data-theme="light"] ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,0.68)}

/* ═══════════════════════════════════════════════════════
   SCREEN MANAGER
═══════════════════════════════════════════════════════ */
.vero-screen{display:none!important}
.vero-screen.active{display:flex!important}

/* ═══════════════════════════════════════════════════════
   LOGIN SCREEN
═══════════════════════════════════════════════════════ */
#loginScreen{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(circle at 20% 15%, rgba(212,175,55,0.18), transparent 16%),
              radial-gradient(circle at 75% 20%, rgba(79,158,255,0.12), transparent 14%),
              radial-gradient(circle at 50% 110%, rgba(255,255,255,0.04), transparent 32%),
              linear-gradient(180deg, #080b11 0%, #06070b 100%);
  flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;
}
#loginScreen::before{
  content:'';
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.06), transparent 20%),
                    radial-gradient(circle at 70% 80%, rgba(212,175,55,0.08), transparent 18%);
  pointer-events:none;
}
#login-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}

.ln-center{
  position:relative;z-index:10;
  display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:460px;padding:24px;
}

.ln-logo-wrap{
  margin-bottom:28px;
  text-align:center;
}
.ln-logo{
  width:220px;max-width:80vw;
  object-fit:contain;
  display:block;margin:0 auto;
}
.ln-tagline{
  font-family:var(--mono);font-size:11px;
  color:var(--gold);letter-spacing:0.22em;
  text-transform:uppercase;
  margin-top:14px;opacity:0.9;
}

.ln-box{
  background:rgba(12,16,28,0.95);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:24px;
  padding:36px 32px;
  width:100%;max-width:440px;
  backdrop-filter:blur(28px);
  box-shadow:0 28px 90px rgba(0,0,0,0.35);
}
.ln-title{
  font-size:22px;font-weight:700;
  color:#fff;margin-bottom:8px;text-align:center;
  letter-spacing:-0.26px;
}
.ln-sub{
  font-size:12px;color:rgba(255,255,255,0.55);
  font-family:var(--mono);text-align:center;
  margin-bottom:28px;letter-spacing:0.08em;
}

.ln-label{
  font-size:11px;color:rgba(255,255,255,0.68);
  display:block;margin-bottom:8px;
  font-weight:600;letter-spacing:0.03em;
}
.ln-inp{
  width:100%;padding:14px 16px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:14px;color:#fff;
  font-size:14px;font-family:var(--font);
  outline:none;transition:all var(--trans);
}
.ln-inp:focus{
  border-color:rgba(212,175,55,0.6);
  background:rgba(255,255,255,0.08);
  box-shadow:0 0 0 4px rgba(212,175,55,0.08);
}
.ln-inp-wrap{position:relative;margin-bottom:18px}
.ln-eye{
  position:absolute;right:14px;top:50%;
  transform:translateY(-50%);
  background:none;border:none;
  color:rgba(255,255,255,0.55);cursor:pointer;padding:0;
}
.ln-eye:hover{color:#fff}

.ln-btn{
  width:100%;padding:14px 16px;margin-top:10px;
  background:linear-gradient(135deg,#c7a438 0%,#d4af37 48%,#f4dd83 100%);
  border:none;border-radius:14px;
  color:#161207;font-weight:700;font-size:14px;
  letter-spacing:0.03em;
  cursor:pointer;
  transition:transform 0.16s,box-shadow 0.16s,filter 0.16s;
  box-shadow:0 16px 40px rgba(212,175,55,0.22);
}
.ln-btn:hover{transform:translateY(-1px);box-shadow:0 24px 60px rgba(212,175,55,0.28);filter:brightness(1.03)}
.ln-btn:active{transform:translateY(0)}

.ln-footnote{
  margin-top:16px;
  font-size:12px;
  color:rgba(255,255,255,0.55);
  text-align:center;
  line-height:1.4;
  font-family:var(--mono);
}

.ln-err{
  font-size:11px;color:#f87171;margin-top:14px;
  text-align:center;min-height:18px;
}


/* ═══════════════════════════════════════════════════════
   COMPANY SCREEN — versão premium
═══════════════════════════════════════════════════════ */
#companyScreen{
  position:fixed;inset:0;z-index:9998;
  background:
    radial-gradient(ellipse 1200px 600px at 50% 0%, rgba(212,175,55,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 800px 400px at 80% 100%, rgba(79,158,255,0.04) 0%, transparent 60%),
    linear-gradient(180deg, #0a0d12 0%, #07090f 100%);
  flex-direction:column;align-items:center;justify-content:flex-start;
  overflow-y:auto;padding:48px 24px 60px;
}
#companyScreen::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(212,175,55,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,175,55,0.025) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 40%, black 30%, transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%, black 30%, transparent 90%);
}
#companyScreen > *{position:relative;z-index:1}

.co-header{
  display:flex;flex-direction:column;
  align-items:center;margin-bottom:36px;text-align:center;
  animation:fadeInDown 0.6s ease-out;
}
.co-logo{
  width:220px;object-fit:contain;
  margin-bottom:20px;
  filter:drop-shadow(0 8px 24px rgba(212,175,55,0.2));
}
.co-title{
  font-size:26px;font-weight:700;color:#fff;
  margin-bottom:6px;letter-spacing:-0.4px;
  background:linear-gradient(135deg, #fff 30%, #d4af37 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.co-sub{
  font-size:11px;color:rgba(255,255,255,0.45);
  font-family:var(--mono);letter-spacing:0.08em;
  text-transform:lowercase;
}

/* Stats bar */
.co-stats-bar{
  display:flex;gap:0;
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:14px;padding:4px;
  margin:20px 0 32px;
  animation:fadeInUp 0.7s ease-out 0.1s both;
}
.co-stat-pill{
  display:flex;flex-direction:column;align-items:center;
  padding:12px 22px;
  border-right:1px solid rgba(255,255,255,0.06);
}
.co-stat-pill:last-child{border-right:none}
.co-stat-val{
  font-size:20px;font-weight:700;color:#d4af37;
  letter-spacing:-0.3px;line-height:1;
}
.co-stat-lbl{
  font-size:10px;color:rgba(255,255,255,0.4);
  font-family:var(--mono);letter-spacing:0.06em;
  text-transform:uppercase;margin-top:4px;
}

/* Search */
.co-search-wrap{
  width:100%;max-width:900px;margin:0 0 22px;
  position:relative;
  animation:fadeInUp 0.7s ease-out 0.15s both;
}
.co-search-input{
  width:100%;padding:13px 18px 13px 44px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;color:#fff;
  font-size:13px;font-family:var(--font);
  outline:none;transition:all var(--trans);
}
.co-search-input:focus{
  border-color:rgba(212,175,55,0.5);
  background:rgba(255,255,255,0.05);
  box-shadow:0 0 0 4px rgba(212,175,55,0.08);
}
.co-search-input::placeholder{color:rgba(255,255,255,0.3)}
.co-search-icon{
  position:absolute;left:16px;top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,0.4);
  pointer-events:none;
}

/* Grid */
.co-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;width:100%;max-width:900px;margin-bottom:28px;
}

/* Card de empresa — versão premium */
/* Card de empresa — redesign Linear/Vercel */
.co-card{
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.08);
  border-left:3px solid var(--accent-c, rgba(255,255,255,0.12));
  border-radius:10px;
  padding:18px 20px;
  cursor:pointer;
  transition:background 0.2s, border-color 0.2s, box-shadow 0.2s;
  position:relative;
  animation:cardIn 0.4s ease-out backwards;
}
.co-card:hover{
  background:rgba(255,255,255,0.045);
  border-color:rgba(255,255,255,0.13);
  border-left-color:var(--accent-c, rgba(255,255,255,0.35));
  box-shadow:0 4px 24px rgba(0,0,0,0.25);
}
.co-card:nth-child(1){animation-delay:0.04s}
.co-card:nth-child(2){animation-delay:0.08s}
.co-card:nth-child(3){animation-delay:0.12s}
.co-card:nth-child(4){animation-delay:0.16s}
.co-card:nth-child(5){animation-delay:0.20s}
.co-card:nth-child(6){animation-delay:0.24s}
.co-card:nth-child(n+7){animation-delay:0.28s}

.co-card-head{
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
}
.co-av{
  width:38px;height:38px;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
  letter-spacing:0.5px;
  line-height:1;
  flex-shrink:0;
  border:1px solid rgba(255,255,255,0.08);
}
.co-name{
  font-size:14px;font-weight:600;color:var(--text);
  letter-spacing:-0.2px;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.co-seg{
  font-size:11px;color:var(--text3);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.co-card-body{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,0.05);
  padding-top:12px;gap:8px;
}
.co-data-row{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--text3);
  font-family:var(--mono);
}
.co-data-row svg{flex-shrink:0}
.co-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;
  font-family:var(--mono);letter-spacing:0.03em;
  padding:3px 8px;border-radius:4px;
  font-weight:500;white-space:nowrap;
}
.co-badge-ok{
  background:rgba(34,197,94,0.08);
  color:#22c55e;
  border:1px solid rgba(34,197,94,0.18);
}
.co-badge-empty{
  background:rgba(255,255,255,0.04);
  color:var(--text3);
  border:1px solid rgba(255,255,255,0.07);
}
.co-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.co-badge-ok .co-badge-dot{animation:sync-pulse 2.5s ease-in-out infinite}

.co-del{
  position:absolute;top:12px;right:12px;
  width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;
  border:1px solid transparent;
  color:rgba(255,255,255,0.2);cursor:pointer;
  font-size:11px;line-height:1;
  border-radius:5px;
  transition:all var(--trans);
  opacity:0;
}
.co-card:hover .co-del{opacity:1}
.co-del:hover{
  background:rgba(240,82,82,0.1);
  border-color:rgba(240,82,82,0.25);
  color:#f05252;
}

/* Card adicionar empresa — destaque */
.co-add-card{
  background:linear-gradient(160deg, rgba(212,175,55,0.06) 0%, rgba(212,175,55,0.02) 100%);
  border:2px dashed rgba(212,175,55,0.25);
  border-radius:16px;padding:24px;
  cursor:pointer;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  min-height:160px;
  transition:all var(--trans);
  color:rgba(212,175,55,0.7);
  font-size:13px;font-weight:600;gap:10px;
  position:relative;
  animation:cardIn 0.5s ease-out 0.4s backwards;
}
.co-add-card::before{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:radial-gradient(circle at 50% 50%, rgba(212,175,55,0.1) 0%, transparent 70%);
  opacity:0;transition:opacity 0.3s;
}
.co-add-card:hover{
  border-color:rgba(212,175,55,0.6);
  color:#d4af37;
  background:linear-gradient(160deg, rgba(212,175,55,0.1) 0%, rgba(212,175,55,0.04) 100%);
}
.co-add-card:hover::before{opacity:1}
.co-add-icon{
  width:48px;height:48px;border-radius:50%;
  background:rgba(212,175,55,0.15);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:300;
  transition:all var(--trans);
  position:relative;z-index:1;
}
.co-add-card:hover .co-add-icon{
  background:rgba(212,175,55,0.25);
  transform:rotate(90deg) scale(1.1);
}
.co-add-card span{position:relative;z-index:1}

.co-empty-state{
  grid-column:1/-1;
  text-align:center;padding:60px 20px;
  color:rgba(255,255,255,0.4);
}
.co-empty-state h3{font-size:16px;color:rgba(255,255,255,0.7);margin-bottom:6px}
.co-empty-state p{font-size:12px;font-family:var(--mono)}

.co-actions{
  display:flex;gap:10px;max-width:900px;width:100%;
  justify-content:center;margin-top:14px;
  animation:fadeInUp 0.6s ease-out 0.35s both;
}
.co-logout{
  padding:11px 24px;background:transparent;
  border:1px solid rgba(240,82,82,0.25);
  border-radius:10px;
  color:rgba(240,82,82,0.7);font-size:12px;font-weight:500;
  cursor:pointer;transition:all var(--trans);
  display:flex;align-items:center;gap:7px;
}
.co-logout:hover{
  border-color:rgba(240,82,82,0.5);
  color:#f05252;
  background:rgba(240,82,82,0.05);
}

@keyframes fadeInDown{
  from{opacity:0;transform:translateY(-20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes cardIn{
  from{opacity:0;transform:translateY(20px) scale(0.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ═══════════════════════════════════════════════════════
   MODAL
═══════════════════════════════════════════════════════ */
.modal-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;
}
.modal-overlay.open{display:flex}
.modal-box{
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:16px;padding:28px;
  width:100%;max-width:420px;
  box-shadow:var(--shadow-lg);
}
.modal-title{
  font-size:17px;font-weight:600;
  color:var(--text);margin-bottom:6px;
  letter-spacing:-0.2px;
}
.modal-sub{
  font-size:11px;color:var(--text3);
  font-family:var(--mono);margin-bottom:22px;
}
/* ── Field badge (import cards) ──────────────────────────── */
.field-badge{
  display:inline-flex;align-items:center;
  font-size:var(--fs-2xs);font-weight:var(--fw-semi);
  font-family:var(--mono);
  padding:2px 6px;border-radius:4px;
}
.field-badge--amber{background:var(--amber-bg);color:var(--amber)}
.field-badge--red{background:var(--red-bg);color:var(--red)}
.field-badge--green{background:var(--green-bg);color:var(--green)}

/* ═══════════════════════════════════════════════════════
   DASHBOARD LAYOUT
═══════════════════════════════════════════════════════ */
#dashScreen{
  display:flex;flex-direction:row;
  height:100vh;overflow:hidden;
  background:var(--bg);
}

/* SIDEBAR */
.sb{
  position:fixed;top:0;left:0;bottom:0;
  width:var(--sidebar);
  background:linear-gradient(180deg, rgba(8,12,20,0.98), rgba(11,15,24,0.98));
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex;flex-direction:column;
  z-index:200;
  overflow:hidden;
  box-shadow:2px 0 30px rgba(0,0,0,0.18);
}

.sb-brand{
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
}
.sb-brand img{
  width:170px;max-width:100%;
  height:auto;object-fit:contain;
  display:block;
}

.sb-company{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  background:rgba(255,255,255,0.03);
}
.sb-av{
  width:38px;height:38px;border-radius:12px;
  background:var(--gold-bg);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
  flex-shrink:0;
}
.sb-name{
  font-size:14px;font-weight:700;
  color:var(--text);line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sb-seg{
  font-size:11px;color:var(--text3);
  font-family:var(--mono);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.sb-nav{
  padding:16px 10px 12px;
  flex:1;overflow-y:auto;
  display:flex;flex-direction:column;gap:8px;
}
.nav-grp{
  font-size:var(--fs-2xs);font-family:var(--mono);
  color:var(--text3);
  text-transform:uppercase;
  letter-spacing:var(--ls-widest);
  padding:12px 14px 6px;font-weight:var(--fw-semi);
}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:8px;
  font-size:var(--fs-base);color:var(--text2);
  cursor:pointer;
  transition:background var(--trans),color var(--trans);
  text-decoration:none;
  font-weight:var(--fw-medium);
}
.nav-item:hover{background:rgba(255,255,255,0.05);color:var(--text)}
.nav-item.active{
  background:rgba(212,175,55,0.1);
  color:var(--gold);
}
.nav-icon{
  width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;opacity:.75;
}
.nav-item.active .nav-icon,
.nav-item:hover .nav-icon{ opacity:1; }
.nav-lbl{flex:1}

.sb-footer{
  padding:14px 14px 20px;
  border-top:1px solid rgba(255,255,255,0.07);
  display:flex;flex-direction:column;gap:10px;
}
.sb-user{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:10px;
  background:rgba(255,255,255,0.03);
  min-width:0;
}
.sb-user-av{
  width:30px;height:30px;border-radius:8px;
  background:var(--gold-bg);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:var(--fw-bold);
  flex-shrink:0;letter-spacing:0;
}
.sb-user-info{min-width:0;flex:1}
.sb-user-name{
  font-size:var(--fs-sm);font-weight:var(--fw-semi);
  color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
  line-height:1.3;
}
.sb-user-email{
  font-size:var(--fs-2xs);color:var(--text3);
  font-family:var(--mono);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
  margin-top:1px;
}
[data-theme="light"] .sb-user{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .sb-footer{border-top-color:var(--border)}

/* MAIN */
.main-content{
  margin-left:var(--sidebar);
  flex:1;
  height:100vh;
  overflow-y:auto;
  background:var(--bg);
}

.topbar{
  background:rgba(11,15,24,0.98);
  border-bottom:1px solid rgba(255,255,255,0.06);
  display:flex;flex-direction:column;
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(16px);
}
.tb-row{
  min-height:var(--topbar);
  display:flex;align-items:center;
  justify-content:space-between;
  padding:0 28px;
  width:100%;
}
.tb-left{display:flex;align-items:center;gap:14px}
.tb-right{display:flex;align-items:center;gap:10px}

/* Demo banner (inside topbar) */
[data-theme="light"] .topbar{background:rgba(255,255,255,0.97)}

.crumb{
  display:flex;align-items:center;gap:10px;
  font-size:13px;
  color:var(--text3);
}
.crumb span:first-child{color:var(--text3)}
.crumb-sep{color:var(--text3);opacity:0.55}
.crumb span.crumb-co{
  color:var(--text);font-weight:700;
  letter-spacing:-0.1px;
}

.tb-theme-btn,
.notif-bell-btn,
.tb-presentation-btn{
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.03);color:var(--text2);
  cursor:pointer;
  transition:all var(--trans);
  position:relative;
}
.tb-theme-btn,
.notif-bell-btn{
  width:38px;height:38px;
}
.tb-theme-btn:hover,
.notif-bell-btn:hover,
.tb-presentation-btn:hover{
  background:rgba(255,255,255,0.06);
  color:var(--text);
  border-color:rgba(212,175,55,0.18);
}
.tb-presentation-btn{
  gap:8px;
  min-height:38px;
  padding:0 16px;
  font-size:12px;
  font-weight:700;
  color:var(--text);
  background:linear-gradient(135deg,rgba(79,158,255,0.14),rgba(79,158,255,0.05));
  border-color:rgba(79,158,255,0.24);
}
.tb-presentation-btn.is-active{
  background:linear-gradient(135deg,rgba(29,201,132,0.2),rgba(29,201,132,0.08));
  border-color:rgba(29,201,132,0.35);
  color:#dff9ee;
  box-shadow:0 14px 30px rgba(29,201,132,0.12);
}
.notif-bell-badge{
  position:absolute;top:-4px;right:-4px;
  min-width:18px;height:18px;padding:0 5px;
  background:var(--red);border-radius:999px;
  font-size:10px;font-family:var(--mono);font-weight:700;
  color:#fff;display:flex;
  align-items:center;justify-content:center;
}

.tb-logout-btn{
  display:flex;align-items:center;gap:8px;
  padding:9px 16px;border-radius:12px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.03);color:var(--text2);
  font-size:12px;font-family:var(--font);
  font-weight:600;
  cursor:pointer;transition:all var(--trans);
}
.tb-logout-btn:hover{
  background:rgba(255,255,255,0.06);color:var(--text);
  border-color:rgba(255,255,255,0.12);
}
.tb-logout-btn.danger{
  border-color:rgba(240,82,82,0.18);color:var(--red);
}
.tb-logout-btn.danger:hover{
  background:rgba(240,82,82,0.08);
  border-color:rgba(240,82,82,0.35);
}

.dash-body{
  padding:28px 32px 68px;
  max-width:1380px;
  width:100%;
  margin:0 auto;
}

/* SECTION HEADER */
.sec-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;
  margin:32px 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.sec-head:first-child{margin-top:4px}
.sec-title{
  font-size:var(--fs-lg);font-weight:var(--fw-bold);
  color:var(--text);letter-spacing:var(--ls-tight);
  display:flex;align-items:center;gap:10px;
}
.sec-title span{
  width:10px;height:10px;
  border-radius:50%;
  background:var(--gold);
  display:inline-block;
}
.sec-meta{
  font-size:var(--fs-xs);font-family:var(--mono);
  color:var(--text3);
}

/* KPI CARDS */
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-bottom:16px;
}
.kpi-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  padding:22px;
  position:relative;
  overflow:hidden;
  transition:all var(--trans);
  min-height:150px;
}
.kpi-card:hover{
  border-color:rgba(255,255,255,0.15);
}
.kpi-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.kpi-lbl{
  font-size:var(--fs-xs);color:var(--text3);
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:var(--ls-wider);
  margin-bottom:10px;font-weight:var(--fw-bold);
}
.kpi-val{
  font-size:var(--fs-2xl);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-tight);line-height:var(--lh-tight);
  margin-bottom:8px;
  font-feature-settings:'tnum','cv02','cv03','cv04','cv11';
  font-variant-numeric:tabular-nums;
}
.kpi-delta{
  display:inline-flex;align-items:center;
  font-size:var(--fs-2xs);font-family:var(--mono);font-weight:var(--fw-medium);
  font-feature-settings:'tnum';font-variant-numeric:tabular-nums;
  color:var(--text3);
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:5px;
  padding:2px 6px;
  margin-top:2px;
  letter-spacing:var(--ls-wide);
  width:fit-content;
}
.kpi-bar{
  position:absolute;bottom:16px;left:16px;right:16px;
  height:4px;opacity:0.95;
  border-radius:999px;
}

/* CARDS */
.card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  padding:22px 24px;
  transition:border-color var(--trans),transform var(--trans),box-shadow var(--trans);
  margin-bottom:0;
  box-shadow:0 8px 30px rgba(0,0,0,0.08);
}
.card:hover{border-color:rgba(255,255,255,0.13)}
.card-title{
  font-size:var(--fs-md);font-weight:var(--fw-bold);
  color:var(--text);
  margin-bottom:16px;
  letter-spacing:var(--ls-tight);
}
.presentation-hidden{
  transition:opacity var(--trans),transform var(--trans);
}

/* GRIDS */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:14px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:14px}
.g21{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:14px}

/* CHART WRAPS */
.chart-wrap{position:relative;width:100%;height:240px}
.chart-wrap-lg{position:relative;width:100%;height:300px}
.chart-wrap-sm{position:relative;width:100%;height:180px}

.dre-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(320px,.95fr);
  gap:16px;
}
.dre-hero-card,
.dre-side-card{
  min-height:100%;
}
.dre-card-subtitle{
  margin:-8px 0 16px;
  color:var(--text3);
  font-size:11px;
  line-height:1.5;
}
.dre-pizza-filter-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.dre-pizza-filter-label{
  font-size:11px;
  color:var(--text3);
  font-weight:500;
  white-space:nowrap;
  flex-shrink:0;
}
.dre-pizza-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
@media(max-width:720px){
  .dre-pizza-grid{grid-template-columns:1fr}
}
.dre-distribution-wrap{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:300px;
}
.dre-distribution-toolbar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:2px;
}
.dre-cc-filter{
  position:relative;
  z-index:8;
}
/* ── Trigger chip ── */
.dre-cc-trigger{
  display:inline-flex;
  align-items:center;
  gap:4px;
  height:32px;
  padding:0 10px 0 12px;
  border:1px solid var(--border2);
  border-radius:7px;
  background:var(--bg2);
  font-family:var(--font);
  cursor:pointer;
  transition:all var(--trans);
  max-width:100%;
}
.dre-cc-trigger:hover,.dre-cc-trigger.is-open{
  border-color:rgba(79,158,255,.35);
  background:rgba(79,158,255,.06);
}
.dre-cc-trigger-label{
  font-size:11px;
  font-weight:500;
  color:var(--text3);
  white-space:nowrap;
}
.dre-cc-trigger-sep{
  font-size:11px;
  color:var(--border3);
  margin:0 1px;
}
.dre-cc-trigger-val{
  font-size:11.5px;
  font-weight:700;
  color:var(--text);
  max-width:140px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dre-cc-trigger.is-filtered .dre-cc-trigger-val{color:var(--blue)}
.dre-cc-chevron{
  color:var(--text3);
  flex-shrink:0;
  transition:transform var(--trans);
  margin-left:2px;
}
.dre-cc-trigger.is-open .dre-cc-chevron{transform:rotate(180deg)}
/* ── Popover ── */
.dre-cc-popover{
  position:absolute;
  top:40px;
  left:0;
  right:auto;
  width:min(360px,calc(100vw - 48px));
  border:1px solid var(--border2);
  border-radius:12px;
  background:var(--bg2);
  box-shadow:0 8px 32px rgba(0,0,0,.30);
  overflow:hidden;
}
/* ── Popover header ── */
.dre-cc-pop-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px 12px;
  border-bottom:1px solid var(--border);
  gap:12px;
}
.dre-cc-pop-title{
  font-size:14px;
  font-weight:700;
  color:var(--text);
  letter-spacing:-.01em;
  flex:1;
}
.dre-cc-head-actions{display:flex;gap:6px;flex-shrink:0}
.dre-cc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 14px;
  border-radius:7px;
  font-size:12px;
  font-weight:600;
  font-family:var(--font);
  cursor:pointer;
  transition:all var(--trans);
}
.dre-cc-btn-secondary{
  border:1px solid var(--border2);
  background:transparent;
  color:var(--text2);
}
.dre-cc-btn-secondary:hover{background:var(--bg3);color:var(--text)}
.dre-cc-btn-primary{border:none;background:#2f80ed;color:#fff}
.dre-cc-btn-primary:hover{background:#3b8ef0}
/* ── Search ── */
.dre-cc-search{
  position:relative;
  padding:10px 14px 8px;
  border-bottom:1px solid var(--border);
}
.dre-cc-search-icon{
  position:absolute;
  left:26px;
  top:50%;
  transform:translateY(-50%) translateY(1px);
  color:var(--text3);
  pointer-events:none;
}
.dre-cc-search input{
  width:100%;
  height:34px;
  padding:0 12px 0 34px;
  border:1px solid var(--border2);
  border-radius:7px;
  background:var(--bg3);
  color:var(--text);
  font-size:12px;
  font-family:var(--font);
  outline:none;
  transition:border-color var(--trans),background var(--trans);
}
.dre-cc-search input::placeholder{color:var(--text3)}
.dre-cc-search input:focus{
  border-color:rgba(79,158,255,.45);
  background:var(--bg2);
  box-shadow:0 0 0 3px rgba(79,158,255,.08);
}
/* ── List ── */
.dre-cc-list{max-height:240px;overflow:auto;padding:4px 0}
/* ── Options ── */
.dre-cc-option{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:0 14px;
  cursor:pointer;
  color:var(--text2);
  font-size:12.5px;
  font-weight:500;
  transition:background var(--trans);
}
.dre-cc-option:hover{background:rgba(255,255,255,.04);color:var(--text)}
.dre-cc-option.is-master{
  position:sticky;top:0;z-index:1;
  background:var(--bg3);
  border-bottom:1px solid var(--border);
  font-weight:700;
  color:var(--text);
  margin-bottom:2px;
}
.dre-cc-option.is-master:hover{background:var(--bg3)}
.dre-cc-opt-label{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dre-cc-count{
  font-size:10.5px;
  color:var(--text3);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  font-family:var(--mono);
  flex-shrink:0;
}
.dre-cc-option input[type="checkbox"]{
  width:15px;
  height:15px;
  accent-color:#2f80ed;
  flex-shrink:0;
  cursor:pointer;
}
/* ── Empty ── */
.dre-cc-empty{padding:20px;color:var(--text3);font-size:12px;text-align:center}
/* ── Warning ── */
.dre-cc-warning{
  margin:10px 14px 4px;
  padding:9px 12px;
  border:1px solid rgba(245,158,11,.25);
  border-radius:7px;
  background:rgba(245,158,11,.08);
  color:#f59e0b;
  font-size:11px;
  line-height:1.5;
}
/* ── Applied label ── */
.dre-cc-applied{
  font-size:10px;
  color:var(--text3);
  font-family:var(--mono);
  text-align:right;
}
.dre-cc-applied.is-warning{color:#f59e0b}
.dre-distribution-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.dre-distribution-stat{
  padding:12px 14px;
  border:1px solid var(--border2);
  border-top:2px solid var(--gold);
  border-radius:10px;
  background:var(--bg2);
}
.dre-distribution-stat span{
  display:block;
  font-size:10px;
  color:var(--text3);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:6px;
}
.dre-distribution-stat strong{
  display:block;
  font-size:17px;
  font-family:var(--mono);
  font-weight:700;
  color:var(--text);
  line-height:1.2;
}
.dre-distribution-stat small{
  display:block;
  margin-top:5px;
  color:var(--text3);
  font-size:10px;
  line-height:1.4;
}
.dre-distribution-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dre-dist-item{
  padding:10px 12px;
  border:1px solid var(--border2);
  border-radius:8px;
  background:transparent;
  transition:background .12s;
}
.dre-dist-item:hover{
  background:rgba(255,255,255,.03);
}
.dre-dist-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}
.dre-dist-label{
  font-size:11.5px;
  font-weight:600;
  color:var(--text);
  line-height:1.3;
}
.dre-dist-share{
  font-size:10px;
  color:var(--text3);
  margin-top:2px;
  font-family:var(--mono);
}
.dre-dist-value{
  text-align:right;
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  flex-shrink:0;
}
.dre-dist-track{
  width:100%;
  height:4px;
  border-radius:999px;
  background:var(--bg3);
  overflow:hidden;
}
.dre-dist-fill{
  height:100%;
  border-radius:999px;
  transition:width .4s ease;
}
.dre-dist-fill.is-positive{
  background:var(--green);
  opacity:.7;
}
.dre-dist-fill.is-negative{
  background:var(--red);
  opacity:.7;
}
.dre-dist-fill.is-neutral{
  background:var(--gold);
  opacity:.7;
}

/* TABELAS DENTRO DOS CARDS */
.data-table{
  width:100%;border-collapse:collapse;
  font-size:12px;
}
.data-table thead th{
  text-align:left;padding:10px 12px;
  color:var(--gold);font-weight:700;
  font-size:10px;font-family:var(--mono);
  text-transform:uppercase;letter-spacing:0.08em;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.data-table tbody td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:var(--text);
}
.data-table tbody tr:hover td{background:rgba(255,255,255,0.03)}
.data-table .num{
  text-align:right;font-family:var(--mono);
}

/* EMPTY STATE */
.empty-state{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:44px 24px;
  background:rgba(255,255,255,0.02);
  border-radius:12px;
  border:1px dashed rgba(255,255,255,0.07);
}
.es-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.09);
  display:flex;align-items:center;justify-content:center;
  color:var(--text3);
  margin-bottom:13px;
  flex-shrink:0;
}
.es-title{
  font-size:var(--fs-base);font-weight:var(--fw-semi);
  color:var(--text2);
  margin-bottom:5px;
  letter-spacing:var(--ls-tight);
}
.es-sub{
  font-size:var(--fs-xs);color:var(--text3);
  max-width:260px;line-height:var(--lh-relaxed);
  font-family:var(--mono);
}

/* IMPORT SLOTS */
.import-grid-dash{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.imp-slot{
  background:rgba(255,255,255,0.03);
  border:1.5px dashed rgba(255,255,255,0.1);
  border-radius:16px;
  padding:18px;
  cursor:pointer;
  transition:all var(--trans);
  position:relative;
  min-height:120px;
}
.imp-slot:hover,
.imp-slot.drag-over{
  border-color:rgba(212,175,55,0.5);
  background:rgba(212,175,55,0.06);
}
.imp-slot.loaded{
  border-color:rgba(29,201,132,0.4);
  border-style:solid;
  background:rgba(29,201,132,0.08);
}
.imp-slot.loaded .imp-icon{filter:hue-rotate(80deg)}
.imp-icon{
  font-size:20px;margin-bottom:10px;display:block;
}
.imp-name{
  font-size:13px;font-weight:700;color:var(--text);
  margin-bottom:6px;letter-spacing:-0.08px;
}
.imp-desc{
  font-size:10px;color:var(--text3);
  line-height:1.5;font-family:var(--mono);
}
.imp-status{
  font-size:10px;margin-top:10px;
  font-family:var(--mono);color:var(--text3);
}
.imp-status.ok{color:var(--green)}
.imp-status.err{color:var(--red)}
.imp-drag-hint{
  position:absolute;inset:0;border-radius:16px;
  background:rgba(212,175,55,0.08);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;opacity:0;transition:opacity 0.15s;
}
.imp-slot.drag-over .imp-drag-hint{opacity:1}
.imp-drag-hint span{
  font-size:11px;color:var(--gold);
  font-family:var(--mono);font-weight:700;
}

.imp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);
  color:var(--text);
  font-size:12px;font-weight:700;
  cursor:pointer;
  transition:all var(--trans);
  white-space:nowrap;
}
.imp-btn:hover{background:rgba(255,255,255,0.1)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:14px;
  border:1px solid transparent;
  font-family:var(--font);
  font-size:12px;
  font-weight:600;
  color:var(--text);
  background:rgba(255,255,255,0.05);
  cursor:pointer;
  transition:all var(--trans);
  text-decoration:none;
}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn-sm{padding:8px 12px;font-size:11px;border-radius:12px;}
.btn-primary{background:linear-gradient(135deg,#b8941f 0%,#d4af37 48%,#f4dd83 100%);color:#1a1200;border-color:transparent;box-shadow:0 12px 28px rgba(212,175,55,0.18);}
.btn-secondary{background:rgba(255,255,255,0.06);color:var(--text);border-color:rgba(255,255,255,0.12);}
.btn-secondary:hover{background:rgba(255,255,255,0.1);}
.btn-outline{background:transparent;color:var(--text2);border-color:rgba(255,255,255,0.12);}
.btn-outline:hover{background:rgba(255,255,255,0.06);}
.btn-danger{background:rgba(240,82,82,0.12);color:var(--red);border-color:rgba(240,82,82,0.35);}
.btn-danger:hover{background:rgba(240,82,82,0.18);}
.btn-icon{width:34px;height:34px;padding:0;border-radius:12px;min-width:34px;min-height:34px;}
.imp-btn.accent-gold{background:rgba(201,168,76,0.18);border-color:rgba(201,168,76,0.4);color:var(--gold);}
.imp-btn.accent-amber{background:rgba(245,158,11,0.18);border-color:rgba(245,158,11,0.35);color:#f59e0b;}
.imp-btn.accent-red{background:rgba(240,82,82,0.18);border-color:rgba(240,82,82,0.35);color:#f05252;}
.imp-btn.accent-green{background:rgba(29,201,132,0.18);border-color:rgba(29,201,132,0.35);color:#1dc984;}
.imp-btn.accent-blue{background:rgba(79,158,255,0.18);border-color:rgba(79,158,255,0.35);color:#4f9eff;}

.btn-reimport{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:14px;
  border:1px solid rgba(212,175,55,0.3);
  background:rgba(212,175,55,0.08);
  color:var(--gold);
  font-size:12px;font-weight:700;
  cursor:pointer;transition:all var(--trans);
  width:100%;justify-content:center;
}
.btn-reimport:hover{background:rgba(212,175,55,0.14)}

.srch-inp{
  flex:1;min-width:160px;padding:11px 14px;
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);
  border-radius:14px;color:var(--text);
  font-size:12px;font-family:var(--font);
  outline:none;
  transition:border-color var(--trans);
}
.srch-inp:focus{border-color:var(--gold)}

/* TABS */
.fluxo-tab-group,
.dre-period-group{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.fluxo-card{
  padding:20px 22px 24px;
}
.fluxo-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.fluxo-toolbar{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.fluxo-year-selector{
  display:flex;
  align-items:center;
  gap:4px;
}
.fluxo-year-btn{
  height:34px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  background:rgba(255,255,255,0.03);
  color:var(--text2);
  font-size:13px;
  font-weight:600;
  font-family:var(--mono);
  letter-spacing:0.02em;
  cursor:pointer;
  transition:all var(--trans);
}
.fluxo-year-btn:hover{
  background:rgba(255,255,255,0.07);
  color:var(--text);
}
.fluxo-year-btn.active{
  background:rgba(79,158,255,0.12);
  border-color:rgba(79,158,255,0.32);
  color:var(--blue);
}
.fluxo-tab-shell{
  gap:0;
  margin-bottom:0;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  border-radius:9px;
  padding:3px;
  overflow:hidden;
}
.fluxo-card-title{
  font-size:18px;
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.02em;
  margin-bottom:4px;
}
.fluxo-card-subtitle{
  font-size:11px;
  color:var(--text3);
  line-height:1.5;
}
.fluxo-chart-wrap{
  position:relative;
  width:100%;
  height:440px;
}
.fluxo-chart-wrap.is-daily{
  height:700px;
}
.fluxo-tab-group button,
.dre-period-btn{
  padding:11px 20px;
  border-radius:14px;
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(255,255,255,0.1);
  color:var(--text2);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:all var(--trans);
}
.fluxo-tab-group button:hover,
.dre-period-btn:hover{background:rgba(255,255,255,0.08);transform:translateY(-1px)}
.fluxo-tab-group button.active,
.dre-period-btn.active{
  background:linear-gradient(135deg,rgba(212,175,55,0.22),rgba(212,175,55,0.42));
  border-color:rgba(212,175,55,0.42);
  color:#fff;
  box-shadow:0 10px 28px rgba(212,175,55,0.12);
}
.fluxo-tab-shell button{
  min-width:80px;
  padding:5px 14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  border:none;
  border-radius:6px;
  margin:0;
  background:transparent;
  color:var(--text3);
}
.fluxo-tab-shell button:last-child{
  border-right:none;
}
.fluxo-tab-shell button:hover{
  background:rgba(255,255,255,0.07);
  color:var(--text2);
  transform:none;
}
.fluxo-tab-shell button.active{
  background:rgba(212,175,55,0.12);
  border-color:transparent;
  color:var(--gold-light);
  box-shadow:none;
}

/* NOTIF PANEL */
.notif-panel{
  position:fixed;top:70px;right:20px;
  width:340px;max-height:440px;
  background:rgba(11,15,24,0.98);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,0.3);
  z-index:5000;
  display:none;flex-direction:column;
  overflow:hidden;
}
.notif-panel.open{display:flex}
.notif-header{
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:space-between;
}
#notifList{flex:1;overflow-y:auto;max-height:380px}
.notif-item{
  display:flex;gap:12px;padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:background var(--trans);cursor:pointer;
}
.notif-item:hover{background:rgba(255,255,255,0.04)}
.notif-item.unread{background:rgba(212,175,55,0.06)}
.notif-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.notif-title{font-size:12px;font-weight:600;margin-bottom:4px;color:var(--text)}
.notif-time{font-size:10px;font-family:var(--mono);color:var(--text3)}

/* MOBILE */
.mobile-menu-btn{
  display:none;
  align-items:center;justify-content:center;
  width:34px;height:34px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.03);color:var(--text2);
  cursor:pointer;font-size:20px;
}
.sidebar-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.45);z-index:199;
}
.sidebar-overlay.visible{display:block}

@media(max-width:1280px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .g2,.g3,.g4,.g21{grid-template-columns:1fr}
  .fluxo-year-selector{
    flex-wrap:wrap;
  }
  .dre-distribution-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .dre-cc-popover{
    left:0;
    right:auto;
  }
}
@media(max-width:768px){
  .sb{transform:translateX(-100%);transition:transform 0.3s;z-index:300}
  .sb.open{transform:translateX(0)}
  .main-content{margin-left:0}
  .topbar{padding:0 16px}
  .dash-body{padding:16px}
  .mobile-menu-btn{display:flex}
  .tb-logout-btn span{display:none}
  .tb-presentation-btn span{display:none}
  .tb-presentation-btn{padding:0 12px}
  .crumb{font-size:12px}
  .tb-right{gap:4px}
  .tb-export-btn span{display:none}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr 1fr}
  .tb-export-btn span,.tb-logout-btn span{display:none}
}

/* PRINT */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .sb,.topbar,.notif-panel,.modal-overlay,.smart-alerts,
  .import-card-wrap,.import-info-card,#sk-layer,#onboarding-guide,
  .tb-export-btn,.tb-presentation-btn,.tb-logout-btn,
  .notif-bell-btn,.tb-theme-btn,.mobile-menu-btn{display:none!important}
  .main-content{margin-left:0!important}
  .dash-body{padding:16px 24px 32px!important;max-width:100%!important}
  .card,.kpi-card{break-inside:avoid;page-break-inside:avoid}
  .kpi-grid{grid-template-columns:repeat(4,1fr)!important}
  .sec-head{break-after:avoid;page-break-after:avoid}
  canvas{max-width:100%;display:block}
  @page{margin:14mm 12mm;size:A4}
}

.kpi-trend{
  display:inline-flex;align-items:center;gap:3px;
  font-size:var(--fs-2xs);font-weight:var(--fw-semi);
  font-family:var(--mono);
  font-feature-settings:'tnum';font-variant-numeric:tabular-nums;
  margin-top:4px;
}
.kpi-trend.up{color:var(--green)}
.kpi-trend.down{color:var(--red)}

.tb-export-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg3);border:1px solid var(--border2);border-radius:6px;color:var(--text2);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--trans);white-space:nowrap}
.tb-export-btn:hover{border-color:var(--gold-bg);color:var(--gold)}

.smart-alerts{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px 24px;background:var(--bg);border-bottom:1px solid var(--border)}
.alert-item{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 10px;border-radius:8px;flex:1 1 260px;max-width:560px;position:relative;border-left:3px solid transparent;transition:opacity .2s,transform .2s}
.alert-danger{background:rgba(240,82,82,.07);border:1px solid rgba(240,82,82,.18);border-left-color:#f05252}
.alert-warning{background:rgba(249,115,22,.07);border:1px solid rgba(249,115,22,.2);border-left-color:#f97316}
.alert-info{background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.18);border-left-color:var(--gold)}
.alert-icon-box{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.alert-danger .alert-icon-box{background:rgba(240,82,82,.15)}
.alert-info .alert-icon-box{background:rgba(201,168,76,.12)}
.alert-body{flex:1;min-width:0}
.alert-title{font-size:11px;font-weight:700;color:var(--text);margin-bottom:2px}
.alert-desc{font-size:10px;color:var(--text3);line-height:1.4}
.alert-desc strong{color:var(--text2);font-weight:600}
.alert-dismiss{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text3);cursor:pointer;border-radius:4px;font-size:16px;line-height:1;flex-shrink:0;opacity:.45;transition:all var(--trans);padding:0}
.alert-dismiss:hover{opacity:1;background:var(--bg3);color:var(--text)}

/* ANIMAÇÕES */
@keyframes fadeIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.kpi-card,.card{animation:fadeIn 0.4s ease-out both}
.kpi-card:nth-child(1){animation-delay:0.04s}
.kpi-card:nth-child(2){animation-delay:0.08s}
.kpi-card:nth-child(3){animation-delay:0.12s}
.kpi-card:nth-child(4){animation-delay:0.16s}

body.presentation-mode .sb,
body.presentation-mode .sidebar-overlay,
body.presentation-mode .notif-panel{
  display:none !important;
}
body.presentation-mode{
  background:
    radial-gradient(circle at top, rgba(79,158,255,0.14), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(212,175,55,0.1), transparent 24%),
    linear-gradient(180deg, #07101a 0%, #08111c 42%, #060b13 100%);
}
body.presentation-mode .main-content{
  margin-left:0;
  background:transparent;
}
body.presentation-mode .dash-body{
  max-width:1520px;
  padding:14px 32px 100px;
}
body.presentation-mode .presentation-hidden,
body.presentation-mode .smart-alerts{
  display:none !important;
}
body.presentation-mode .topbar{
  position:sticky;
  top:16px;
  width:min(1320px, calc(100% - 48px));
  margin:16px auto 22px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:24px;
  background:rgba(6,11,19,0.74);
  box-shadow:0 24px 70px rgba(0,0,0,0.34);
  backdrop-filter:blur(18px) saturate(130%);
}
body.presentation-mode .tb-theme-btn,
body.presentation-mode .notif-bell-btn,
body.presentation-mode .tb-export-btn,
body.presentation-mode .tb-logout-btn{
  display:none !important;
}
body.presentation-mode .tb-right{
  gap:0;
}
body.presentation-mode .tb-left{
  gap:18px;
}
body.presentation-mode .crumb span:first-child,
body.presentation-mode .crumb-sep{
  display:none;
}
body.presentation-mode .crumb-co{
  font-size:18px;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#f7fbff;
}
body.presentation-mode .tb-presentation-btn{
  min-height:44px;
  padding:0 18px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  border-color:rgba(255,255,255,0.12);
  box-shadow:0 14px 34px rgba(0,0,0,0.2);
}
body.presentation-mode .tb-presentation-btn.is-active{
  background:linear-gradient(135deg, rgba(212,175,55,0.22), rgba(79,158,255,0.18));
  border-color:rgba(255,255,255,0.18);
  color:#fff7db;
}
body.presentation-mode .sec-head{
  margin:36px 0 20px;
  padding-bottom:14px;
  border-bottom-color:rgba(255,255,255,0.1);
}
body.presentation-mode .sec-head:first-child{
  margin-top:8px;
}
body.presentation-mode .sec-title{
  font-size:18px;
  letter-spacing:-0.03em;
}
body.presentation-mode .sec-meta{
  font-size:12px;
  color:rgba(220,232,244,0.68);
}
body.presentation-mode .kpi-grid{
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:16px;
  margin-bottom:24px;
}
body.presentation-mode .kpi-card{
  min-height:176px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
  border-color:rgba(255,255,255,0.09);
  box-shadow:0 18px 44px rgba(0,0,0,0.18);
}
body.presentation-mode .kpi-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  margin-bottom:18px;
  font-size:18px;
}
body.presentation-mode .kpi-lbl{
  font-size:10px;
  letter-spacing:0.16em;
}
body.presentation-mode .kpi-val{
  font-size:26px;
}
body.presentation-mode .kpi-delta,
body.presentation-mode .kpi-trend{
  font-size:11px;
}
body.presentation-mode .card{
  border-radius:28px;
  border-color:rgba(255,255,255,0.09);
  background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
  box-shadow:0 20px 56px rgba(0,0,0,0.18);
}
body.presentation-mode .card-title{
  font-size:16px;
  letter-spacing:-0.02em;
}
body.presentation-mode .chart-wrap-lg{
  height:380px;
}
body.presentation-mode .fluxo-card{
  padding:26px 28px 30px;
}
body.presentation-mode .fluxo-card-head{
  margin-bottom:22px;
}
body.presentation-mode .fluxo-card-title{
  font-size:24px;
  letter-spacing:-0.03em;
}
body.presentation-mode .fluxo-card-subtitle{
  font-size:12px;
  color:rgba(220,232,244,0.66);
}
body.presentation-mode .fluxo-chart-wrap{
  height:560px;
}
body.presentation-mode .fluxo-chart-wrap.is-daily{
  height:760px;
}
body.presentation-mode .dre-hero-grid{
  gap:18px;
}
body.presentation-mode #analise-resultado .card,
body.presentation-mode #dre-wrap,
body.presentation-mode #rec-detail-wrap,
body.presentation-mode #inad-wrap{
  font-size:13px;
}

/* ── Modo Apresentação: oculta todos os controles de importação ── */
body.presentation-mode .imp-btn,
body.presentation-mode [data-action="trigger-import"],
body.presentation-mode [data-action="clear-import"],
body.presentation-mode .btn-reimport,
body.presentation-mode [id^="clear-"][id$="-btn"] {
  display: none !important;
}

/* ── Modo Apresentação: import info cards — centralizados e limpos ── */
body.presentation-mode .import-card-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
body.presentation-mode .import-info-card {
  max-width: 540px;
  width: 100%;
  padding: 22px 28px !important;
  border-radius: 20px !important;
  justify-content: center !important;
  align-items: center !important;
}
body.presentation-mode .import-filename {
  display: none !important;
}
body.presentation-mode .import-btn-group {
  display: none !important;
}
body.presentation-mode .import-info-row {
  justify-content: center !important;
  width: 100%;
}
body.presentation-mode .import-info-content {
  flex: unset !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
body.presentation-mode .import-info-content .card-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  margin-bottom: 0 !important;
}
body.presentation-mode .import-badges {
  justify-content: center;
}
body.presentation-mode .import-badges .field-badge {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
}
body.presentation-mode .import-badges span {
  font-size: 10px !important;
  padding: 3px 9px !important;
  border-radius: 5px !important;
}
/* DRE — icon + title centralizados em coluna */
body.presentation-mode .import-info-inner {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center;
  gap: 10px !important;
}
body.presentation-mode .import-info-inner > div {
  text-align: center;
}
/* Fluxo — dois cards lado a lado, centralizados */
body.presentation-mode .import-cards-grid {
  display: flex !important;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
body.presentation-mode .import-cards-grid .import-info-card {
  max-width: 260px;
  flex: 1;
}

.kpi-card:nth-child(5){animation-delay:0.20s}
.kpi-card:nth-child(6){animation-delay:0.24s}
.kpi-card:nth-child(7){animation-delay:0.28s}



/* ═══════════════════════════════════════════════════════
   MODAL PREMIUM — Nova Empresa
═══════════════════════════════════════════════════════ */
.modal-overlay{
  background:rgba(0,0,0,0.78);
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  animation:modalFade 0.25s ease-out;
}
.modal-overlay.open .modal-box{animation:modalPop 0.4s cubic-bezier(.34,1.56,.64,1)}
.modal-box{
  background:linear-gradient(160deg,#161b22 0%,#0e1219 100%);
  border:1px solid rgba(212,175,55,0.18);
  border-radius:18px;padding:0;
  width:100%;max-width:460px;
  box-shadow:
    0 30px 80px rgba(0,0,0,0.6),
    0 0 0 1px rgba(212,175,55,0.08),
    inset 0 1px 0 rgba(255,255,255,0.04);
  overflow:hidden;
  position:relative;
}
.modal-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,#d4af37 30%,#f5d96b 50%,#d4af37 70%,transparent);
  opacity:0.7;
}
.modal-head{
  padding:24px 28px 18px;
  border-bottom:1px solid rgba(255,255,255,0.05);
  background:radial-gradient(ellipse 400px 200px at 50% -50%,rgba(212,175,55,0.08) 0%,transparent 70%);
  position:relative;
}
.modal-icon-wrap{
  width:48px;height:48px;border-radius:14px;
  background:linear-gradient(135deg,rgba(212,175,55,0.18),rgba(212,175,55,0.05));
  border:1px solid rgba(212,175,55,0.25);
  display:flex;align-items:center;justify-content:center;
  color:#d4af37;font-size:22px;
  margin-bottom:14px;
  box-shadow:0 8px 20px rgba(212,175,55,0.12);
}
.modal-title{
  font-size:19px;font-weight:700;
  color:#fff;margin-bottom:4px;letter-spacing:-0.3px;
}
.modal-sub{
  font-size:11px;color:rgba(255,255,255,0.45);
  font-family:var(--mono);letter-spacing:0.04em;margin-bottom:0;
}
.modal-body{padding:22px 28px 20px}

/* Live preview avatar */
.modal-preview{
  display:flex;align-items:center;gap:14px;
  padding:14px;margin-bottom:20px;
  background:rgba(255,255,255,0.02);
  border:1px dashed rgba(255,255,255,0.08);
  border-radius:12px;
  transition:all 0.3s;
}
.modal-preview.has-data{
  background:rgba(212,175,55,0.04);
  border:1px solid rgba(212,175,55,0.18);
  border-style:solid;
}
.mp-av{
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.3);
  border:1.5px solid rgba(255,255,255,0.06);
  transition:all 0.4s cubic-bezier(.34,1.56,.64,1);
  position:relative;overflow:hidden;
}
.mp-av::after{
  content:'';position:absolute;inset:0;border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,0.18) 0%,transparent 50%);
  pointer-events:none;
}
.mp-info{flex:1;min-width:0}
.mp-name{
  font-size:14px;font-weight:600;color:#fff;
  margin-bottom:3px;letter-spacing:-0.2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mp-name-empty{color:rgba(255,255,255,0.3);font-weight:400;font-style:italic}
.mp-seg{
  font-size:11px;color:rgba(255,255,255,0.45);
  font-family:var(--mono);
}

.modal-label{
  font-size:var(--fs-xs);color:var(--text3);
  display:block;margin-bottom:7px;font-weight:var(--fw-semi);
  letter-spacing:var(--ls-wide);text-transform:uppercase;
}
.modal-inp{
  width:100%;padding:11px 14px;
  background:var(--bg3);
  border:1px solid var(--border2);
  border-radius:10px;color:var(--text);
  font-size:var(--fs-base);font-family:var(--font);
  outline:none;margin-bottom:16px;
  transition:all 0.2s;
}
.modal-inp:focus{
  border-color:rgba(212,175,55,0.5);
  background:var(--bg3);
  box-shadow:0 0 0 3px rgba(212,175,55,0.1);
}
.modal-inp::placeholder{color:var(--text3);opacity:0.7}

/* Sugestões de segmento (chips) */
.seg-chips{
  display:flex;flex-wrap:wrap;gap:6px;
  margin:-8px 0 16px;
}
.seg-chip{
  padding:5px 11px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  color:rgba(255,255,255,0.55);
  font-size:11px;font-family:var(--mono);
  cursor:pointer;
  transition:all 0.18s;
}
.seg-chip:hover{
  background:rgba(212,175,55,0.08);
  border-color:rgba(212,175,55,0.3);
  color:#d4af37;
  transform:translateY(-1px);
}
.seg-chip.active{
  background:rgba(212,175,55,0.15);
  border-color:rgba(212,175,55,0.5);
  color:#d4af37;font-weight:600;
}

.modal-actions{
  display:flex;gap:10px;justify-content:flex-end;
  padding:16px 28px 22px;
  border-top:1px solid var(--border);
  background:var(--bg3);
}
.btn-cancel{
  padding:10px 20px;background:transparent;
  border:1px solid var(--border2);border-radius:9px;
  color:var(--text2);font-size:var(--fs-sm);font-weight:var(--fw-medium);
  cursor:pointer;transition:all 0.2s;
}
.btn-cancel:hover{
  background:var(--bg4);
  border-color:var(--border3);
  color:var(--text);
}
.btn-save{
  padding:10px 24px;
  background:linear-gradient(135deg, var(--gold-dark) 0%, var(--gold) 100%);
  border:none;border-radius:9px;
  color:#1a1200;font-size:var(--fs-sm);font-weight:var(--fw-bold);
  cursor:pointer;transition:filter var(--trans), box-shadow var(--trans);
  letter-spacing:var(--ls-wide);
  box-shadow:0 2px 10px rgba(212,175,55,0.2);
}
.btn-save:hover{filter:brightness(1.07);box-shadow:0 4px 16px rgba(212,175,55,0.3)}
.btn-save:active{filter:brightness(0.96)}
.btn-save:disabled{
  opacity:0.4;cursor:not-allowed;
  background:var(--bg4);color:var(--text3);
  box-shadow:none;
}

@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalPop{
  from{opacity:0;transform:scale(0.92) translateY(20px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes shake{
  0%,100%{transform:translateX(0)}
  20%,60%{transform:translateX(-6px)}
  40%,80%{transform:translateX(6px)}
}

/* ═══════════════════════════════════════════════════════
   DASH EMPRESAS CARDS PREMIUM
═══════════════════════════════════════════════════════ */
.emp-dash-card{
  background:linear-gradient(160deg,rgba(255,255,255,0.03) 0%,rgba(255,255,255,0.01) 100%);
  border:1px solid var(--border);
  border-radius:12px;padding:14px;
  cursor:pointer;
  transition:all 0.25s cubic-bezier(.34,1.56,.64,1);
  position:relative;overflow:hidden;
  animation:cardIn 0.4s ease-out backwards;
}
.emp-dash-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--ec,#d4af37),transparent);
  transform:scaleX(0);transition:transform 0.3s;transform-origin:left;
}
.emp-dash-card:hover{
  border-color:rgba(212,175,55,0.3);
  box-shadow:0 12px 28px rgba(0,0,0,0.3);
}
.emp-dash-card:hover::before{transform:scaleX(1)}
.emp-dash-card.is-current{
  border-color:rgba(212,175,55,0.4);
  background:linear-gradient(160deg,rgba(212,175,55,0.05) 0%,rgba(212,175,55,0.01) 100%);
}
.emp-dash-card.is-current::before{transform:scaleX(1)}
.edc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.edc-av{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
  flex-shrink:0;
}
.edc-info{min-width:0;flex:1}
.edc-name{
  font-size:13px;font-weight:600;color:var(--text);
  display:flex;align-items:center;gap:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.edc-badge-cur{
  font-size:8px;font-family:var(--mono);
  padding:2px 6px;border-radius:8px;
  background:rgba(212,175,55,0.15);color:#d4af37;
  letter-spacing:0.05em;text-transform:uppercase;font-weight:700;
  flex-shrink:0;
}
.edc-seg{
  font-size:10px;color:var(--text3);
  font-family:var(--mono);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.edc-status{
  font-size:10px;margin-bottom:10px;
  display:flex;align-items:center;gap:5px;
  font-family:var(--mono);
}
.edc-status .dot{width:6px;height:6px;border-radius:50%}
.edc-status.ok{color:#1dc984}
.edc-status.ok .dot{background:#1dc984;box-shadow:0 0 6px #1dc984}
.edc-status.empty{color:var(--text3)}
.edc-status.empty .dot{background:var(--text3)}
.edc-actions{display:flex;gap:6px}
.edc-btn{
  flex:1;padding:6px 8px;
  border-radius:7px;border:1px solid;
  font-size:10px;font-weight:600;cursor:pointer;
  transition:all 0.2s;
  font-family:var(--font);
}
.edc-btn-select{
  background:rgba(212,175,55,0.08);
  border-color:rgba(212,175,55,0.25);
  color:#d4af37;
}
.edc-btn-select:hover{
  background:rgba(212,175,55,0.15);
  border-color:rgba(212,175,55,0.5);
}
.edc-btn-del{
  flex:0;padding:6px 10px;
  background:rgba(240,82,82,0.06);
  border-color:rgba(240,82,82,0.18);
  color:#f05252;
}
.edc-btn-del:hover{
  background:rgba(240,82,82,0.15);
  border-color:rgba(240,82,82,0.4);
}

/* ═══════════════════════════════════════════════════════
   VISUAL POLISH — Enhanced Components
═══════════════════════════════════════════════════════ */

/* KPI Cards — color-coded accent per position */
.kpi-card:nth-child(1){--kca:var(--gold)}
.kpi-card:nth-child(2){--kca:var(--blue)}
.kpi-card:nth-child(3){--kca:#06b6d4}
.kpi-card:nth-child(4){--kca:var(--green)}
.kpi-card:nth-child(5){--kca:var(--amber)}
.kpi-card:nth-child(6){--kca:var(--red)}
.kpi-card:nth-child(7){--kca:var(--purple)}

.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:2px;border-radius:22px 22px 0 0;
  background:var(--kca,var(--gold));opacity:0.45;
  transition:opacity var(--trans);
}
.kpi-card:hover::before{opacity:0.9}

.kpi-card:nth-child(1):hover{border-color:rgba(212,175,55,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(212,175,55,0.1)}
.kpi-card:nth-child(2):hover{border-color:rgba(79,158,255,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(79,158,255,0.1)}
.kpi-card:nth-child(3):hover{border-color:rgba(6,182,212,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(6,182,212,0.1)}
.kpi-card:nth-child(4):hover{border-color:rgba(29,201,132,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(29,201,132,0.1)}
.kpi-card:nth-child(5):hover{border-color:rgba(245,158,11,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(245,158,11,0.1)}
.kpi-card:nth-child(6):hover{border-color:rgba(240,82,82,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(240,82,82,0.1)}
.kpi-card:nth-child(7):hover{border-color:rgba(167,139,250,0.3);box-shadow:0 20px 44px rgba(0,0,0,0.22),0 0 0 1px rgba(167,139,250,0.1)}

/* KPI bar — flush with card bottom */
.kpi-bar{
  bottom:0!important;left:0!important;right:0!important;
  height:3px!important;border-radius:0 0 22px 22px!important;
  opacity:0.6;
}

/* Section title — vertical bar accent instead of dot */
.sec-title span{
  width:3px;height:16px;
  border-radius:2px;
  background:var(--gold);
  display:inline-block;
  font-size:0;line-height:0;
  overflow:hidden;
  vertical-align:middle;
  flex-shrink:0;
}

/* Section head — first one needs no top margin */
.dash-body > .sec-head:first-child{margin-top:0}

/* Card — add position for pseudo-elements */
.card{position:relative;overflow:hidden}
.card::after{
  content:'';position:absolute;inset:0;
  border-radius:22px;
  background:radial-gradient(ellipse 80% 30% at 50% 0%,rgba(255,255,255,0.022),transparent);
  pointer-events:none;
}

/* Card title — stronger visual anchor */
.card-title{
  display:flex;align-items:center;gap:10px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  margin-bottom:18px!important;
}
.card-title-icon{
  width:30px;height:30px;border-radius:8px;
  background:var(--gold-bg2);border:1px solid rgba(212,175,55,0.2);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}

/* Toast notification */
.vero-toast{
  position:fixed;bottom:24px;right:24px;z-index:99999;
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:10px;
  padding:11px 16px;
  font-size:var(--fs-sm);color:var(--text);
  box-shadow:0 8px 28px rgba(0,0,0,0.4);
  max-width:340px;line-height:var(--lh-snug);
  transform:translateY(14px);opacity:0;
  transition:transform 0.3s cubic-bezier(.34,1.56,.64,1),opacity 0.22s ease;
  pointer-events:none;
  border-left:3px solid var(--gold);
  display:flex;align-items:center;gap:10px;
}
.vero-toast.show{transform:translateY(0);opacity:1;pointer-events:auto}
.vero-toast.toast-success{border-left-color:var(--green)}
.vero-toast.toast-error{border-left-color:var(--red)}
.vero-toast.toast-warn{border-left-color:var(--amber)}
.toast-icon{flex-shrink:0;display:flex;align-items:center;color:var(--gold)}
.toast-msg{flex:1;min-width:0}
.vero-toast.toast-success .toast-icon{color:var(--green)}
.vero-toast.toast-error .toast-icon{color:var(--red)}
.vero-toast.toast-warn .toast-icon{color:var(--amber)}
[data-theme="light"] .vero-toast{
  background:var(--bg2);border-color:var(--border2);
  box-shadow:0 4px 16px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.07);
}

/* Global month filter bar */
.gm-bar{
  display:flex;align-items:center;gap:6px;
  margin:0 0 20px;flex-wrap:wrap;
  padding:10px 14px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;
}
.gm-bar-label{
  font-size:10px;font-family:var(--mono);color:var(--text3);
  font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  margin-right:6px;white-space:nowrap;
}
/* DRE selects */
.dre-select{
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:6px;
  padding:6px 10px;
  color:var(--text);
  font-size:12px;
  font-family:var(--mono);
  cursor:pointer;
  outline:none;
  transition:border-color .15s;
}
.dre-select:hover{border-color:var(--border3)}
.dre-select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(212,175,55,.12)}
.dre-select option{background:var(--bg2);color:var(--text)}
[data-theme="light"] .dre-select{background:var(--bg2);color:var(--text);border-color:var(--border2)}
[data-theme="light"] .dre-select option{background:var(--bg2);color:var(--text)}
.dre-select::placeholder{color:var(--text3);opacity:.7}
input.dre-select{appearance:none;-webkit-appearance:none}

.analysis-filter-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  padding:12px 14px;
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:12px;
}
.analysis-filter-row label{
  font-size:12px;
  font-weight:600;
  color:var(--text3);
  white-space:nowrap;
}
.analysis-filter-row select{
  min-width:220px;
  max-width:320px;
}
.analysis-filter-note{
  width:100%;
  font-size:11px;
  color:var(--text3);
  line-height:1.4;
  margin-top:-4px;
}

.gm-btn{
  padding:4px 11px;
  background:var(--bg3);
  border:1px solid var(--border2);
  border-radius:6px;
  color:var(--text2);
  font-size:10px;font-weight:500;
  cursor:pointer;
  transition:all var(--trans);
  white-space:nowrap;
  font-family:var(--mono);
}
.gm-btn:hover{background:var(--bg4);color:var(--text);border-color:var(--border3)}
.gm-btn.active{
  background:var(--gold-bg2);
  border-color:rgba(212,175,55,0.35);
  color:var(--gold);font-weight:600;
}
.gm-btn.active-blue{
  background:rgba(79,158,255,0.12);
  border-color:rgba(79,158,255,0.35);
  color:var(--blue);font-weight:600;
}

/* Onboarding guide */
.onb-wrap{
  padding:40px 28px;text-align:center;
  border:1px dashed var(--border2);border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,0.025),rgba(255,255,255,0.01));
  margin-bottom:24px;
  animation:fadeIn 0.5s ease-out;
}
.onb-icon{font-size:40px;margin-bottom:14px;display:block;line-height:1}
.onb-title{
  font-size:17px;font-weight:700;color:var(--text);
  margin-bottom:10px;letter-spacing:-0.25px;
}
.onb-desc{
  font-size:12px;color:var(--text3);
  max-width:440px;margin:0 auto 24px;line-height:1.65;
}
.onb-slots{
  display:flex;flex-wrap:wrap;gap:10px;
  justify-content:center;margin-bottom:24px;
}
.onb-slot{
  padding:14px 18px;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:10px;min-width:140px;text-align:left;
  transition:all var(--trans);
}
.onb-slot:hover{border-color:var(--border2);background:var(--bg4)}
.onb-slot-icon{font-size:20px;margin-bottom:8px;display:block}
.onb-slot-name{font-size:11px;font-weight:700;color:var(--text);margin-bottom:3px}
.onb-slot-hint{font-size:10px;color:var(--text3);font-family:var(--mono)}
.onb-cta{
  padding:10px 24px;
  background:var(--gold-bg2);border:1px solid rgba(212,175,55,0.3);
  border-radius:8px;color:var(--gold);
  font-size:12px;font-weight:600;cursor:pointer;
  transition:all var(--trans);font-family:var(--font);
  display:inline-flex;align-items:center;gap:6px;
}
.onb-cta:hover{background:var(--gold-bg);border-color:rgba(212,175,55,0.5)}

/* Data table — alternating rows */
.data-table tbody tr:nth-child(even) td{background:rgba(255,255,255,0.012)}
.data-table tbody tr:last-child td{border-bottom:none}

/* Import slot loaded checkmark */
.imp-slot{position:relative;overflow:hidden}
.imp-slot.loaded{
  border-style:solid;
  border-color:rgba(29,201,132,0.35);
  background:rgba(29,201,132,0.06);
}

/* Topbar — gold bottom separator */
.topbar{box-shadow:0 1px 0 rgba(212,175,55,0.07)}

/* Sidebar scrollbar refinement */
.sb-nav::-webkit-scrollbar{width:4px}
.sb-nav::-webkit-scrollbar-track{background:transparent}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.28);border-radius:4px}
.sb-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.48)}

/* Nav active item — consistent left border */
.nav-item{border-left:2px solid transparent}
.nav-item.active{border-left:2px solid var(--gold)}

/* KPI value — tabular numbers */
.kpi-val{font-variant-numeric:tabular-nums}

/* Notif panel header gradient */
.notif-header{background:linear-gradient(180deg,rgba(255,255,255,0.028) 0%,transparent 100%)}

/* Sidebar company section polish */
.sb-company{
  cursor:pointer;
  transition:background var(--trans);
}
.sb-company:hover{background:rgba(255,255,255,0.05)}

/* Import inline card base class */
.import-inline-card{
  border-radius:14px;padding:14px;
  border:1px solid rgba(79,158,255,0.2);
  background:linear-gradient(135deg,rgba(79,158,255,0.07),rgba(79,158,255,0.02));
  transition:border-color var(--trans),box-shadow var(--trans);
}
.import-inline-card:hover{
  border-color:rgba(79,158,255,0.35);
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
}
.import-inline-card.loaded{
  border-color:rgba(29,201,132,0.35);
  background:linear-gradient(135deg,rgba(29,201,132,0.07),rgba(29,201,132,0.02));
}

/* Pagination buttons */
.pg-btn{
  padding:3px 9px;
  background:var(--bg3);
  border:1px solid var(--border2);
  border-radius:5px;
  color:var(--text2);
  font-size:10px;font-family:var(--mono);
  cursor:pointer;
  transition:all var(--trans);
}
.pg-btn:hover:not(:disabled){background:var(--bg4);color:var(--text);border-color:var(--border3)}
.pg-btn:disabled{opacity:0.38;cursor:default}
.pg-current{
  padding:3px 10px;
  background:var(--gold-bg2);
  border:1px solid rgba(212,175,55,0.3);
  border-radius:5px;
  color:var(--gold);
  font-size:10px;font-weight:600;font-family:var(--mono);
  display:inline-flex;align-items:center;
}

/* Responsive - hide gm-bar label on small screens */
@media(max-width:480px){
  .gm-bar-label{display:none}
  .onb-slots{gap:8px}
  .onb-slot{min-width:120px;padding:12px 14px}
  .fluxo-chart-wrap{height:340px}
  .fluxo-chart-wrap.is-daily{height:500px}
}

@media(max-width:980px){
  .dre-hero-grid{
    grid-template-columns:1fr;
  }
  .dre-distribution-wrap{
    min-height:auto;
  }
  .fluxo-card-head{
    flex-direction:column;
    align-items:stretch;
  }
  .fluxo-toolbar{
    width:100%;
  }
  .fluxo-tab-shell{
    width:100%;
  }
  .fluxo-tab-shell button{
    flex:1;
  }
  .fluxo-chart-wrap{
    height:390px;
  }
  .fluxo-chart-wrap.is-daily{
    height:620px;
  }
}

/* ═══════════════════════════════════════════════════════
   LIGHT MODE — COMPREHENSIVE OVERRIDES
═══════════════════════════════════════════════════════ */

/* Body — lighter radial tints */
[data-theme="light"] body{
  background:
    radial-gradient(circle at top left,rgba(212,175,55,0.04),transparent 24%),
    radial-gradient(circle at 90% 10%,rgba(79,158,255,0.03),transparent 18%),
    var(--bg);
}

/* ── SIDEBAR (stays dark — fintech convention) ── */
[data-theme="light"] .sb{
  background:linear-gradient(180deg,#1a1f2e 0%,#141824 100%);
  border-right:1px solid rgba(0,0,0,0.1);
  box-shadow:2px 0 16px rgba(0,0,0,0.07);
}
[data-theme="light"] .sb-brand{border-bottom-color:rgba(255,255,255,0.08)}
[data-theme="light"] .sb-company{
  border-bottom-color:rgba(255,255,255,0.07);
  background:rgba(255,255,255,0.03);
}
[data-theme="light"] .sb-company:hover{background:rgba(255,255,255,0.07)}
[data-theme="light"] .sb-name{color:rgba(255,255,255,0.92)}
[data-theme="light"] .sb-seg{color:rgba(255,255,255,0.44)}
[data-theme="light"] .nav-grp{color:rgba(255,255,255,0.32)}
[data-theme="light"] .nav-item{color:rgba(255,255,255,0.62)}
[data-theme="light"] .nav-item:hover{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.92)}
[data-theme="light"] .nav-item.active{background:rgba(212,175,55,0.2);color:#d4af37}
[data-theme="light"] .sb-footer{border-top-color:rgba(255,255,255,0.08)}
[data-theme="light"] .sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.28)}

/* ── TOPBAR ── */
[data-theme="light"] .topbar{
  background:rgba(255,255,255,0.97);
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 rgba(0,0,0,0.06);
}
[data-theme="light"] .tb-theme-btn,
[data-theme="light"] .notif-bell-btn,
[data-theme="light"] .tb-presentation-btn{
  border-color:var(--border2);
  background:var(--bg3);
  color:var(--text2);
}
[data-theme="light"] .tb-theme-btn:hover,
[data-theme="light"] .notif-bell-btn:hover,
[data-theme="light"] .tb-presentation-btn:hover{
  background:var(--bg4);
  border-color:rgba(212,175,55,0.3);
  color:var(--text);
}
[data-theme="light"] .tb-presentation-btn.is-active{
  background:rgba(29,201,132,0.12);
  border-color:rgba(29,201,132,0.28);
  color:#167d59;
}
[data-theme="light"] .tb-logout-btn{
  border-color:var(--border2);
  background:var(--bg3);
  color:var(--text2);
}
[data-theme="light"] .tb-logout-btn:hover{background:var(--bg4);border-color:var(--border3);color:var(--text)}
[data-theme="light"] .mobile-menu-btn{border-color:var(--border2);background:var(--bg3);color:var(--text2)}

/* ── SECTION HEADERS ── */
[data-theme="light"] .sec-head{border-bottom-color:var(--border)}

/* ── KPI CARDS ── */
[data-theme="light"] .kpi-card{
  background:var(--bg2);
  border-color:var(--border);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
[data-theme="light"] .kpi-card:hover{border-color:var(--border2)}
[data-theme="light"] .kpi-card:nth-child(1):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(212,175,55,0.18)}
[data-theme="light"] .kpi-card:nth-child(2):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(79,158,255,0.18)}
[data-theme="light"] .kpi-card:nth-child(3):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(6,182,212,0.18)}
[data-theme="light"] .kpi-card:nth-child(4):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(29,201,132,0.18)}
[data-theme="light"] .kpi-card:nth-child(5):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(245,158,11,0.18)}
[data-theme="light"] .kpi-card:nth-child(6):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(240,82,82,0.18)}
[data-theme="light"] .kpi-card:nth-child(7):hover{box-shadow:0 6px 20px rgba(0,0,0,0.07),0 0 0 1px rgba(167,139,250,0.18)}
[data-theme="light"] .kpi-icon{background:var(--bg3)}

/* ── CARDS ── */
[data-theme="light"] .card{
  background:var(--bg2);
  border-color:var(--border);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
[data-theme="light"] .card:hover{border-color:var(--border2);box-shadow:0 6px 20px rgba(0,0,0,0.07)}
[data-theme="light"] .card-title{border-bottom-color:var(--border)}
[data-theme="light"] .card::after{background:radial-gradient(ellipse 80% 30% at 50% 0%,rgba(0,0,0,0.012),transparent)}

/* ── DATA TABLES ── */
[data-theme="light"] .data-table thead th{border-bottom-color:var(--border2)}
[data-theme="light"] .data-table tbody td{border-bottom-color:var(--border)}
[data-theme="light"] .data-table tbody tr:hover td{background:var(--bg3)}
[data-theme="light"] .data-table tbody tr:nth-child(even) td{background:rgba(0,0,0,0.015)}

/* ── IMPORT SLOTS ── */
[data-theme="light"] .imp-slot{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .imp-btn{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .imp-btn:hover{background:var(--bg4)}

/* ── GENERIC BUTTONS ── */
[data-theme="light"] .btn{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .btn:hover{background:var(--bg4)}
[data-theme="light"] .btn-secondary{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .btn-secondary:hover{background:var(--bg4)}
[data-theme="light"] .btn-outline{border-color:var(--border2)}
[data-theme="light"] .btn-outline:hover{background:var(--bg3)}

/* ── SEARCH / FILTER INPUTS ── */
[data-theme="light"] .srch-inp{background:var(--bg2);border-color:var(--border2)}

/* ── TAB / PERIOD BUTTONS ── */
[data-theme="light"] .fluxo-tab-group button,
[data-theme="light"] .dre-period-btn{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .fluxo-tab-group button:hover,
[data-theme="light"] .dre-period-btn:hover{background:var(--bg4)}
[data-theme="light"] .fluxo-year-btn{background:var(--bg3);border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .fluxo-year-btn:hover{background:var(--bg4)}
[data-theme="light"] .fluxo-year-btn.active{background:rgba(59,130,246,0.1);border-color:rgba(59,130,246,0.3);color:#2563eb}
/* ── Tab shell overrides (light mode) ── */
[data-theme="light"] .fluxo-tab-shell{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .fluxo-tab-shell button{background:transparent;border-color:transparent;color:var(--text3)}
[data-theme="light"] .fluxo-tab-shell button:hover{background:rgba(0,0,0,0.05);color:var(--text2)}
[data-theme="light"] .fluxo-tab-shell button.active{background:rgba(180,140,0,0.1);border-color:transparent;color:#7a5c00;box-shadow:none}

/* ── NOTIFICATION PANEL ── */
[data-theme="light"] .notif-panel{
  background:var(--bg2);
  border-color:var(--border);
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
}
[data-theme="light"] .notif-header{
  border-bottom-color:var(--border);
  background:linear-gradient(180deg,var(--bg3) 0%,transparent 100%);
}
[data-theme="light"] .notif-item{border-bottom-color:var(--border)}
[data-theme="light"] .notif-item:hover{background:var(--bg3)}

/* ── GLOBAL MONTH BAR ── */
[data-theme="light"] .gm-bar{background:var(--bg2);border-color:var(--border)}

/* ── MODAL ── */
[data-theme="light"] .modal-label{color:var(--text3)}
[data-theme="light"] .modal-inp{background:var(--bg3);border-color:var(--border2);color:var(--text)}
[data-theme="light"] .modal-inp:focus{background:var(--bg2);box-shadow:0 0 0 3px rgba(212,175,55,0.1)}
[data-theme="light"] .modal-inp::placeholder{color:var(--text3)}
[data-theme="light"] .modal-actions{background:var(--bg3);border-top-color:var(--border)}
[data-theme="light"] .btn-cancel{border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .btn-cancel:hover{background:var(--bg4);border-color:var(--border3);color:var(--text)}
[data-theme="light"] .seg-chip{background:var(--bg3);border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .seg-chip:hover{background:var(--gold-bg2);border-color:rgba(212,175,55,0.3);color:var(--gold-dark)}
[data-theme="light"] .seg-chip.active{background:var(--gold-bg);border-color:rgba(212,175,55,0.4);color:var(--gold-dark)}

/* ── GLOBAL MONTH FILTER ── */
[data-theme="light"] .gm-bar{background:var(--bg2);border-color:var(--border)}
[data-theme="light"] .gm-btn{background:var(--bg2);border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .gm-btn:hover{background:var(--bg3);border-color:var(--border3);color:var(--text)}
[data-theme="light"] .gm-btn.active{background:var(--gold-bg);border-color:rgba(212,175,55,0.4);color:var(--gold-dark)}

/* ── EMPTY STATE ── */
[data-theme="light"] .empty-state{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .es-icon{background:var(--bg4);border-color:var(--border2)}

/* ── KPI DELTA ── */
[data-theme="light"] .kpi-delta{background:var(--bg3);border-color:var(--border2);color:var(--text3)}

/* ── CARDS & KPI hover (light) ── */
[data-theme="light"] .card:hover{border-color:var(--border2)}

/* ── SKELETON LOADING ── */
@keyframes sk-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.sk{background:var(--bg3);border-radius:5px;animation:sk-pulse 1.7s ease-in-out infinite;}
.dash-body{position:relative;}
#sk-layer{
  position:absolute;top:0;left:0;right:0;min-height:100%;
  padding:28px 32px 68px;box-sizing:border-box;
  background:var(--bg);z-index:20;pointer-events:none;
  display:none;
}
#sk-layer.sk-visible{display:block;}
.sk-kpi-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:28px;}
.sk-kpi{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:18px 16px;display:flex;flex-direction:column;gap:9px;}
.sk-kpi-icon{width:34px;height:34px;border-radius:8px;}
.sk-kpi-lbl{height:10px;width:58%;}
.sk-kpi-val{height:25px;width:72%;}
.sk-kpi-sub{height:9px;width:44%;}
.sk-sec-head{height:18px;width:160px;margin:28px 0 16px;}
.sk-row{display:grid;gap:16px;margin-bottom:20px;}
.sk-row-2{grid-template-columns:1fr 1fr;}
.sk-row-1{grid-template-columns:1fr;}
.sk-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;}
.sk-card-title{height:13px;width:38%;}
.sk-chart-sm{height:190px;border-radius:8px;}
.sk-chart-md{height:240px;border-radius:8px;}
.sk-chart-lg{height:300px;border-radius:8px;}
@media(max-width:900px){
  .sk-kpi-grid{grid-template-columns:repeat(2,1fr);}
  .sk-row-2{grid-template-columns:1fr;}
  #sk-layer{padding:16px;}
}

/* ── ALERTS BAR ── */
[data-theme="light"] .smart-alerts{background:var(--bg2);border-bottom-color:var(--border)}

/* ── ONBOARDING ── */
[data-theme="light"] .onb-wrap{background:var(--bg2)}

/* ── EMP DASH CARDS ── */
[data-theme="light"] .emp-dash-card{background:var(--bg2)}
[data-theme="light"] .edc-av{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08)}

/* ══════════════════════════════════════════════════════════
   FLUXO REPORT TABLE
══════════════════════════════════════════════════════════ */
.fluxo-report-card{padding:0;overflow:hidden}
.fluxo-rp-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px 14px;border-bottom:1px solid var(--border);
  gap:12px;flex-wrap:wrap;
}
.fluxo-rp-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:2px}
.fluxo-rp-sub{font-size:11px;color:var(--text3)}
.fluxo-rp-toolbar{
  display:flex;gap:0;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;overflow:hidden;
}
.fluxo-rp-tab{
  height:30px;padding:0 14px;
  border:none;border-right:1px solid rgba(255,255,255,0.08);
  background:transparent;color:var(--text2);
  font-size:12px;font-weight:600;cursor:pointer;
  transition:all var(--trans);
}
.fluxo-rp-tab:last-child{border-right:none}
.fluxo-rp-tab:hover{background:rgba(255,255,255,0.07);color:var(--text)}
.fluxo-rp-tab.active{background:rgba(79,158,255,0.14);color:var(--blue)}
/* Scroll wrapper */
.fluxo-rp-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
/* ── Fluxo report table ─────────────────────────────────────────────────── */
.fluxo-rp-table{
  width:100%;border-collapse:collapse;
  font-size:12px;font-variant-numeric:tabular-nums;
  border-spacing:0;
}
/* Head */
.fluxo-rp-table thead th{
  position:sticky;top:0;z-index:2;
  background:var(--bg2);
  font-size:10px;letter-spacing:.06em;
  color:var(--text3);font-weight:600;
  padding:10px 16px;text-align:right;white-space:nowrap;
  border-bottom:1px solid var(--border2);
  text-transform:uppercase;
}
.fluxo-rp-table thead .fr-th-cat{
  position:sticky;left:0;z-index:3;
  text-align:left;min-width:240px;max-width:300px;
  background:var(--bg2);
}
.fluxo-rp-table thead .fr-th-total{
  border-left:1px solid var(--border2);
  color:var(--text);font-weight:700;
}
/* Body cells */
.fluxo-rp-table tbody td{
  padding:0;text-align:right;white-space:nowrap;
  border-bottom:1px solid rgba(255,255,255,0.04);
  color:var(--text2);
  transition:background 0.12s;
}
.fluxo-rp-table tbody td .fr-cell-inner{
  display:flex;align-items:center;justify-content:flex-end;
  padding:10px 16px;gap:6px;
}
.fluxo-rp-table tbody td:first-child{
  position:sticky;left:0;z-index:1;
  background:var(--bg);text-align:left;padding:0;
  box-shadow:3px 0 10px -2px rgba(0,0,0,.2);
  clip-path:inset(0 -12px 0 0);
}
.fluxo-rp-table tbody td:first-child .fr-cat-cell{
  display:flex;align-items:center;
  padding:10px 20px 10px 0;
  gap:0;min-width:0;
}
.fluxo-rp-table tbody td.fr-td-total{
  border-left:1px solid var(--border2);
  font-weight:600;
  background:rgba(255,255,255,.012);
}
/* Hover */
.fluxo-rp-table tbody tr:hover td{background:rgba(255,255,255,0.025)!important}
.fluxo-rp-table tbody tr:hover td:first-child{background:var(--bg2)!important}
.fluxo-rp-table tbody .fr-lv0:hover td:first-child{background:var(--bg3)!important}

/* ── Hierarquia de níveis ───────────────────────────────────────────────────
   padding-left vem SOMENTE dos fr-lv*.
   fr-ctx-* apenas definem cor da borda lateral — sem override de padding.
   ─────────────────────────────────────────────────────────────────────── */

/* Nível 0 — cabeçalho de seção */
.fr-lv0{background:var(--bg2);border-top:1px solid rgba(255,255,255,.08)}
.fr-lv0 td{font-weight:700;color:var(--text);font-size:12px;letter-spacing:.01em}
.fr-lv0 td:first-child{background:var(--bg2)}
/* ── Regra de alinhamento: spacer de 28px em todas as rows (toggle real ou invisível)
   Texto de todas as rows começa em: padding-left + spacer(28px) = posição consistente
   Lv0/especiais: 4px + 28px = 32px | Lv1(toggle): 4px + 28px = 32px
   Lv2: 20px + 28px = 48px          | Lv3: 36px + 28px = 64px
   ─────────────────────────────────────────────────────────────────────── */
.fr-lv0 .fr-cat-cell{padding-left:4px}

/* Nível 1 — itens principais */
.fr-lv1{border-top:1px solid rgba(255,255,255,.04)}
.fr-lv1 td{font-weight:500;color:var(--text)}
.fr-lv1 .fr-cat-cell{padding-left:4px}

/* Nível 2 — sub-itens */
.fr-lv2 td{color:var(--text2);font-size:11.5px}
.fr-lv2 .fr-cat-cell{padding-left:20px}

/* Nível 3+ — detalhes */
.fr-lv3 td{color:var(--text3);font-size:11px}
.fr-lv3 .fr-cat-cell{padding-left:36px}
.fr-lv4 td{color:var(--text3);font-size:10.5px;opacity:.8}
.fr-lv4 .fr-cat-cell{padding-left:50px}

/* ── Bordas coloridas de contexto — só cor, sem padding (evita conflito de especificidade) ── */
.fr-ctx-rec .fr-cat-cell{border-left:3px solid #37b24d}
.fr-ctx-pag .fr-cat-cell{border-left:3px solid #f03e5e}
.fr-ctx-transf .fr-cat-cell{border-left:3px solid #228be6}

/* Correção de padding por nível com borda (especificidade (0,3,0) — prevalece sobre fr-lv* e fr-ctx*) */
.fr-lv1.fr-ctx-rec .fr-cat-cell,.fr-lv1.fr-ctx-pag .fr-cat-cell,.fr-lv1.fr-ctx-transf .fr-cat-cell{padding-left:1px}
.fr-lv2.fr-ctx-rec .fr-cat-cell,.fr-lv2.fr-ctx-pag .fr-cat-cell,.fr-lv2.fr-ctx-transf .fr-cat-cell{padding-left:17px}
.fr-lv3.fr-ctx-rec .fr-cat-cell,.fr-lv3.fr-ctx-pag .fr-cat-cell,.fr-lv3.fr-ctx-transf .fr-cat-cell{padding-left:33px}
.fr-lv4.fr-ctx-rec .fr-cat-cell,.fr-lv4.fr-ctx-pag .fr-cat-cell,.fr-lv4.fr-ctx-transf .fr-cat-cell{padding-left:47px}

/* ── Linhas especiais ── */
.fr-row-total{border-top:1px solid var(--border2)}
.fr-row-total td{font-weight:700;color:var(--text)}
.fr-row-total .fr-cat-cell{border-left:3px solid var(--border3);padding-left:1px}

.fr-row-geracao{background:rgba(29,201,132,.05);border-top:1px solid rgba(29,201,132,.2)}
.fr-row-geracao td{font-weight:700;color:#1dc984}
.fr-row-geracao .fr-cat-cell{border-left:3px solid rgba(29,201,132,.7);padding-left:1px}

.fr-row-saldo-ant{background:rgba(255,255,255,.015);border-top:1px solid rgba(255,255,255,.08)}
.fr-row-saldo-ant td{color:var(--text2);font-weight:500}
.fr-row-saldo-ant .fr-cat-cell{padding-left:4px}

/* Saldo de caixa: background nos TDs (não no TR) e clip-path removido do sticky.
   clip-path cria compositing layer no GPU que em alguns browsers fica atrás das
   células que rolam, causando o bleed-through. Sem clip-path a ordem z-index é
   respeitada corretamente. */
.fr-row-saldo-final{border-top:2px solid rgba(79,158,255,.25)!important}
.fr-row-saldo-final td{font-weight:700;color:var(--blue)!important;font-size:12.5px}
.fluxo-rp-table tbody .fr-row-saldo-final td:not(:first-child){background:rgba(79,158,255,.07)}
.fluxo-rp-table tbody .fr-row-saldo-final td:first-child{
  background:var(--bg)!important;
  clip-path:none!important;
}
.fr-row-saldo-final .fr-cat-cell{padding-left:4px;border-left:none}

/* ── Toggle ── */
.fr-toggle{
  flex-shrink:0;width:20px;height:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text3);font-size:9px;
  cursor:pointer;padding:0;margin-right:8px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:5px;transition:all var(--trans);
}
.fr-toggle:hover{background:rgba(255,255,255,.12);color:var(--text);border-color:rgba(255,255,255,.18)}
.fr-toggle[data-open="true"]{background:rgba(79,158,255,.12);border-color:rgba(79,158,255,.25);color:var(--blue)}
.fr-toggle-spacer{display:inline-flex;width:20px;height:20px;margin-right:8px;flex-shrink:0}

/* ── Cores de valor ── */
.fr-pos{color:#37b24d!important}
.fr-neg{color:#f03e5e!important}
.fr-zero{color:var(--text3)!important;opacity:.5}
.fr-dash{color:var(--text3)!important;font-size:11px;opacity:.4}
.fr-cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
/* ── Analysis metrics (AV% / AH%) — inline ao lado do valor ── */
.fr-metrics{display:flex;gap:5px;align-items:center;margin-left:8px;flex-shrink:0}
.fr-av{font-size:9px;color:var(--text3);font-variant-numeric:tabular-nums}
.fr-ah-up{font-size:9px;color:#37b24d;font-variant-numeric:tabular-nums}
.fr-ah-dn{font-size:9px;color:#f03e5e;font-variant-numeric:tabular-nums}
.fr-ah-neu{font-size:9px;color:var(--text3);font-variant-numeric:tabular-nums}
/* ── Analysis toggle buttons ── */
.fluxo-analysis-sep{width:1px;height:22px;background:var(--border2);flex-shrink:0}
.fluxo-av-btn,.fluxo-ah-btn{
  height:30px;padding:0 12px;
  border:1px solid rgba(255,255,255,0.1);background:transparent;
  color:var(--text2);font-size:12px;font-weight:600;
  cursor:pointer;transition:all var(--trans);border-radius:8px;
}
.fluxo-av-btn:hover,.fluxo-ah-btn:hover{background:rgba(255,255,255,0.07);color:var(--text)}
.fluxo-av-btn.active{background:rgba(167,139,250,.14);color:var(--purple)}
.fluxo-ah-btn.active{background:rgba(29,201,132,.12);color:var(--green)}
/* ── Light mode ── */
[data-theme="light"] .fluxo-rp-toolbar{border-color:var(--border2)}
[data-theme="light"] .fluxo-rp-tab{border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .fluxo-rp-tab:hover{background:var(--bg3)}
[data-theme="light"] .fluxo-rp-tab.active{background:rgba(59,130,246,.1);border-color:transparent;color:#2563eb}
[data-theme="light"] .fluxo-rp-table thead th{background:var(--bg3)}
[data-theme="light"] .fluxo-rp-table thead .fr-th-cat{background:var(--bg3)}
[data-theme="light"] .fluxo-rp-table tbody td{border-bottom-color:var(--border)}
[data-theme="light"] .fluxo-rp-table tbody tr:hover td{background:rgba(0,0,0,.03)!important}
[data-theme="light"] .fluxo-rp-table tbody tr:hover td:first-child{background:var(--bg3)!important}
[data-theme="light"] .fluxo-rp-table tbody .fr-lv0:hover td:first-child{background:var(--bg4)!important}
[data-theme="light"] .fr-lv0{border-top-color:var(--border)}
[data-theme="light"] .fr-lv1{border-top-color:rgba(0,0,0,.05)}
[data-theme="light"] .fr-row-total{border-top-color:var(--border2)}
[data-theme="light"] .fr-row-saldo-final{border-top-color:rgba(59,130,246,.2)!important}
[data-theme="light"] .fluxo-rp-table tbody td.fr-td-total{background:rgba(0,0,0,.015)}
[data-theme="light"] .fluxo-av-btn,[data-theme="light"] .fluxo-ah-btn{border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .fluxo-av-btn:hover,[data-theme="light"] .fluxo-ah-btn:hover{background:var(--bg3);color:var(--text)}
[data-theme="light"] .fr-lv0{background:var(--bg3)}
[data-theme="light"] .fr-lv0 td:first-child{background:var(--bg3)}
[data-theme="light"] .fluxo-rp-table tbody .fr-row-saldo-final td:not(:first-child){background:rgba(59,130,246,.06)}
[data-theme="light"] .fluxo-rp-table tbody .fr-row-saldo-final td:first-child{background:var(--bg)!important;clip-path:none!important}
[data-theme="light"] .fr-pos{color:#2f9e44!important}
[data-theme="light"] .fr-neg{color:#e03131!important}
/* ── DRE Cost Center filter (light) ── */
[data-theme="light"] .dre-cc-trigger{background:var(--bg2);border-color:var(--border2)}
[data-theme="light"] .dre-cc-trigger:hover,[data-theme="light"] .dre-cc-trigger.is-open{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.3)}
[data-theme="light"] .dre-cc-popover{background:var(--bg2);border-color:var(--border2);box-shadow:0 8px 32px rgba(0,0,0,.12)}
[data-theme="light"] .dre-cc-option:hover{background:var(--bg3)}
[data-theme="light"] .dre-cc-option.is-master{background:var(--bg3);border-bottom-color:var(--border2)}
[data-theme="light"] .dre-cc-option.is-master:hover{background:var(--bg3)}
[data-theme="light"] .dre-cc-search input{background:var(--bg3);color:var(--text);border-color:var(--border2)}
[data-theme="light"] .dre-cc-search input:focus{background:var(--bg2);border-color:rgba(59,130,246,.45)}
[data-theme="light"] .dre-cc-pop-head{border-bottom-color:var(--border2)}
[data-theme="light"] .dre-cc-search{border-bottom-color:var(--border2)}
[data-theme="light"] .dre-cc-btn-secondary{border-color:var(--border2);color:var(--text2)}
[data-theme="light"] .dre-cc-btn-secondary:hover{background:var(--bg3)}

/* ═══════════════════════════════════════════════════════════════
   DRE TOOLBAR — view-mode tabs, month chips, action buttons
   ═══════════════════════════════════════════════════════════════ */
.dre-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.dre-view-modes{display:flex;align-items:center;gap:2px;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;padding:3px;flex-shrink:0}
.dre-view-btn{padding:4px 11px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text3);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}
.dre-view-btn.is-active{border-color:var(--border2);background:var(--bg);color:var(--text);font-weight:600}

.dre-month-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.dre-month-chip{padding:3px 9px;border-radius:6px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-size:10px;font-weight:600;cursor:pointer;font-family:var(--mono);transition:all .15s;white-space:nowrap}
.dre-month-chip.is-active{border-color:var(--gold);background:rgba(201,168,76,.15);color:var(--gold)}
.dre-month-chip.is-compare{border-color:var(--blue);background:rgba(96,165,250,.12);color:var(--blue)}

.dre-toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;flex-wrap:wrap}
.dre-action-btn{padding:4px 11px;border-radius:6px;border:1px solid var(--border2);background:var(--bg3);color:var(--text3);font-size:10px;font-weight:600;cursor:pointer;font-family:var(--mono);transition:all .15s}

/* ═══════════════════════════════════════════════════════════════
   DRE COMPARE LEGEND — legend strip shown when comparing months
   ═══════════════════════════════════════════════════════════════ */
.dre-compare-legend{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:11px;color:var(--text3)}
.dre-compare-legend-item{display:inline-flex;align-items:center;gap:5px}
.dre-compare-legend-line{width:10px;height:2px;border-radius:1px;display:inline-block}
.dre-clear-btn{margin-left:4px;padding:2px 8px;border-radius:4px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-size:10px;cursor:pointer}
.dre-tip{font-size:10.5px;color:var(--text3);margin-bottom:14px}
.dre-tip-accent{color:var(--gold);font-weight:600}
.dre-period-count{font-size:11px;color:var(--text3)}

/* ═══════════════════════════════════════════════════════════════
   DRE KPI FEATURED — card único de Receita Líquida
   ═══════════════════════════════════════════════════════════════ */
.dre-kpi-featured{padding:18px 20px;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;margin-bottom:20px}
.dre-kpi-featured__label{font-size:10px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}
.dre-kpi-featured__value{font-size:24px;font-weight:700;font-family:var(--mono);line-height:1.2}
.dre-kpi-featured__sub{font-size:11px;color:var(--text3);margin-top:6px}

/* light mode overrides */
[data-theme="light"] .dre-view-btn{color:var(--text3)}
[data-theme="light"] .dre-view-btn.is-active{background:var(--bg3);border-color:var(--border2);color:var(--text)}
[data-theme="light"] .dre-month-chip{background:var(--bg2);border-color:var(--border2)}
[data-theme="light"] .dre-action-btn{background:var(--bg3);border-color:var(--border2)}
[data-theme="light"] .dre-kpi-featured{background:var(--bg2);border-color:var(--border2)}

/* ── Loading states ────────────────────────────────────── */
@keyframes vero-spin { to { transform:rotate(360deg); } }

.cl-spinner{
  width:22px;height:22px;
  border:2px solid rgba(255,255,255,0.08);
  border-top-color:var(--gold);
  border-radius:50%;
  animation:vero-spin .65s linear infinite;
  flex-shrink:0;
}
.cl-inner{
  display:flex;flex-direction:column;
  align-items:center;gap:12px;
}
.cl-msg{
  font-size:var(--fs-xs);font-family:var(--mono);
  color:var(--text3);letter-spacing:var(--ls-wide);
}

/* Init loader — full-screen on first paint */
#app-init-loader{
  position:fixed;inset:0;z-index:10001;
  background:#0a0d12;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:14px;
  transition:opacity .22s ease;
  pointer-events:all;
}
#app-init-loader .cl-spinner{
  width:28px;height:28px;
  border-width:2.5px;
}
#app-init-loader.hiding{opacity:0;pointer-events:none}

/* Content loader — covers main area during company switch */
#vero-content-loader{
  position:fixed;
  top:0;left:var(--sidebar);right:0;bottom:0;
  z-index:150;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .16s ease;
}
#vero-content-loader.visible{opacity:1;pointer-events:all}

[data-theme="light"] #app-init-loader{background:#f5f6fa}
[data-theme="light"] .cl-spinner{border-color:rgba(0,0,0,0.08);border-top-color:var(--gold)}
[data-theme="light"] #vero-content-loader{background:var(--bg)}

@media(max-width:768px){
  #vero-content-loader{left:0}
}

/* ── Pie chart distribution (desp/rec) ─────────────────── */
.pie-legend-row:last-child { border-bottom: none !important; }
.pie-legend-row:hover { background: var(--bg3); border-radius: 4px; }

@media (max-width: 520px) {
  #desp-detail-wrap canvas,
  #rec-detail-wrap  canvas {
    width: 160px !important;
    height: 160px !important;
  }
}
.sb-nav {
    position: relative;
}

.nav-indicator {
    position: absolute;
    left: 0;
    width: 4px;
    height: 42px; /* ajuste conforme altura do item */
    background: #FFC107;
    border-radius: 999px;
    transition:
        top 0.35s cubic-bezier(.22,1,.36,1),
        opacity 0.2s;
}
.nav-item {
    position: relative;
}

.nav-item.active .nav-lbl,
.nav-item.active .nav-icon {
    color: #FFC107;
}


/* ── Sec-head direita com badges ───────────────────────── */
.sec-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.source-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(59,130,246,0.08);
  border: 1px solid rgba(59,130,246,0.2);
  font-size: 11px;
  font-weight: 500;
  color: #3b82f6;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: default;
  user-select: none;
}
[data-theme='light'] .source-badge {
  background: rgba(59,130,246,0.06);
  border-color: rgba(59,130,246,0.25);
}
.source-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
  animation: source-pulse 3s ease-in-out infinite;
}
@keyframes source-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59,130,246,0.4); }
  50%       { box-shadow: 0 0 0 5px rgba(59,130,246,0); }
}
@media (max-width:640px) {
  .sec-head-right { gap: 6px; }
  .source-badge span:not(.source-dot) { display: none; }
}

/* ── Sync Badge ─────────────────────────────────────────── */
.sync-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  font-size: 11px;
  font-weight: 500;
  color: var(--text3);
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: all 0.3s;
  cursor: default;
  user-select: none;
}
[data-theme='light'] .sync-badge {
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.08);
}
.sync-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text3);
  flex-shrink: 0;
  transition: background 0.3s;
}
.sync-badge[data-state='synced'] {
  border-color: rgba(34,197,94,0.2);
  background: rgba(34,197,94,0.06);
  color: #22c55e;
}
.sync-badge[data-state='synced'] .sync-dot {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,0.15);
  animation: sync-pulse 2.5s ease-in-out infinite;
}
.sync-badge[data-state='syncing'] {
  border-color: rgba(251,191,36,0.2);
  background: rgba(251,191,36,0.06);
  color: #f59e0b;
}
.sync-badge[data-state='syncing'] .sync-dot {
  background: #f59e0b;
  animation: sync-spin-dot 1s linear infinite;
}
.sync-badge[data-state='empty'] {
  border-color: rgba(255,255,255,0.06);
  background: transparent;
  color: var(--text3);
}
.sync-badge[data-state='empty'] .sync-dot {
  background: var(--text3);
  opacity: 0.4;
}
@keyframes sync-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.4); }
  50%       { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}
@keyframes sync-spin-dot {
  0%   { opacity: 1; transform: scale(1); }
  50%  { opacity: 0.3; transform: scale(0.7); }
  100% { opacity: 1; transform: scale(1); }
}


/* Light mode — company cards */
[data-theme='light'] .co-card{
  background:rgba(0,0,0,0.02);
  border-color:rgba(0,0,0,0.08);
}
[data-theme='light'] .co-card:hover{
  background:rgba(0,0,0,0.04);
  border-color:rgba(0,0,0,0.12);
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
}
[data-theme='light'] .co-card-body{
  border-top-color:rgba(0,0,0,0.06);
}
[data-theme='light'] .co-av{
  border-color:rgba(0,0,0,0.08);
}
[data-theme='light'] .co-badge-empty{
  background:rgba(0,0,0,0.04);
  border-color:rgba(0,0,0,0.08);
}

/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVENESS
   Todas as regras abaixo são exclusivas para mobile.
   Nenhuma afeta desktop (>768px).
═══════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* Previne scroll horizontal global */
  html, body { overflow-x: hidden; }
  .main-content { overflow-x: hidden; }
  .dash-body { overflow-x: hidden; }

  /* Topbar */
  .tb-row { padding: 0 12px; gap: 6px; min-height: 52px; }
  .tb-left { gap: 8px; min-width: 0; flex: 1; }
  .tb-right { gap: 2px; flex-shrink: 0; }

  /* Esconde "Veroneze /" no breadcrumb — mantém só nome da empresa */
  .crumb > span:first-child,
  .crumb-sep { display: none; }
  .crumb { gap: 0; }
  .crumb-co { font-size: 13px; font-weight: 600; color: var(--text); }

  /* Botões não essenciais — esconde no mobile */
  .tb-export-btn { display: none !important; }
  .tb-presentation-btn { display: none !important; }

  /* Botões restantes compactos */
  .tb-theme-btn,
  .notif-bell-btn { width: 34px; height: 34px; }
  .tb-logout-btn { padding: 0 8px; height: 34px; font-size: 11px; }
  .tb-logout-btn span { display: none; }

  /* Painel de notificações */
  .notif-panel {
    width: calc(100vw - 24px);
    right: 12px;
    left: 12px;
    top: 60px;
    border-radius: 14px;
  }

  /* Conteúdo principal */
  .dash-body { padding: 14px 14px 60px; }

  /* Grids */
  .dre-hero-grid { grid-template-columns: 1fr !important; }
  .g2 { grid-template-columns: 1fr; }
  .g4 { grid-template-columns: 1fr 1fr; }
  .import-grid-dash { grid-template-columns: 1fr 1fr; }

  /* Section header com badges */
  .sec-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 10px;
  }
  .sec-head-right {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
  }
  .sync-badge, .source-badge {
    font-size: 10px;
    padding: 3px 8px;
  }

  /* Graficos */
  .chart-wrap { height: 200px; }
  .chart-wrap-lg { height: 220px; }
  .chart-wrap-sm { height: 160px; }

  /* Modal */
  .modal-box {
    max-width: calc(100vw - 32px);
    margin: 16px;
    border-radius: 14px;
  }
  .modal-body { padding: 16px; }
  .modal-head { padding: 16px; }

  /* Company screen */
  .co-stats-bar { flex-wrap: wrap; gap: 0; }
  .co-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* KPI cards */
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .kpi-card { padding: 14px; }
  .kpi-val { font-size: 20px; }

  /* DRE e Fluxo */
  .dre-distribution-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .fluxo-year-selector { flex-wrap: wrap; gap: 4px; }

  /* Smart alerts */
  .smart-alerts { padding: 10px 14px; gap: 8px; }

}

@media (max-width: 420px) {

  /* Topbar minimo */
  .tb-row { padding: 0 10px; }
  .crumb-co {
    font-size: 12px;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Grid coluna unica */
  .co-grid { grid-template-columns: 1fr; }
  .import-grid-dash { grid-template-columns: 1fr; }
  .g4 { grid-template-columns: 1fr; }

  /* Badges */
  .source-badge { display: none; }

  /* Notif panel */
  .notif-panel {
    width: calc(100vw - 16px);
    right: 8px;
    left: 8px;
  }

  /* Sec meta some em telas muito pequenas */
  .sec-meta { display: none; }

}
