:root{
  --bg:#07090E;
  --bg-2:#0B0E15;
  --panel:rgba(16,20,30,0.72);
  --panel-solid:#11151F;
  --panel-2:rgba(22,27,40,0.75);
  --ink:#EEF3FA;
  --muted:#8A93AC;
  --muted-2:#576078;
  --line:rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.16);
  --accent:#22D3EE;
  --accent-2:#38BDF8;
  --accent-glow:rgba(34,211,238,0.55);
  --accent-soft:rgba(34,211,238,0.12);
  --magenta:#E84FC4;
  --green:#16C464; --green-soft:rgba(22,196,100,0.14); --green-glow:rgba(22,196,100,0.45);
  --amber:#FAB219; --amber-soft:rgba(250,178,25,0.14); --amber-glow:rgba(250,178,25,0.45);
  --red:#EF4B4B; --red-soft:rgba(239,75,75,0.14); --red-glow:rgba(239,75,75,0.5);
  --shadow:0 20px 50px rgba(0,0,0,0.55);
  --shadow-sm:0 8px 20px rgba(0,0,0,0.4);
  --font-display:'Orbitron',var(--font-ui);
  --font-ui:'Rajdhani',ui-sans-serif,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
:root[data-theme="light"]{
  --bg:#EEF1F7; --bg-2:#E7EBF3; --panel:rgba(255,255,255,0.82); --panel-solid:#FFFFFF; --panel-2:rgba(246,248,252,0.9);
  --ink:#0E1320; --muted:#565F76; --muted-2:#7A8296; --line:rgba(20,30,60,0.1); --line-strong:rgba(20,30,60,0.18);
  --accent:#0F86A8; --accent-2:#0B6E9C; --accent-glow:rgba(15,134,168,0.35); --accent-soft:rgba(15,134,168,0.1);
  --green:#0C8A3E; --green-soft:rgba(12,138,62,0.1); --green-glow:rgba(12,138,62,0.3);
  --amber:#A9690A; --amber-soft:rgba(169,105,10,0.1); --amber-glow:rgba(169,105,10,0.3);
  --red:#C1342F; --red-soft:rgba(193,52,47,0.1); --red-glow:rgba(193,52,47,0.35);
  --shadow:0 16px 40px rgba(20,30,60,0.14); --shadow-sm:0 6px 16px rgba(20,30,60,0.1);
}

*{box-sizing:border-box;}
html{color-scheme:dark;}
:root[data-theme="light"]{color-scheme:light;}

@media (prefers-reduced-motion: no-preference){
  .card, .chart-card, .tab-btn, .export-btn, .save-btn, .addrow-btn, .stat-ring{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
  .tabpane.active{animation:fadein .35s ease;}
  .card{animation:rise .5s ease backwards;}
  .card:nth-child(1){animation-delay:.02s;} .card:nth-child(2){animation-delay:.08s;}
  .card:nth-child(3){animation-delay:.14s;} .card:nth-child(4){animation-delay:.2s;}
  .card:nth-child(5){animation-delay:.26s;} .card:nth-child(6){animation-delay:.32s;}
  .verdict{animation:rise .45s ease backwards;}
  .scanline{animation:scan 5s linear infinite;}
  .bg-grid{animation:driftgrid 60s linear infinite;}
  .blob{animation:pulse 10s ease-in-out infinite;}
}
@keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes scan{0%{transform:translateY(-100%);}100%{transform:translateY(2200%);}}
@keyframes driftgrid{from{background-position:0 0;}to{background-position:64px 64px;}}
@keyframes pulse{0%,100%{opacity:.55;transform:scale(1);}50%{opacity:.85;transform:scale(1.06);}}
@keyframes countpulse{0%{text-shadow:0 0 0 transparent;}30%{text-shadow:0 0 18px var(--accent-glow);}100%{text-shadow:0 0 8px var(--accent-glow);}}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:16.5px;
  font-weight:500;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  position:relative;
  min-height:100vh;
}
body::before{
  /* campo de estrelas / grid de fundo — atmosfera de HUD */
  content:'';
  position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(900px 500px at 12% -8%, rgba(34,211,238,0.10), transparent 60%),
    radial-gradient(700px 460px at 92% 8%, rgba(232,79,196,0.07), transparent 55%),
    radial-gradient(1000px 700px at 50% 110%, rgba(34,211,238,0.06), transparent 60%),
    var(--bg);
}
body::after{
  content:'';
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(1200px 800px at 50% 0%, black, transparent 75%);
  mask-image:radial-gradient(1200px 800px at 50% 0%, black, transparent 75%);
}
:root[data-theme="light"] body::after{opacity:0.5;}

