/* DashNextOne (design system aprovado em 20/10/2026) — tokens do portal inteiro.
   Copiados de dashnextone-handoff/css/tokens.css + companies.css (não editar os valores aqui sem atualizar o design system).
   Day é o padrão; Night em html[data-theme="dark"]; empresa em html[data-co]. Os painéis antigos recebem o mesmo arquivo. */
@font-face{font-family:"Montserrat Alternates";src:url(/dn/fonts/MontserratAlternates-Light.otf) format("opentype");font-weight:300;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(/dn/fonts/MontserratAlternates-Regular.otf) format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(/dn/fonts/MontserratAlternates-Medium.otf) format("opentype");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(/dn/fonts/MontserratAlternates-SemiBold.otf) format("opentype");font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(/dn/fonts/MontserratAlternates-Bold.otf) format("opentype");font-weight:700;font-display:swap}
:root {
  --ground: #ece8dd;
  --glass: rgba(255,255,255,0.78);
  --glass-2: rgba(255,255,255,0.62);
  --glass-3: rgba(255,255,255,0.45);
  --glass-edge: rgba(255,255,255,0.72);
  --glass-edge-soft: rgba(255,255,255,0.5);
  --ink: #22180f;
  --ink-muted: #766a5b;
  --ink-faint: #9a8e7f;
  --line: rgba(34,24,15,0.09);
  --line-strong: rgba(34,24,15,0.16);
  --accent: #27351c;
  --accent-hover: #2e3f24;
  --on-accent: #f2eee6;
  --gold: #dca15d;
  --gold-deep: #c8894a;
  --gold-ink: #8f5e22;
  --brand-forest: #27351c;
  --brand-brown: #3a1b0d;
  --ok: #3f6b2a;
  --warn: #9e6311;
  --bad: #a24617;
  --info: #1a243d;
  --hero-start: #30502a;
  --hero-mid: #22361a;
  --hero-end: #1a2a14;
  --hero-ink: #f3efe7;
  --hero-muted: #b9c7aa;
  --hero-chip: rgba(255,255,255,0.12);
  --contrast-start: #2a1f16;
  --contrast-end: #17110c;
  --contrast-ink: #f3efe7;
  --contrast-muted: #a99b8c;
  --series-jpv: #45213f;
  --series-north: #dca15d;
  --series-nextone: #27351c;
  --series-line: #8a7a6a;
  --block: rgba(255,255,255,0.80);
  --block-edge: rgba(255,255,255,0.95);
  --today-wash: rgba(39,53,28,0.07);
  --co-jpv: #330428;
  --co-energy: #9e6311;
  --co-homes: #3c3f20;
  --co-capital: #1a243d;
  --co-dimare: #a24617;
  --co-land: #6b3a16;
  --co-surface: #a24617;
  --shadow-glass: 0 1px 0 rgba(255,255,255,0.9) inset, 0 12px 40px rgba(40,50,20,0.11), 0 1px 2px rgba(40,50,20,0.06);
  --shadow-glass-sm: 0 1px 0 rgba(255,255,255,0.8) inset, 0 4px 14px rgba(40,50,20,0.08);
  --ring-focus: 0 0 0 2px #dca15d;
  --ring-avatar: 0 0 0 2px #ece8dd, 0 0 0 3.5px #dca15d;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 18px;
  --space-6: 24px;
  --gap-grid: 14px;
  --w-sidebar: 236px;
  --w-person: 250px;
  --h-row: 120px;
  --h-block: 96px;
  --px-hour: 50px;
  --radius-card: 22px;
  --radius-panel: 24px;
  --radius-block: 18px;
  --radius-tile: 11px;
  --radius-logo: 20px;
  --radius-code: 7px;
  --radius-pill: 999px;
  --blur-glass: 28px;
  --blur-glass-2: 22px;
  --font-display: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
  --font-ui: "Montserrat", system-ui, sans-serif;
  color-scheme: light;
}
[data-theme="dark"] {
  --ground: #090e08;
  --glass: rgba(255,255,255,0.055);
  --glass-2: rgba(255,255,255,0.045);
  --glass-3: rgba(255,255,255,0.03);
  --glass-edge: rgba(255,255,255,0.12);
  --glass-edge-soft: rgba(255,255,255,0.08);
  --ink: #f3efe7;
  --ink-muted: #a6af99;
  --ink-faint: #7e887a;
  --line: rgba(255,255,255,0.08);
  --line-strong: rgba(255,255,255,0.16);
  --accent: #dca15d;
  --accent-hover: #e6b072;
  --on-accent: #1c2614;
  --gold: #dca15d;
  --gold-deep: #e6b072;
  --gold-ink: #f0cb93;
  --brand-forest: #27351c;
  --brand-brown: #3a1b0d;
  --ok: #9cc47b;
  --warn: #e3b46b;
  --bad: #ec9a66;
  --info: #9db3e0;
  --hero-start: #3e6e2e;
  --hero-mid: #2a4a20;
  --hero-end: #1e3617;
  --hero-ink: #f6f3ec;
  --hero-muted: #c4d3b5;
  --hero-chip: rgba(255,255,255,0.13);
  --contrast-start: #e6b072;
  --contrast-end: #c8894a;
  --contrast-ink: #22180f;
  --contrast-muted: rgba(34,24,15,0.62);
  --series-jpv: #6b4166;
  --series-north: #dca15d;
  --series-nextone: #8dbb6c;
  --series-line: #c9c2b3;
  --block: rgba(255,255,255,0.07);
  --block-edge: rgba(255,255,255,0.12);
  --today-wash: rgba(220,161,93,0.06);
  --co-jpv: #330428;
  --co-energy: #9e6311;
  --co-homes: #3c3f20;
  --co-capital: #1a243d;
  --co-dimare: #a24617;
  --co-land: #6b3a16;
  --co-surface: #a24617;
  --shadow-glass: 0 1px 0 rgba(255,255,255,0.07) inset, 0 14px 44px rgba(0,0,0,0.42);
  --shadow-glass-sm: 0 1px 0 rgba(255,255,255,0.06) inset, 0 4px 14px rgba(0,0,0,0.3);
  --ring-focus: 0 0 0 2px #dca15d;
  --ring-avatar: 0 0 0 2px #090e08, 0 0 0 3.5px #dca15d;
  color-scheme: dark;
}
[data-co="jpv"] { --accent:#330428; --accent-hover:#4A0F3D; --ground:#EBE6E8; --hero-start:#3E1235; --hero-mid:#330428; --hero-end:#1E0218; --series-jpv:#3F0A35; --series-north:#DCA15D; --series-nextone:#8A6B5A; --today-wash:rgba(51,4,40,.07) }
[data-co="jpv"][data-theme="dark"] { --ground:#0D040B; --hero-start:#48213F; --hero-mid:#2E0F29; --hero-end:#1E0818; --series-jpv:#6B4166; --series-north:#DCA15D; --series-nextone:#EAD9C4 }
[data-co="group"] { --series-jpv:#45213F; --series-north:#DCA15D; --series-nextone:#27351C }
[data-co="group"][data-theme="dark"] { --series-jpv:#6B4166; --series-north:#DCA15D; --series-nextone:#8DBB6C }
[data-co="energy"] { --accent:#8A5710; --on-accent:#FFF8EC; --ground:#EAE7DF; --hero-start:#8F5C12; --hero-mid:#6E4509; --hero-end:#4A2E06; --series-jpv:#9E6311; --series-north:#8E8A82; --series-nextone:#3E3A34; --today-wash:rgba(138,87,16,.07) }
[data-co="energy"][data-theme="dark"] { --ground:#0F0F0E; --hero-start:#8A5A14; --hero-mid:#654008; --hero-end:#432905; --series-jpv:#E3B46B; --series-north:#A9A59C; --series-nextone:#EDE7DA }
[data-co="terra"] { --accent:#7A2F0E; --on-accent:#FFF3EA; --ground:#E9E0D8; --ink-bg:#F3E6DA; --hero-start:#8F3A12; --hero-mid:#6B2B0B; --hero-end:#451907; --series-jpv:#8F3A12; --series-north:#DCA15D; --series-nextone:#4A3426; --today-wash:rgba(122,47,14,.08) }
[data-co="terra"][data-theme="dark"] { --ground:#0E0805; --hero-start:#A24617; --hero-mid:#74290B; --hero-end:#4A1A07; --series-jpv:#E08A5A; --series-north:#DCA15D; --series-nextone:#EAD9C4 }
[data-co="homes"] { --accent:#3C3F20; --ground:#E8E7DB; --hero-start:#5E6232; --hero-mid:#3C3F20; --hero-end:#272914; --series-jpv:#5C6130; --series-north:#DCA15D; --series-nextone:#8A7B5A; --today-wash:rgba(60,63,32,.07) }
[data-co="homes"][data-theme="dark"] { --ground:#0D0E08; --hero-start:#6E7438; --hero-mid:#474B25; --hero-end:#2F321A; --series-jpv:#B4BD7C; --series-north:#DCA15D; --series-nextone:#EAD9C4 }
[data-co="capital"] { --accent:#141C33; --ground:#E4E6EB; --hero-start:#26365C; --hero-mid:#141C33; --hero-end:#0B1020; --series-jpv:#1F2E55; --series-north:#DCA15D; --series-nextone:#7E8AA8; --today-wash:rgba(20,28,51,.08) }
[data-co="capital"][data-theme="dark"] { --ground:#060910; --hero-start:#2F467A; --hero-mid:#1A2850; --hero-end:#0F1830; --series-jpv:#8FA6E0; --series-north:#DCA15D; --series-nextone:#E4E8F2 }
/* empresas que o design system ainda não desenhou: mesma regra (accent + hero + fundo), a partir de --co-land */
[data-co="land"] { --accent:#6B3A16; --accent-hover:#7C4720; --ground:#EAE3DA; --hero-start:#7A4A2B; --hero-mid:#5C3218; --hero-end:#3A1D0C; --series-jpv:#6B3A16; --series-north:#DCA15D; --series-nextone:#8A7B5A; --today-wash:rgba(107,58,22,.07) }
[data-co="land"][data-theme="dark"] { --accent:#DCA15D; --ground:#0E0905; --hero-start:#8A5530; --hero-mid:#5C3218; --hero-end:#3A1D0C; --series-jpv:#C99470 }
/* Night: o accent é sempre o dourado (princípio 1), em qualquer empresa */
[data-theme="dark"][data-co] { --accent:#dca15d; --accent-hover:#e6b072; --on-accent:#1c2614 }
/* DashNextOne v2 (21/10/2026, Capítulo 2 · casca do SaaS): cor fixa por empresa nos gráficos (validada para daltonismo, Day e Night; ordem fixa)
   e superfícies sólidas para popover, faixa e painéis (o vidro fica para cards e painéis grandes). */
:root { --c-jpv:#7b3f6e; --c-north:#d39a4f; --c-homes:#5a8f3c; --c-inv:#3f73b8; --c-dimare:#c4552b; --c-outras:#b3a898;
  --dn-pop:color-mix(in srgb,#fff 86%,var(--ground)); --dn-s1:color-mix(in srgb,#fff 78%,var(--ground)); --dn-s2:color-mix(in srgb,#fff 62%,var(--ground)); --dn-s3:color-mix(in srgb,#fff 45%,var(--ground));
  --dn-pop-sombra:0 1px 0 rgba(255,255,255,.9) inset,0 24px 60px rgba(30,24,12,.22) }
[data-theme="dark"] { --c-jpv:#8f5a96; --c-north:#bd8235; --c-homes:#249c86; --c-inv:#6a8fe0; --c-dimare:#d4623a; --c-outras:#5b6457;
  --dn-pop:color-mix(in srgb,#fff 7%,var(--ground)); --dn-s1:color-mix(in srgb,#fff 5.5%,var(--ground)); --dn-s2:color-mix(in srgb,#fff 8%,var(--ground)); --dn-s3:color-mix(in srgb,#fff 3%,var(--ground));
  --dn-pop-sombra:0 1px 0 rgba(255,255,255,.08) inset,0 28px 70px rgba(0,0,0,.6) }
