:root {
  --noir-950:#050506; --noir-900:#0b0b0d; --noir-850:#121216; --noir-800:#1b1b21;
  --ivory:#f6f1e8; --paper:#ece4d6; --stone:#b8b3a8; --muted:#77736a;
  --blue:#4c7dff; --gold:#c9a86a; --border:rgba(246,241,232,.13);
  --font-ui:"Manrope",system-ui,sans-serif; --font-mono:"IBM Plex Mono",monospace; --font-serif:"Instrument Serif",Georgia,serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:linear-gradient(rgba(246,241,232,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(246,241,232,.035) 1px,transparent 1px),radial-gradient(circle at 76% 12%,rgba(76,125,255,.16),transparent 26%),var(--noir-950);background-size:64px 64px,64px 64px,auto;color:var(--ivory);font-family:var(--font-ui);line-height:1.65} a{color:inherit;text-decoration:none}.container{width:min(1320px,calc(100% - 64px));margin:auto}.site-header{position:sticky;top:0;z-index:20;height:74px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:0 32px;border-bottom:1px solid var(--border);background:rgba(5,5,6,.82);backdrop-filter:blur(18px)}.brand,.nav-links,.back-home,.eyebrow,.button,.panel-label,.modal-bar,.dash-topbar,.filter-panel label,.live-dot{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.brand{display:flex;align-items:center;gap:12px;font-size:.75rem}.brand-mark{border:1px solid var(--border);border-radius:999px;padding:9px 10px}.nav-links{display:flex;justify-content:center;gap:18px;font-size:.7rem;color:var(--stone)}.nav-links a:hover,.back-home:hover{color:var(--ivory)}.back-home{font-size:.7rem;color:var(--stone)}.section-pad{padding:96px 0}.border-top{border-top:1px solid var(--border)}.hero{min-height:calc(100vh - 74px);display:grid;align-items:center}.hero-grid,.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{color:var(--blue);font-size:.74rem;margin:0 0 22px}.hero h1,h2{font-size:clamp(2.5rem,6vw,6.5rem);line-height:.92;letter-spacing:-.06em;margin:0 0 28px}.hero h1 em,h2 em{font-family:var(--font-serif);color:var(--gold);font-weight:400}.lead{font-size:clamp(1.08rem,2vw,1.38rem);max-width:820px;color:var(--paper)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{border:1px solid var(--border);background:rgba(246,241,232,.04);color:var(--stone);border-radius:999px;padding:14px 18px;cursor:pointer;font-size:.74rem}.button:hover{transform:translateY(-2px);border-color:rgba(246,241,232,.35);color:var(--ivory)}.button.primary{background:var(--ivory);color:var(--noir-950);border-color:var(--ivory)}.button.technical{border-radius:10px;color:var(--blue);background:rgba(76,125,255,.1);border-color:rgba(76,125,255,.36)}.hero-card{min-height:440px;border:1px solid var(--border);border-radius:30px;background:linear-gradient(180deg,rgba(246,241,232,.08),rgba(246,241,232,.02)),rgba(18,18,22,.78);padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 90px rgba(0,0,0,.35)}.panel-label{font-size:.7rem;color:var(--stone)}.pulse-orb{width:210px;height:210px;margin:auto;border-radius:50%;background:radial-gradient(circle,rgba(76,125,255,.95) 0 4%,rgba(76,125,255,.18) 5% 30%,transparent 31%),repeating-radial-gradient(circle,rgba(246,241,232,.14) 0 1px,transparent 1px 26px);animation:pulse 2.4s infinite}@keyframes pulse{50%{transform:scale(1.04);filter:drop-shadow(0 0 28px rgba(76,125,255,.4))}}.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-kpis div,.metric,.dash-kpi{border-top:1px solid var(--border);padding-top:14px}.mini-kpis strong,.dash-kpi strong{display:block;font-size:1.8rem;line-height:1;font-weight:800}.mini-kpis span,.metric span{font-size:.8rem;color:var(--stone)}.copy p,.section-head p{color:var(--stone);font-size:1.02rem}.section-head{max-width:940px;margin-bottom:36px}.model-grid,.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.model-card{border:1px solid var(--border);border-radius:20px;padding:22px;background:rgba(18,18,22,.78)}.model-card span{font-family:var(--font-mono);color:var(--blue);font-size:.7rem}.model-card h3{margin:12px 0 8px}.model-card p{color:var(--stone);margin:0}.fact{border-color:rgba(76,125,255,.42);background:rgba(76,125,255,.08)}.lakehouse-note{margin-top:22px;border:1px solid rgba(201,168,106,.28);border-radius:24px;padding:26px;background:rgba(201,168,106,.07)}.lakehouse-note p{color:var(--stone)}.metric{border:1px solid var(--border);border-radius:20px;padding:22px;background:rgba(18,18,22,.72)}.metric strong{display:block;font-size:1.1rem;margin-bottom:8px}.dashboard-modal{position:fixed;inset:0;z-index:100;display:none;background:var(--noir-950)}.dashboard-modal.is-open{display:block}.modal-bar{height:54px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;border-bottom:1px solid var(--border);background:rgba(5,5,6,.95);font-size:.72rem}.modal-bar button{justify-self:end;border:1px solid var(--border);background:transparent;color:var(--ivory);border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.dashboard-modal iframe{width:100%;height:calc(100vh - 54px);border:0}.dashboard-body{background:var(--noir-950);height:100vh;overflow:hidden}.dash-topbar{height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);font-size:.72rem}.dash-home{color:var(--stone)}.live-dot{justify-self:end;color:var(--blue)}.dashboard-layout{height:calc(100vh - 58px);display:grid;grid-template-columns:280px 1fr}.filter-panel{border-right:1px solid var(--border);padding:22px;background:rgba(18,18,22,.8);overflow:auto}.filter-panel h2{font-size:1.5rem;letter-spacing:-.04em}.filter-panel label{display:grid;gap:7px;margin:16px 0;color:var(--stone);font-size:.7rem}.filter-panel select{width:100%;background:var(--noir-900);color:var(--ivory);border:1px solid var(--border);border-radius:10px;padding:10px}.dash-content{padding:22px;overflow:auto}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dash-kpi{border:1px solid var(--border);border-radius:18px;padding:18px;background:rgba(18,18,22,.76)}.dash-kpi span{font-family:var(--font-mono);font-size:.7rem;color:var(--stone);text-transform:uppercase}.dash-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-top:14px}.dash-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:rgba(18,18,22,.76);min-height:310px}.dash-card.large{min-height:360px}.dash-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}.dash-card h3{margin:0}.dash-card-head span{font-family:var(--font-mono);font-size:.68rem;color:var(--stone);text-transform:uppercase}.ranking,.alerts{display:grid;gap:10px}.rank-item,.alert-item{display:grid;gap:2px;border-top:1px solid var(--border);padding-top:10px}.rank-item strong,.alert-item strong{font-size:.92rem}.rank-item span,.alert-item span{font-size:.78rem;color:var(--stone)}.alert-item strong{color:var(--blue)}