.wrap{max-width:1180px;margin:0 auto;padding:30px 18px 70px;position:relative;}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}

/* login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;}
.login-card{
  position:relative;overflow:hidden;
  background:var(--panel);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--line-strong);border-radius:18px;padding:40px 34px;width:100%;max-width:380px;
  box-shadow:var(--shadow), 0 0 60px rgba(34,211,238,0.08);
}
.login-card::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);}
.login-card .eyebrow{font-family:var(--font-ui);font-size:0.74rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.login-card h1{font-family:var(--font-display);font-size:1.3rem;margin:0 0 8px;letter-spacing:0.01em;font-weight:700;text-shadow:0 0 20px var(--accent-glow);}
.login-card p{color:var(--muted);font-size:0.9rem;margin:0 0 26px;}
.login-card input{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(0,0,0,0.25);color:var(--ink);font-size:1rem;margin-bottom:13px;font-family:var(--font-ui);font-weight:500;}
:root[data-theme="light"] .login-card input{background:rgba(0,0,0,0.03);}
.login-card input::placeholder{color:var(--muted-2);}
.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.login-card button{width:100%;padding:13px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#031218;font-weight:700;font-size:1rem;font-family:var(--font-ui);letter-spacing:0.03em;cursor:pointer;box-shadow:0 8px 24px var(--accent-glow);}
.login-card button:hover{filter:brightness(1.08);}
.login-card .erro{color:var(--red);font-size:0.84rem;margin:-5px 0 13px;min-height:1em;}

/* top nav */
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.top .brand-eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;}
.top h1{font-family:var(--font-display);font-size:1.25rem;margin:0;letter-spacing:0.01em;font-weight:700;}
.top .actions{display:flex;gap:10px;align-items:center;}
select, button, input{font-family:inherit;}
select{padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);backdrop-filter:blur(10px);color:var(--ink);font-size:0.9rem;font-family:var(--font-mono);}
button.linkish{background:none;border:none;color:var(--muted);font-size:0.84rem;cursor:pointer;text-decoration:underline;font-family:var(--font-ui);}

.tabs{display:flex;gap:4px;background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line-strong);border-radius:13px;padding:5px;margin-bottom:24px;width:max-content;box-shadow:var(--shadow-sm);}
.tab-btn{padding:10px 20px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-weight:700;font-size:0.9rem;cursor:pointer;font-family:var(--font-ui);letter-spacing:0.02em;}
.tab-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#031218;box-shadow:0 4px 18px var(--accent-glow);}
.tabpane{display:none;}
.tabpane.active{display:block;}

/* forms */
.panel{background:var(--panel);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border:1px solid var(--line-strong);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow-sm);}
.field-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.field input[type=number]{padding:10px 11px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(0,0,0,0.22);color:var(--ink);width:155px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
:root[data-theme="light"] .field input[type=number]{background:rgba(0,0,0,0.03);}

.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{border-collapse:collapse;width:100%;min-width:680px;font-size:0.88rem;}
th,td{padding:11px 10px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
th:first-child,td:first-child{text-align:left;font-family:var(--font-ui);font-weight:600;font-variant-numeric:normal;}
thead th{color:var(--muted);font-weight:700;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid var(--line-strong);font-family:var(--font-ui);}
tbody td{border-bottom:1px solid var(--line);}
tbody tr:hover td{background:var(--panel-2);}
tbody input[type=text], tbody input[type=number]{width:100%;padding:8px 9px;border-radius:8px;border:1px solid var(--line-strong);background:rgba(0,0,0,0.22);color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;}
:root[data-theme="light"] tbody input{background:rgba(0,0,0,0.03);}
tbody input[type=text]{text-align:left;font-family:var(--font-ui);}
tbody input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);}
.rm-btn{background:none;border:none;color:var(--red);cursor:pointer;font-size:1.05rem;line-height:1;padding:4px;opacity:0.65;}
.rm-btn:hover{opacity:1;}
.addrow-btn{margin-top:10px;padding:10px 18px;border-radius:10px;border:1px dashed var(--line-strong);background:none;color:var(--accent);font-weight:700;font-size:0.86rem;cursor:pointer;font-family:var(--font-ui);}
.addrow-btn:hover{border-color:var(--accent);background:var(--accent-soft);}
.save-btn{margin-top:20px;padding:13px 26px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#031218;font-weight:700;font-size:0.94rem;font-family:var(--font-ui);letter-spacing:0.02em;cursor:pointer;box-shadow:0 8px 22px var(--accent-glow);}
.save-btn:hover{transform:translateY(-1px);filter:brightness(1.06);}
.save-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}
.savemsg{margin-left:12px;font-size:0.85rem;color:var(--green);font-weight:600;}

/* hero / verdict */
.datepill{background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line-strong);border-radius:10px;padding:10px 15px;font-size:0.85rem;color:var(--muted);font-family:var(--font-mono);}
.datepill b{color:var(--ink);}
.verdict{
  position:relative;overflow:hidden;
  background:var(--panel);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--line-strong);border-radius:18px;padding:0;margin-bottom:28px;
  box-shadow:var(--shadow);
}
.verdict::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--red),var(--amber));z-index:2;}
.verdict.ok::before{background:linear-gradient(90deg,var(--green),var(--accent));}
.verdict-inner{position:relative;z-index:1;padding:28px 30px;display:flex;gap:32px;flex-wrap:wrap;align-items:center;}
.verdict .scanline{position:absolute;left:0;right:0;height:60px;background:linear-gradient(180deg,transparent,var(--accent-soft),transparent);pointer-events:none;opacity:0.5;}
.verdict .flag{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);background:var(--red-soft);padding:7px 14px;border-radius:100px;display:inline-block;margin-bottom:4px;border:1px solid var(--red);box-shadow:0 0 20px var(--red-glow);}
.verdict.ok .flag{color:var(--green);background:var(--green-soft);border-color:var(--green);box-shadow:0 0 20px var(--green-glow);}
.verdict .ring-wrap{flex-shrink:0;position:relative;width:132px;height:132px;}
.verdict .ring-wrap svg{width:132px;height:132px;transform:rotate(-90deg);}
.verdict .ring-track{fill:none;stroke:var(--line-strong);stroke-width:9;}
.verdict .ring-fill{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--accent-glow));transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1);}
.verdict.ok .ring-fill{stroke:var(--green);filter:drop-shadow(0 0 8px var(--green-glow));}
.verdict .ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.verdict .ring-pct{font-family:var(--font-display);font-size:1.5rem;font-weight:700;}
.verdict .ring-label{font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
.verdict .hero-body{flex:1;min-width:240px;}
.verdict .hero-num{font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1;letter-spacing:0.01em;text-shadow:0 0 24px var(--accent-glow);animation:countpulse 1s ease;}
.verdict.ok .hero-num{text-shadow:0 0 24px var(--green-glow);}
.verdict .hero-num small{font-size:1.05rem;font-weight:600;color:var(--muted);text-shadow:none;font-family:var(--font-ui);}
.verdict .hero-meta{color:var(--muted);font-size:0.9rem;margin-top:8px;}
.verdict .hero-meta b{color:var(--ink);font-family:var(--font-mono);}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;margin-bottom:28px;}
.card{
  position:relative;overflow:hidden;
  background:var(--panel);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);
  border:1px solid var(--line-strong);border-radius:16px;padding:20px 22px;
  box-shadow:var(--shadow-sm);
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent);}
.card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--muted-2);}
.card.critico{box-shadow:var(--shadow-sm), 0 0 0 1px rgba(239,75,75,0.18), 0 0 32px rgba(239,75,75,0.10);}
.card.critico::before{background:linear-gradient(90deg,var(--red),#ff8a8a);box-shadow:0 0 10px var(--red-glow);}
.card.atencao::before{background:linear-gradient(90deg,var(--amber),#ffd166);box-shadow:0 0 10px var(--amber-glow);}
.card.ok{box-shadow:var(--shadow-sm), 0 0 0 1px rgba(22,196,100,0.18), 0 0 32px rgba(22,196,100,0.10);}
.card.ok::before{background:linear-gradient(90deg,var(--green),var(--accent));box-shadow:0 0 10px var(--green-glow);}
.card .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.card .name{font-weight:700;font-size:1rem;letter-spacing:0.01em;}
.chip{font-size:0.65rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid transparent;}
.chip.critico{background:var(--red-soft);color:var(--red);border-color:rgba(239,75,75,0.35);}
.chip.atencao{background:var(--amber-soft);color:var(--amber);border-color:rgba(250,178,25,0.35);}
.chip.ok{background:var(--green-soft);color:var(--green);border-color:rgba(22,196,100,0.35);}
.chip.sem_meta{background:var(--panel-2);color:var(--muted);border-color:var(--line-strong);}
.card .nums{display:flex;align-items:baseline;gap:6px;margin:14px 0 11px;font-family:var(--font-display);}
.card .nums .real{font-size:2rem;font-weight:700;letter-spacing:0.01em;}
.card .nums .obj{color:var(--muted);font-size:0.85rem;font-family:var(--font-ui);font-weight:600;}
.card .nums .pct{margin-left:auto;font-size:0.95rem;font-weight:700;}
.bar{position:relative;height:8px;border-radius:6px;background:rgba(255,255,255,0.06);overflow:hidden;margin-bottom:5px;border:1px solid var(--line);}
.bar .fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:6px;box-shadow:0 0 10px var(--accent-glow);}
.bar .day-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:0.5;}
.barlabels{display:flex;justify-content:space-between;font-size:0.66rem;color:var(--muted);margin-bottom:16px;font-family:var(--font-mono);}
.card .row{display:flex;justify-content:space-between;font-size:0.85rem;padding:7px 0;border-top:1px solid var(--line);}
.card .row span:first-child{color:var(--muted);}
.card .row span:last-child{font-family:var(--font-mono);font-weight:600;}
.card .need{margin-top:13px;padding:12px 14px;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:0.82rem;font-weight:600;border:1px solid rgba(239,75,75,0.25);}
.card .need.atencao{background:var(--amber-soft);color:var(--amber);border-color:rgba(250,178,25,0.25);}
.card .need.ok{background:var(--green-soft);color:var(--green);border-color:rgba(22,196,100,0.25);}

td.neg{color:var(--red);}
td.pos{color:var(--green);}
.benchrow td{color:var(--muted);font-style:italic;}
.empty{color:var(--muted);font-size:0.9rem;padding:26px 0;text-align:center;font-family:var(--font-mono);}

.section-title{font-family:var(--font-ui);font-weight:700;font-size:1rem;margin:0 0 14px;letter-spacing:0.01em;display:flex;align-items:center;gap:8px;}
.section-title::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transform:rotate(45deg);}

/* barra comparativa de lojas (dashboard) */
.compare-bars{display:flex;flex-direction:column;gap:12px;}
.compare-row{display:grid;grid-template-columns:150px 1fr 90px;align-items:center;gap:12px;}
.compare-row .lbl{font-size:0.85rem;font-weight:600;}
.compare-row .track{position:relative;height:14px;border-radius:8px;background:rgba(255,255,255,0.06);border:1px solid var(--line);overflow:hidden;}
.compare-row .fillbar{position:absolute;left:0;top:0;bottom:0;border-radius:8px;transition:width 1s cubic-bezier(.22,1,.36,1);}
.compare-row .fillbar.critico{background:linear-gradient(90deg,var(--red),#ff8a8a);box-shadow:0 0 12px var(--red-glow);}
.compare-row .fillbar.atencao{background:linear-gradient(90deg,var(--amber),#ffd166);box-shadow:0 0 12px var(--amber-glow);}
.compare-row .fillbar.ok{background:linear-gradient(90deg,var(--green),var(--accent));box-shadow:0 0 12px var(--green-glow);}
.compare-row .fillbar.sem_meta{background:var(--muted-2);}
.compare-row .val{text-align:right;font-family:var(--font-mono);font-weight:700;font-size:0.9rem;}

/* resumo de leads — aba Lançar dados */
.leads-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px;}
.lead-tile{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:14px;padding:16px 18px;}
.lead-tile .lbl{font-size:0.68rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.lead-tile .val{font-family:var(--font-display);font-size:1.9rem;font-weight:700;line-height:1;}
.lead-tile.grupo .val{color:var(--accent);text-shadow:0 0 16px var(--accent-glow);}
.lead-tile.montadora .val{color:var(--magenta);text-shadow:0 0 16px rgba(232,79,196,0.45);}
.lead-tile .split{margin-top:12px;}
.lead-tile .split .track{position:relative;height:8px;border-radius:5px;background:rgba(255,255,255,0.06);overflow:hidden;display:flex;}
.lead-tile .split .seg-grupo{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);}
.lead-tile .split .seg-montadora{background:var(--magenta);box-shadow:0 0 8px rgba(232,79,196,0.4);}
.lead-tile .split .legend{display:flex;justify-content:space-between;font-size:0.72rem;color:var(--muted);margin-top:6px;font-family:var(--font-mono);}

/* analytics */
.analytics-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.analytics-head h2{font-family:var(--font-ui);font-size:1.1rem;margin:0;font-weight:700;}
.export-btn{padding:11px 20px;border-radius:10px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:0.85rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);}
.export-btn:hover{background:var(--accent);color:#031218;box-shadow:0 0 20px var(--accent-glow);}
.rank-pos{font-family:var(--font-mono);color:var(--muted);width:1.6em;display:inline-block;}
.rank-bar-wrap{display:flex;align-items:center;gap:10px;justify-content:flex-end;}
.rank-bar-track{width:70px;height:6px;border-radius:4px;background:rgba(255,255,255,0.07);overflow:hidden;}
.rank-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 8px var(--accent-glow);}

.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px;}
.chart-card{background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--line-strong);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm);}
.chart-card .titulo{font-weight:700;font-size:0.88rem;margin-bottom:8px;font-family:var(--font-ui);}
.chart-card svg{width:100%;height:auto;display:block;}
.chart-card .barra-mes{fill:var(--muted-2);}
.chart-card .barra-mes.critico{fill:var(--red);filter:drop-shadow(0 0 4px var(--red-glow));}
.chart-card .barra-mes.atencao{fill:var(--amber);filter:drop-shadow(0 0 4px var(--amber-glow));}
.chart-card .barra-mes.ok{fill:var(--green);filter:drop-shadow(0 0 4px var(--green-glow));}
.chart-card .eixo-label{fill:var(--muted);font-size:9px;font-family:var(--font-mono);}
.chart-card .grade-linha{stroke:var(--line);stroke-width:1;}
.chart-card .linha-real{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--accent-glow));}
.chart-card .linha-meta{fill:none;stroke:var(--muted-2);stroke-width:1.5;stroke-dasharray:4 4;}
.chart-card .area-real{opacity:0.95;}
.chart-card .ponto-real{fill:var(--panel-solid);stroke:var(--accent);stroke-width:2.5;}
.chart-note{color:var(--muted);font-size:0.8rem;margin-top:10px;}