@media(max-width:900px){.site-header{grid-template-columns:1fr; height:auto; padding:18px}.nav-links{justify-content:flex-start;overflow:auto}.hero-grid,.two-col,.model-grid,.metric-grid,.kpi-row,.dash-grid{grid-template-columns:1fr}.dashboard-layout{grid-template-columns:1fr}.filter-panel{border-right:0;border-bottom:1px solid var(--border)}.container{width:min(100% - 28px,720px)}}

/* ============================================================
   RETAIL PULSE DASHBOARD · v2 · Tema claro Atlas Noir adaptado
   Foco: comparação analítica, filtros completos e charts estáveis.
   ============================================================ */
.dashboard-body.light-dashboard{
  height:100vh;
  overflow:hidden;
  background:#f6f1e8;
  color:#050506;
}
.dash-topbar.light{
  height:58px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 20px;
  border-bottom:1px solid rgba(5,5,6,.12);
  background:rgba(246,241,232,.94);
  color:#050506;
  backdrop-filter:blur(14px);
  font-size:.72rem;
}
.dash-topbar.light .dash-home{color:#77736a}.dash-topbar.light .dash-home:hover{color:#050506}.dash-topbar.light .live-dot{justify-self:end;color:#4c7dff}
.dashboard-layout.light{
  height:calc(100vh - 58px);
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  background:#f6f1e8;
}
.filter-panel.light{
  border-right:1px solid rgba(5,5,6,.12);
  padding:18px;
  background:#ece4d6;
  color:#050506;
  overflow:auto;
}
.filter-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.filter-title h2{margin:0;font-size:1.35rem;letter-spacing:-.04em}.filter-title p{margin:0;color:#77736a;font-size:.78rem}
.filter-panel.light label{display:grid;gap:6px;margin:12px 0;color:#77736a;font-size:.68rem}.filter-panel.light select{width:100%;background:#fff;color:#050506;border:1px solid rgba(5,5,6,.14);border-radius:10px;padding:10px;outline:none}.filter-panel.light select:focus{border-color:rgba(76,125,255,.52);box-shadow:0 0 0 3px rgba(76,125,255,.10)}.filter-panel.light .button.technical{width:100%;margin-top:10px;background:rgba(76,125,255,.09);color:#2f5fe8;border-color:rgba(76,125,255,.35)}
.dash-content.light{padding:20px;overflow:auto;background:linear-gradient(rgba(5,5,6,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(5,5,6,.035) 1px,transparent 1px),#f6f1e8;background-size:48px 48px,48px 48px,auto}.dash-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin-bottom:16px}.dash-title-row h1{margin:0;font-size:clamp(1.6rem,2.5vw,2.7rem);line-height:1.02;letter-spacing:-.055em;color:#050506}.dash-kicker{margin:0 0 6px;color:#4c7dff;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.dash-context{border:1px solid rgba(5,5,6,.12);border-radius:999px;background:#fff;padding:10px 14px;color:#77736a;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.kpi-row.wide{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.light-dashboard .dash-kpi{border:1px solid rgba(5,5,6,.12);border-radius:16px;padding:16px;background:#fff;color:#050506;box-shadow:0 10px 28px rgba(5,5,6,.045)}.light-dashboard .dash-kpi span{display:block;margin-bottom:8px;color:#77736a;font-size:.66rem}.light-dashboard .dash-kpi strong{font-size:clamp(1.25rem,2vw,2rem);letter-spacing:-.055em;color:#050506;white-space:nowrap}.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.analytics-grid .span-2{grid-column:span 2}.light-dashboard .dash-card{min-height:auto;border:1px solid rgba(5,5,6,.12);border-radius:18px;padding:16px;background:#fff;color:#050506;box-shadow:0 12px 32px rgba(5,5,6,.05);overflow:hidden}.light-dashboard .dash-card-head{margin-bottom:12px}.light-dashboard .dash-card h3{color:#050506}.light-dashboard .dash-card-head span{color:#77736a}.chart-box{position:relative;width:100%;height:280px;max-height:280px;overflow:hidden}.chart-box.tall{height:330px;max-height:330px}.chart-box canvas{display:block;width:100% !important;height:100% !important;max-height:100% !important}.ranking.light,.alerts.light{display:grid;gap:8px;max-height:330px;overflow:auto}.light-dashboard .rank-item,.light-dashboard .alert-item{border-top:1px solid rgba(5,5,6,.10);padding-top:9px}.light-dashboard .rank-item:first-child,.light-dashboard .alert-item:first-child{border-top:0}.light-dashboard .rank-item strong,.light-dashboard .alert-item strong{color:#050506}.light-dashboard .rank-item span,.light-dashboard .alert-item span{color:#77736a}.light-dashboard .alert-item strong{color:#2f5fe8}
@media(max-width:1180px){.dashboard-layout.light{grid-template-columns:1fr}.filter-panel.light{border-right:0;border-bottom:1px solid rgba(5,5,6,.12);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:330px}.filter-title{grid-column:1/-1}.filter-panel.light label{margin:0}.filter-panel.light .button.technical{margin-top:0;align-self:end}.kpi-row.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid .span-2{grid-column:span 2}}
@media(max-width:720px){.dash-topbar.light{grid-template-columns:1fr;gap:4px;height:auto;padding:10px 14px}.dashboard-layout.light{height:calc(100vh - 86px)}.filter-panel.light{grid-template-columns:1fr;max-height:360px}.dash-title-row{grid-template-columns:1fr}.kpi-row.wide,.analytics-grid{grid-template-columns:1fr}.analytics-grid .span-2{grid-column:span 1}.chart-box,.chart-box.tall{height:260px;max-height:260px}}

/* ============================================================
   RETAIL PULSE DASHBOARD · v3 · fundo monocromático quase branco
   Remove sensação dourada do dashboard e reforça contraste técnico.
   ============================================================ */
.dashboard-body.light-dashboard{
  background:#f7f7f4;
  color:#050506;
}
.dash-topbar.light{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(5,5,6,.10);
}
.dashboard-layout.light{
  background:#f7f7f4;
}
.filter-panel.light{
  background:#f1f1ee;
  border-right:1px solid rgba(5,5,6,.10);
}
.dash-content.light{
  background:#f7f7f4;
  background-image:
    linear-gradient(rgba(5,5,6,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5,5,6,.025) 1px, transparent 1px);
  background-size:56px 56px;
}
.light-dashboard .dash-kpi,
.light-dashboard .dash-card,
.filter-panel.light select,
.dash-context{
  background:#ffffff;
}
.light-dashboard .dash-card{
  box-shadow:0 14px 34px rgba(5,5,6,.045);
}