/* tabela de lançamento vira cards empilhados em telas estreitas */
@media (max-width:680px){
  #tabelaLancamentos{min-width:0;}
  #tabelaLancamentos thead{display:none;}
  #tabelaLancamentos, #tabelaLancamentos tbody{display:block;width:100%;}
  #tabelaLancamentos tr{
    display:block;position:relative;
    border:1px solid var(--line-strong);border-radius:14px;
    padding:14px 44px 14px 14px;margin-bottom:10px;background:var(--panel-2);
  }
  #tabelaLancamentos td{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    border:none;padding:6px 0;
  }
  #tabelaLancamentos td[data-label]::before{
    content:attr(data-label);
    font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);
    flex-shrink:0;font-family:var(--font-ui);
  }
  #tabelaLancamentos td[data-label="Vendedor"]{padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--line);}
  #tabelaLancamentos td[data-label="Vendedor"]::before{display:none;}
  #tabelaLancamentos td[data-label="Vendedor"] input{font-weight:700;font-size:0.95rem;text-align:left;font-family:var(--font-ui);}
  #tabelaLancamentos td input{max-width:110px;}
  #tabelaLancamentos .td-remover{position:absolute;top:10px;right:10px;padding:0;}
  .compare-row{grid-template-columns:100px 1fr 60px;}
}
