/* ONDIS Design System 2026
   Camada visual compartilhada por todas as telas. */

:root,
:root[data-theme="executive"],
:root[data-theme="default"],
:root[data-theme="spacewhite"] {
  --ondis-primary: #2457e6;
  --ondis-accent: #14a98f;
  --ondis-bg: #f5f7fb;
  --ondis-surface: #ffffff;
  --ondis-surface-soft: #f8fafc;
  --ondis-text: #0f172a;
  --ondis-muted: #64748b;
  --ondis-line: #e2e8f0;
  --ondis-danger: #dc4c64;
  --ondis-warning: #d98a16;
  --ondis-success: #079669;
  --ondis-radius: 15px;
  --ondis-font: Inter, Manrope, "Segoe UI", system-ui, -apple-system, sans-serif;
  --ondis-shadow: 0 14px 34px rgba(15, 23, 42, .065);
  --ondis-shadow-lg: 0 26px 70px rgba(15, 23, 42, .14);
  --ondis-app-background:
    radial-gradient(900px 460px at 96% -10%, rgba(36, 87, 230, .07), transparent 62%),
    radial-gradient(700px 420px at -5% 110%, rgba(20, 169, 143, .055), transparent 60%),
    var(--ondis-bg);

  /* Compatibilidade com os componentes antigos. */
  --bg: var(--ondis-bg);
  --panel: var(--ondis-surface);
  --panel2: var(--ondis-surface-soft);
  --text: var(--ondis-text);
  --muted: var(--ondis-muted);
  --line: var(--ondis-line);
  --good: var(--ondis-success);
  --bad: var(--ondis-danger);
  --warn: var(--ondis-warning);
  --brand: var(--ondis-primary);
  --accent: var(--ondis-primary);
  --shadow: var(--ondis-shadow);
  --radius: var(--ondis-radius);
  --grad: var(--ondis-app-background);
  --btnGrad: var(--ondis-primary);
  --btnBorder: transparent;
}

:root[data-theme="sapphire"] {
  --ondis-primary: #1769e8;
  --ondis-accent: #38a7ff;
  --ondis-bg: #f2f7ff;
  --ondis-surface: #ffffff;
  --ondis-surface-soft: #f5f9ff;
  --ondis-text: #10213d;
  --ondis-muted: #63758f;
  --ondis-line: #dbe8f8;
  --ondis-app-background:
    radial-gradient(900px 500px at 90% -10%, rgba(56, 167, 255, .13), transparent 62%),
    radial-gradient(650px 400px at 0% 100%, rgba(23, 105, 232, .07), transparent 64%),
    var(--ondis-bg);
}

:root[data-theme="carbon"] {
  --ondis-primary: #4c7dff;
  --ondis-accent: #19c7b0;
  --ondis-bg: #0b111a;
  --ondis-surface: #121a25;
  --ondis-surface-soft: #172231;
  --ondis-text: #f4f7fb;
  --ondis-muted: #98a7ba;
  --ondis-line: #263445;
  --ondis-danger: #ff6b7d;
  --ondis-warning: #f7b84b;
  --ondis-success: #2bd6a1;
  --ondis-shadow: 0 18px 45px rgba(0, 0, 0, .28);
  --ondis-shadow-lg: 0 30px 80px rgba(0, 0, 0, .46);
  --ondis-app-background:
    radial-gradient(900px 480px at 88% -12%, rgba(76, 125, 255, .15), transparent 62%),
    radial-gradient(720px 460px at 5% 105%, rgba(25, 199, 176, .09), transparent 64%),
    var(--ondis-bg);
}

:root[data-theme="emerald"] {
  --ondis-primary: #087f65;
  --ondis-accent: #20b886;
  --ondis-bg: #f2f8f5;
  --ondis-surface: #ffffff;
  --ondis-surface-soft: #f5faf7;
  --ondis-text: #10251e;
  --ondis-muted: #617a70;
  --ondis-line: #d9e9e1;
  --ondis-app-background:
    radial-gradient(900px 480px at 92% -10%, rgba(32, 184, 134, .12), transparent 64%),
    radial-gradient(650px 420px at -4% 105%, rgba(8, 127, 101, .07), transparent 62%),
    var(--ondis-bg);
}

:root[data-theme="amethyst"] {
  --ondis-primary: #8f67d8;
  --ondis-accent: #e68fbe;
  --ondis-bg: #fbf7fd;
  --ondis-surface: #ffffff;
  --ondis-surface-soft: #fcf8fe;
  --ondis-text: #271a36;
  --ondis-muted: #786a86;
  --ondis-line: #eadff0;
  --ondis-success: #278d78;
  --ondis-app-background:
    radial-gradient(850px 470px at 92% -8%, rgba(230, 143, 190, .16), transparent 64%),
    radial-gradient(720px 450px at 0% 105%, rgba(143, 103, 216, .11), transparent 62%),
    var(--ondis-bg);
}

:root[data-theme="custom"] {
  --ondis-primary: var(--ondis-custom-primary, #2457e6);
  --ondis-accent: var(--ondis-custom-accent, #14a98f);
  --ondis-bg: var(--ondis-custom-bg, #f5f7fb);
  --ondis-surface: var(--ondis-custom-surface, #ffffff);
  --ondis-surface-soft: color-mix(in srgb, var(--ondis-surface) 90%, var(--ondis-bg));
  --ondis-text: var(--ondis-custom-text, #0f172a);
  --ondis-muted: color-mix(in srgb, var(--ondis-text) 61%, transparent);
  --ondis-line: color-mix(in srgb, var(--ondis-text) 14%, transparent);
  --ondis-radius: var(--ondis-custom-radius, 15px);
  --ondis-font: var(--ondis-custom-font, Inter), Manrope, "Segoe UI", system-ui, sans-serif;
  --ondis-app-background: var(--ondis-custom-background, var(--ondis-bg));
}

:root[data-contrast="high"] {
  --ondis-line: color-mix(in srgb, var(--ondis-text) 35%, transparent);
  --ondis-muted: color-mix(in srgb, var(--ondis-text) 82%, transparent);
}

html { color-scheme: light; }
html[data-theme="carbon"] { color-scheme: dark; }

body {
  font-family: var(--ondis-font) !important;
  background: var(--ondis-app-background) !important;
  background-attachment: fixed !important;
  color: var(--ondis-text) !important;
  letter-spacing: -.005em;
}

body,
.appShell,
.appContent { min-height: 100vh; }

/* Estrutura e navegação */
.sidebar {
  background: color-mix(in srgb, var(--ondis-surface) 96%, transparent) !important;
  border-right: 1px solid var(--ondis-line) !important;
  box-shadow: 8px 0 30px rgba(15, 23, 42, .025) !important;
  backdrop-filter: blur(18px);
}

.sideBrand { border-bottom-color: var(--ondis-line) !important; }
.sideBrand h1,
.sideBrandText h1 { color: var(--ondis-text) !important; letter-spacing: .08em !important; }
.sideSection { color: var(--ondis-muted) !important; letter-spacing: .14em !important; }
.navItem {
  color: var(--ondis-muted) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  font-weight: 650 !important;
}
.navItem:hover {
  color: var(--ondis-text) !important;
  background: color-mix(in srgb, var(--ondis-primary) 7%, var(--ondis-surface)) !important;
  transform: none !important;
}
.navItem.active {
  color: var(--ondis-primary) !important;
  background: color-mix(in srgb, var(--ondis-primary) 9%, var(--ondis-surface)) !important;
  border-color: color-mix(in srgb, var(--ondis-primary) 13%, transparent) !important;
  box-shadow: none !important;
}
.navItem.active .ni { filter: none !important; }
.logoBox,
.logoIcon {
  background: color-mix(in srgb, var(--ondis-primary) 8%, var(--ondis-surface)) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-primary) !important;
}

.contentTopbar,
header {
  background: color-mix(in srgb, var(--ondis-surface) 91%, transparent) !important;
  border-color: var(--ondis-line) !important;
  backdrop-filter: blur(18px) !important;
  box-shadow: 0 1px 0 var(--ondis-line) !important;
}
.contentTopbar { min-height: 68px !important; padding: 0 24px !important; }
.topbarTitle { color: var(--ondis-text) !important; font-size: 17px !important; font-weight: 750 !important; }
.wrap {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px 16px 18px !important;
}

/* Superfícies */
.card,
.panel,
.box:not(.loginBox),
.prod,
.kanban .col,
.dashChartCard,
.barCard,
.arenaBox,
.noteBox,
.item,
.kpi,
.resultado,
.faixaRow,
.modal {
  background: var(--ondis-surface) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-text) !important;
  box-shadow: var(--ondis-shadow) !important;
}

.card,
.panel,
.prod,
.dashChartCard,
.barCard,
.arenaBox,
.noteBox,
.item,
.kpi,
.modal { border-radius: var(--ondis-radius) !important; }

.cardHeader,
.cardHead,
.modalHead {
  background: transparent !important;
  border-color: var(--ondis-line) !important;
}
.cardHeader h2,
.cardHead h2,
.modalHead h3,
.secTitle,
.arenaSectionTitle {
  color: var(--ondis-text) !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
}
.cardHeader h2::before { background: var(--ondis-primary) !important; }
.hint,
.tiny,
.meta,
.sub,
.field label,
.kpi .t,
th { color: var(--ondis-muted) !important; }
.name,
.kpi .v,
td,
label,
h1, h2, h3, h4, p { color: var(--ondis-text); }
.divider { background: var(--ondis-line) !important; }

/* Entradas e botões */
button,
input,
select,
textarea { font-family: var(--ondis-font) !important; }
.field input,
.field select,
.field textarea,
input,
select,
textarea {
  background: var(--ondis-surface) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-text) !important;
}
input::placeholder,
textarea::placeholder { color: color-mix(in srgb, var(--ondis-muted) 70%, transparent) !important; }
input:focus,
select:focus,
textarea:focus {
  border-color: color-mix(in srgb, var(--ondis-primary) 60%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ondis-primary) 12%, transparent) !important;
  outline: none !important;
}

.btn,
.close,
.tabs button,
.tab {
  background: var(--ondis-surface) !important;
  border: 1px solid var(--ondis-line) !important;
  color: var(--ondis-text) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  font-weight: 650 !important;
}
.btn:hover,
.close:hover,
.tabs button:hover,
.tab:hover {
  background: color-mix(in srgb, var(--ondis-primary) 6%, var(--ondis-surface)) !important;
  border-color: color-mix(in srgb, var(--ondis-primary) 25%, var(--ondis-line)) !important;
  filter: none !important;
}
.btn.good,
.btn.primary,
.tabs button.active,
.tab.active {
  background: var(--ondis-primary) !important;
  border-color: var(--ondis-primary) !important;
  color: #fff !important;
}
.btn.warn { color: var(--ondis-warning) !important; border-color: color-mix(in srgb, var(--ondis-warning) 32%, var(--ondis-line)) !important; }
.btn.bad { color: var(--ondis-danger) !important; border-color: color-mix(in srgb, var(--ondis-danger) 32%, var(--ondis-line)) !important; }
.btn.wa { background: #0b9f6e !important; border-color: #0b9f6e !important; color: #fff !important; }

.tag,
.chip {
  background: var(--ondis-surface-soft) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-muted) !important;
}
.tag.good { color: var(--ondis-success) !important; background: color-mix(in srgb, var(--ondis-success) 10%, var(--ondis-surface)) !important; }
.tag.warn { color: var(--ondis-warning) !important; background: color-mix(in srgb, var(--ondis-warning) 9%, var(--ondis-surface)) !important; }
.tag.bad { color: var(--ondis-danger) !important; background: color-mix(in srgb, var(--ondis-danger) 9%, var(--ondis-surface)) !important; }

table { background: var(--ondis-surface) !important; border-color: var(--ondis-line) !important; }
th, td { border-color: var(--ondis-line) !important; }
tr:hover td { background: color-mix(in srgb, var(--ondis-primary) 4%, var(--ondis-surface)) !important; }
.meter,
.bar { background: color-mix(in srgb, var(--ondis-text) 9%, transparent) !important; }
.meter > i,
.bar > i { background: linear-gradient(90deg, var(--ondis-primary), var(--ondis-accent)) !important; }

.accountDrop {
  background: var(--ondis-surface) !important;
  border-color: var(--ondis-line) !important;
  box-shadow: var(--ondis-shadow-lg) !important;
}
.accItem { color: var(--ondis-text) !important; }
.accItem:hover { background: var(--ondis-surface-soft) !important; }
.modalBack { background: rgba(15, 23, 42, .34) !important; backdrop-filter: blur(9px); }
.modal { background: var(--ondis-surface) !important; box-shadow: var(--ondis-shadow-lg) !important; }

/* O seletor flutuante antigo não aparece mais: temas ficam nas configurações. */
.themeDock { display: none !important; }

/* Estúdio de marca */
#settingsBack .modal { width: min(920px, 100%) !important; }
.settingsSection {
  padding: 18px;
  border: 1px solid var(--ondis-line);
  border-radius: var(--ondis-radius);
  background: var(--ondis-surface-soft);
  margin: 14px 0;
}
.settingsSectionHead { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.settingsSectionHead h4 { margin: 0 0 4px; font-size: 15px; }
.settingsSectionHead p { margin: 0; font-size: 12px; color: var(--ondis-muted); }
.themePresetGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.themePreset {
  min-height: 82px;
  display: flex;
  gap: 12px;
  align-items: center;
  text-align: left;
  padding: 13px;
  border-radius: 13px;
  border: 1px solid var(--ondis-line);
  background: var(--ondis-surface);
  color: var(--ondis-text);
  cursor: pointer;
  position: relative;
}
.themePreset:hover { border-color: color-mix(in srgb, var(--ondis-primary) 36%, var(--ondis-line)); }
.themePreset.isActive { border-color: var(--ondis-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ondis-primary) 12%, transparent); }
.themePreset.isActive::after { content: "✓"; position: absolute; top: 8px; right: 9px; color: var(--ondis-primary); font-weight: 900; }
.themeOrb { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 50%; position: relative; background: conic-gradient(#172554, #2457e6, #14a98f, #172554); }
.themeOrb::after { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--ondis-surface); }
.themePreset[data-theme-value="sapphire"] .themeOrb { background: conic-gradient(#0f4fbf, #38a7ff, #9dd9ff, #0f4fbf); }
.themePreset[data-theme-value="carbon"] .themeOrb { background: conic-gradient(#080b10, #667486, #202a36, #080b10); }
.themePreset[data-theme-value="emerald"] .themeOrb { background: conic-gradient(#055f4c, #20b886, #66dfb5, #055f4c); }
.themePreset[data-theme-value="amethyst"] .themeOrb { background: conic-gradient(#8f67d8, #e68fbe, #f4c9e1, #b49ae9, #8f67d8); }
.themePreset[data-theme-value="custom"] .themeOrb { background: none; border: 1px dashed var(--ondis-muted); display: grid; place-items: center; }
.themePreset[data-theme-value="custom"] .themeOrb::after { content: "+"; inset: 0; display: grid; place-items: center; background: transparent; color: var(--ondis-muted); font-size: 22px; }
.themePreset strong { display: block; font-size: 13px; }
.themePreset small { display: block; color: var(--ondis-muted); font-size: 10px; margin-top: 3px; }
.customThemeGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.colorControl { display: grid; grid-template-columns: 42px 1fr; gap: 9px; align-items: center; }
.colorControl input[type="color"] { width: 42px; height: 38px; padding: 3px !important; cursor: pointer; }
.settingsActions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.liveNote { display: inline-flex; gap: 7px; align-items: center; color: var(--ondis-muted); font-size: 11px; }
.liveNote::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ondis-success); }

/* Arena gamer: divertida, mas ainda legível e funcional. */
.arenaCard {
  background: #08101e !important;
  border-color: #21375d !important;
  color: #f7fbff !important;
  overflow: hidden;
}
.arenaCard .cardHeader,
.arenaCard .cardBody { background: transparent !important; }
.arenaCard .cardHeader { border-color: rgba(128, 170, 255, .18) !important; }
.arenaCard .arenaTitle h2 { color: #f7fbff !important; font-size: 19px !important; text-transform: none !important; }
.arenaGameStage {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border: 1px solid #244371;
  border-radius: 22px;
  padding: 22px;
  background:
    linear-gradient(rgba(7, 16, 31, .18), rgba(7, 16, 31, .78)),
    radial-gradient(ellipse at 50% 12%, rgba(58, 120, 255, .34), transparent 40%),
    repeating-linear-gradient(90deg, transparent 0 86px, rgba(57, 114, 225, .07) 87px 88px),
    linear-gradient(180deg, #0b1932, #08101e 72%);
  box-shadow: inset 0 0 90px rgba(0, 0, 0, .55);
}
.arenaGameStage::before {
  content: "";
  position: absolute;
  left: -8%; right: -8%; bottom: -42%; height: 70%;
  border-radius: 50%;
  border: 1px solid rgba(69, 142, 255, .35);
  background: repeating-radial-gradient(ellipse at center, transparent 0 44px, rgba(43, 103, 216, .15) 45px 47px);
  transform: perspective(500px) rotateX(54deg);
}
.gameStageTop { position: relative; z-index: 2; display: grid; grid-template-columns: .72fr 1.8fr .8fr; gap: 14px; align-items: start; }
.gameHud {
  padding: 14px;
  border-radius: 15px;
  border: 1px solid rgba(112, 164, 255, .26);
  background: rgba(7, 18, 38, .78);
  box-shadow: 0 18px 35px rgba(0, 0, 0, .28);
}
.gameHud small { color: #91a9c7; }
.gameHud strong { color: #fff; }
.teamEnergy { font-size: 30px; font-weight: 850; margin: 6px 0; }
.gameScreen {
  padding: 18px;
  text-align: center;
  border: 1px solid rgba(90, 156, 255, .38);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(20, 55, 112, .93), rgba(7, 24, 56, .94));
  box-shadow: 0 0 40px rgba(42, 112, 255, .18), inset 0 0 35px rgba(42, 112, 255, .12);
}
.gameScreenTitle { font-size: clamp(18px, 2.2vw, 31px); font-weight: 900; letter-spacing: .025em; color: #fff; }
.gameScreenTitle span { color: #35dda7; }
.gamePodium { display: flex; justify-content: center; gap: 12px; align-items: flex-end; margin-top: 16px; }
.podiumHero { width: 30%; min-width: 90px; color: #fff; }
.podiumHero.first { transform: translateY(-9px); }
.podiumHero .avatar { margin: 0 auto 8px; width: 62px; height: 62px; border-radius: 50%; border: 3px solid #4e8cff; background: #142f5d; }
.podiumHero.first .avatar { width: 76px; height: 76px; border-color: #f6c557; box-shadow: 0 0 25px rgba(246, 197, 87, .24); }
.podiumHero b { display: block; color: #fff; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.podiumHero em { display: block; color: #43e8b4; font-size: 18px; font-style: normal; font-weight: 850; }
.rewardChest { font-size: 48px; text-align: center; filter: drop-shadow(0 8px 14px rgba(246, 197, 87, .25)); }
.gamePlayers { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 30px; align-items: end; }
.gamePlayer {
  min-width: 0;
  text-align: center;
  color: #fff;
  padding: 13px 9px 12px;
  border: 1px solid rgba(94, 153, 255, .3);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(18, 46, 91, .88), rgba(6, 19, 42, .92));
}
.gamePlayer.rank1 { border-color: rgba(246, 197, 87, .7); box-shadow: 0 0 25px rgba(246, 197, 87, .13); }
.gamePlayer .avatar { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 9px; background: #163467; border-color: rgba(110, 174, 255, .5); }
.gamePlayerName { font-size: 13px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.gamePlayerPct { font-size: 21px; font-weight: 900; color: #3ae4af; margin: 3px 0 8px; }
.gamePlayer .meter { height: 7px; }
.gameMissionBar { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
.gameMission {
  border: 1px solid rgba(103, 155, 255, .26);
  border-radius: 14px;
  padding: 12px;
  background: rgba(7, 18, 38, .86);
  color: #fff;
}
.gameMission span { color: #91a9c7; font-size: 11px; }
.gameMission b { color: #fff; display: block; margin-top: 3px; }
.arenaDetails { margin-top: 16px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(112,164,255,.16); }
.arenaCard .arenaDetails .arenaBox,
.arenaCard .arenaDetails .kpi,
.arenaCard .arenaDetails .noteBox,
.arenaCard .arenaDetails input,
.arenaCard .arenaDetails select {
  background: #111d2e !important;
  border-color: #263b58 !important;
  color: #f7fbff !important;
  box-shadow: none !important;
}
.arenaCard .arenaDetails .hint,
.arenaCard .arenaDetails .tiny,
.arenaCard .arenaDetails label,
.arenaCard .arenaDetails .kpi .t { color: #9eb0c7 !important; }
.arenaCard .arenaDetails .kpi .v,
.arenaCard .arenaDetails h3,
.arenaCard .arenaDetails b { color: #f7fbff !important; }

/* Abertura em vídeo */
.systemIntro {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #eef2f5;
  opacity: 1;
  visibility: visible;
  transition: opacity .55s ease, visibility .55s ease;
}
.systemIntro.isLeaving { opacity: 0; visibility: hidden; pointer-events: none; }
.systemIntro video { width: 100%; height: 100%; object-fit: cover; }
.introControls { position: absolute; right: 22px; bottom: 20px; display: flex; gap: 9px; }
.introControl {
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .86);
  color: #13213a;
  backdrop-filter: blur(12px);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .13);
}

/* Login premium */
body.loginPage { background: var(--ondis-app-background) !important; }
body.loginPage .box {
  width: min(430px, 100%);
  background: color-mix(in srgb, var(--ondis-surface) 94%, transparent) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-text) !important;
  box-shadow: var(--ondis-shadow-lg) !important;
  backdrop-filter: blur(18px);
}
body.loginPage .logoText h1 { color: var(--ondis-text) !important; }
body.loginPage .logoText p,
body.loginPage .hint,
body.loginPage .field label { color: var(--ondis-muted) !important; }
body.loginPage .tabs { background: var(--ondis-surface-soft) !important; border: 1px solid var(--ondis-line); }
body.loginPage .btn.good { background: var(--ondis-primary) !important; border-color: var(--ondis-primary) !important; color: #fff !important; }

@media (max-width: 900px) {
  .themePresetGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gameStageTop { grid-template-columns: 1fr; }
  .gameHud { display: none; }
  .gamePlayers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gameMissionBar { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .wrap { padding: 14px !important; }
  .themePresetGrid,
  .customThemeGrid { grid-template-columns: 1fr; }
  .gamePlayers { grid-template-columns: 1fr; }
  .gamePodium { gap: 5px; }
  .arenaGameStage { padding: 12px; }
  .introControls { right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   ONDIS V3 — cores naturais, texturas próprias e contraste
   ========================================================= */
:root,
:root[data-theme="executive"],
:root[data-theme="default"],
:root[data-theme="spacewhite"] {
  --ondis-primary: #2356c7;
  --ondis-accent: #0b9f83;
  --ondis-bg: #e9f0f7;
  --ondis-surface: #f8fbfd;
  --ondis-surface-soft: #e8f1f7;
  --ondis-text: #091527;
  --ondis-muted: #43546a;
  --ondis-line: #c8d6e3;
  --ondis-app-background:
    repeating-linear-gradient(135deg, rgba(22,66,125,.026) 0 1px, transparent 1px 13px),
    radial-gradient(900px 520px at 92% -8%, rgba(35,86,199,.18), transparent 64%),
    radial-gradient(720px 460px at -4% 108%, rgba(11,159,131,.14), transparent 62%),
    linear-gradient(145deg, #e8eff6, #f5f9fb 55%, #e6f2ef);
}

:root[data-theme="sapphire"] {
  --ondis-primary: #075cc9;
  --ondis-accent: #00a8d9;
  --ondis-bg: #deeffc;
  --ondis-surface: #f2f9ff;
  --ondis-surface-soft: #dceefb;
  --ondis-text: #071a32;
  --ondis-muted: #38566f;
  --ondis-line: #b9d7ea;
  --ondis-app-background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.74) 0 5px, transparent 6px),
    radial-gradient(circle at 80% 72%, rgba(7,92,201,.08) 0 7px, transparent 8px),
    repeating-radial-gradient(ellipse at 105% -10%, transparent 0 46px, rgba(0,168,217,.055) 47px 49px),
    linear-gradient(145deg, #dceefc, #f3faff 52%, #d6f1f6);
}

:root[data-theme="carbon"] {
  --ondis-primary: #344965;
  --ondis-accent: #b9772c;
  --ondis-bg: #e4e6e8;
  --ondis-surface: #f2f3f4;
  --ondis-surface-soft: #dfe3e6;
  --ondis-text: #111820;
  --ondis-muted: #4d5864;
  --ondis-line: #c3c9ce;
  --ondis-app-background:
    repeating-linear-gradient(0deg, rgba(20,28,37,.032) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.19) 0 1px, transparent 1px 5px),
    radial-gradient(900px 500px at 92% -10%, rgba(185,119,44,.16), transparent 62%),
    linear-gradient(145deg, #dadddf, #f1f3f4 55%, #d7dce0);
}

:root[data-theme="emerald"] {
  --ondis-primary: #08785e;
  --ondis-accent: #55a940;
  --ondis-bg: #dfeee5;
  --ondis-surface: #f2f8f4;
  --ondis-surface-soft: #dcece1;
  --ondis-text: #0b2119;
  --ondis-muted: #3f6054;
  --ondis-line: #bcd5c7;
  --ondis-app-background:
    radial-gradient(ellipse at 12% 26%, rgba(85,169,64,.08) 0 18px, transparent 19px),
    radial-gradient(ellipse at 88% 68%, rgba(8,120,94,.07) 0 24px, transparent 25px),
    repeating-linear-gradient(118deg, transparent 0 38px, rgba(8,120,94,.035) 39px 41px),
    linear-gradient(145deg, #dbece2, #f3f8f4 55%, #e3efd5);
}

:root[data-theme="amethyst"] {
  --ondis-primary: #7954c9;
  --ondis-accent: #d35e9f;
  --ondis-bg: #f0e3f1;
  --ondis-surface: #fbf4fa;
  --ondis-surface-soft: #eadced;
  --ondis-text: #28152e;
  --ondis-muted: #674d6c;
  --ondis-line: #dac1dd;
  --ondis-app-background:
    radial-gradient(ellipse at 12% 14%, rgba(211,94,159,.14), transparent 24%),
    radial-gradient(ellipse at 82% 10%, rgba(121,84,201,.18), transparent 28%),
    radial-gradient(ellipse at 68% 92%, rgba(244,167,202,.17), transparent 27%),
    repeating-linear-gradient(45deg, transparent 0 22px, rgba(121,84,201,.026) 23px 24px),
    linear-gradient(145deg, #eadced, #fcf5fa 55%, #eee2f6);
}

html[data-theme="carbon"] { color-scheme: light; }

/* Superfícies translúcidas preservam a cor e a textura de cada tema. */
.sidebar,
.contentTopbar,
header { background: color-mix(in srgb, var(--ondis-surface) 86%, transparent) !important; }
.card,
.panel,
.box:not(.loginBox),
.dashChartCard,
.barCard,
.arenaBox,
.noteBox,
.item,
.kpi,
.resultado,
.faixaRow,
.modal { background: color-mix(in srgb, var(--ondis-surface) 91%, transparent) !important; }

/* Arena acompanha integralmente o tema escolhido. */
.arenaCard {
  background: color-mix(in srgb, var(--ondis-surface) 89%, transparent) !important;
  border-color: var(--ondis-line) !important;
  color: var(--ondis-text) !important;
}
.arenaCard .arenaTitle h2 { color: var(--ondis-text) !important; }
.arenaGameStage {
  min-height: 440px;
  border-color: color-mix(in srgb, var(--ondis-primary) 32%, var(--ondis-line));
  background:
    radial-gradient(circle at 10% 14%, color-mix(in srgb, var(--ondis-accent) 15%, transparent) 0 3px, transparent 4px),
    repeating-linear-gradient(90deg, transparent 0 86px, color-mix(in srgb, var(--ondis-primary) 6%, transparent) 87px 88px),
    radial-gradient(ellipse at 50% 4%, color-mix(in srgb, var(--ondis-primary) 24%, transparent), transparent 45%),
    linear-gradient(180deg, color-mix(in srgb, var(--ondis-surface) 85%, var(--ondis-primary)), var(--ondis-surface-soft) 74%);
  box-shadow: inset 0 0 75px color-mix(in srgb, var(--ondis-primary) 8%, transparent), var(--ondis-shadow);
}
.arenaGameStage::before {
  border-color: color-mix(in srgb, var(--ondis-primary) 28%, transparent);
  background: repeating-radial-gradient(ellipse at center, transparent 0 44px, color-mix(in srgb, var(--ondis-primary) 10%, transparent) 45px 47px);
}
.gameHud,
.gameMission {
  background: color-mix(in srgb, var(--ondis-surface) 88%, var(--ondis-primary)) !important;
  border-color: color-mix(in srgb, var(--ondis-primary) 25%, var(--ondis-line)) !important;
  color: var(--ondis-text) !important;
}
.gameHud small,
.gameMission span { color: var(--ondis-muted) !important; }
.gameHud strong,
.gameMission b { color: var(--ondis-text) !important; }
.gameScreen {
  background: linear-gradient(145deg, color-mix(in srgb, var(--ondis-primary) 18%, var(--ondis-surface)), color-mix(in srgb, var(--ondis-accent) 13%, var(--ondis-surface))) !important;
  border-color: color-mix(in srgb, var(--ondis-primary) 35%, var(--ondis-line)) !important;
  box-shadow: 0 18px 38px color-mix(in srgb, var(--ondis-primary) 13%, transparent), inset 0 0 30px color-mix(in srgb, var(--ondis-accent) 9%, transparent) !important;
}
.gameScreenTitle,
.podiumHero,
.podiumHero b,
.gamePlayerName { color: var(--ondis-text) !important; }
.gameScreenTitle span,
.podiumHero em,
.gamePlayerPct { color: var(--ondis-primary) !important; }
.gamePlayer {
  color: var(--ondis-text) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ondis-surface) 86%, var(--ondis-primary)), var(--ondis-surface)) !important;
  border-color: color-mix(in srgb, var(--ondis-primary) 25%, var(--ondis-line)) !important;
}
.arenaDetails { background: color-mix(in srgb, var(--ondis-surface) 76%, transparent) !important; border-color: var(--ondis-line) !important; }
.arenaCard .arenaDetails .arenaBox,
.arenaCard .arenaDetails .kpi,
.arenaCard .arenaDetails .noteBox,
.arenaCard .arenaDetails input,
.arenaCard .arenaDetails select { background: var(--ondis-surface) !important; border-color: var(--ondis-line) !important; color: var(--ondis-text) !important; }
.arenaCard .arenaDetails .hint,
.arenaCard .arenaDetails .tiny,
.arenaCard .arenaDetails label,
.arenaCard .arenaDetails .kpi .t { color: var(--ondis-muted) !important; }
.arenaCard .arenaDetails .kpi .v,
.arenaCard .arenaDetails h3,
.arenaCard .arenaDetails b { color: var(--ondis-text) !important; }
.rewardHud { text-align: center; }
.rewardChest { display:block; width:112px; height:92px; object-fit:contain; margin:2px auto -2px; filter:drop-shadow(0 10px 13px rgba(105,72,17,.25)); }
.rewardHud strong { display:block; font-size:12px; line-height:1.25; }
.rewardHud small:last-child { display:block; margin-top:5px; line-height:1.3; }

/* Editor de níveis e prêmio coletivo. */
.goalLevelEditor { margin-top:14px; padding:16px; border:1px solid var(--ondis-line); border-radius:var(--ondis-radius); background:linear-gradient(135deg, color-mix(in srgb,var(--ondis-primary) 9%,var(--ondis-surface)), color-mix(in srgb,var(--ondis-accent) 8%,var(--ondis-surface))); }
.goalLevelIntro { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.goalLevelIntro span { color:var(--ondis-muted); font-size:12px; }
.goalLevelFields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.teamRewardEditor { display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center; padding:16px; border:1px solid var(--ondis-line); border-radius:15px; background:linear-gradient(135deg,color-mix(in srgb,var(--ondis-primary) 9%,var(--ondis-surface)),color-mix(in srgb,var(--ondis-accent) 7%,var(--ondis-surface))); margin-bottom:16px; }
.teamRewardEditor img { width:145px; height:120px; object-fit:contain; filter:drop-shadow(0 12px 16px rgba(71,51,18,.22)); }
.teamRewardEditor label { display:block; font-size:12px; font-weight:800; margin-bottom:7px; }
.teamRewardEditor input { display:block; width:100% !important; margin-bottom:8px; }

/* Corrida espacial 3D em ambiente claro. */
.spaceRace {
  position:relative;
  min-height:420px;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--ondis-primary) 28%,var(--ondis-line));
  background:
    linear-gradient(90deg,rgba(2,8,22,.34),rgba(5,12,35,.08),rgba(15,7,37,.18)),
    url("./assets/espaco-ranking.jpg") center/cover no-repeat !important;
  box-shadow:inset 0 0 100px rgba(0,3,14,.5),0 18px 42px rgba(14,27,55,.18);
}
.spaceTrackAxis { position:absolute; left:30px; right:38px; top:57px; height:2px; background:linear-gradient(90deg,#60a5fa,#67e8f9,#f7b955); opacity:.48; }
.spaceLane { position:absolute; left:28px; right:28px; height:1px; border-top:1px dashed rgba(181,211,255,.27); }
.planetStop { position:absolute; top:12px; transform:translateX(-50%); z-index:4; text-align:center; pointer-events:none; }
.planetStop > span { display:block; margin-top:4px; font-size:10px; font-weight:800; color:#233247; white-space:nowrap; padding:3px 7px; border-radius:999px; background:rgba(255,255,255,.7); }
.planetBody { position:relative; width:68px; height:68px; border-radius:50%; transform-style:preserve-3d; animation:planetSpin 12s linear infinite; box-shadow:inset -15px -10px 22px rgba(10,18,38,.28), 0 12px 25px rgba(36,55,85,.2); }
.moon3d { background:url("./assets/lua-3d.png") center/contain no-repeat; box-shadow:0 0 30px rgba(215,229,255,.28); }
.moon3d::before,.moon3d::after,.moon3d i { display:none; }
.mars3d { background:radial-gradient(circle at 30% 27%,#ffb37e,#c85b38 45%,#7f2f27 82%); }
.mars3d::before { content:"";position:absolute;inset:17px 8px 28px;border-radius:50%;border-top:5px solid rgba(104,39,31,.28);transform:rotate(-12deg); }
.saturn3d { width:72px;height:72px;background:repeating-linear-gradient(8deg,#eec88e 0 8px,#c99360 9px 14px,#f2d7a7 15px 21px); }
.saturn3d::after { content:"";position:absolute;left:-22px;right:-22px;top:25px;height:18px;border:5px solid rgba(176,123,75,.72);border-left-color:rgba(241,211,164,.9);border-right-color:rgba(105,76,66,.58);border-radius:50%;transform:rotate(-13deg);box-shadow:0 2px 2px rgba(48,38,43,.16); }
.saturn3d i { position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,transparent 48%,rgba(86,57,51,.16));z-index:2; }
@keyframes planetSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.spaceRocket { z-index:6; display:block !important; width:126px; height:78px; transition:left 1.2s cubic-bezier(.2,.75,.22,1),top .5s ease,transform .5s ease !important; }
.spaceRocket .spaceRider { position:absolute; left:17px; top:-2px; width:108px; height:76px; object-fit:contain; filter:drop-shadow(0 8px 8px rgba(23,41,70,.26)); }
.spaceRocket .pic { position:absolute; width:30px;height:30px;left:58px;top:-7px;z-index:4;border:2px solid rgba(255,255,255,.9);box-shadow:0 4px 10px rgba(22,42,70,.2); }
.spaceRocket .lbl { position:absolute; left:118px; top:20px; min-width:180px; display:flex; flex-direction:column; gap:2px; padding:6px 9px; border-radius:10px; background:rgba(255,255,255,.8); border:1px solid rgba(38,61,91,.14); color:#15253a !important; box-shadow:0 6px 15px rgba(23,44,70,.1); }
.spaceRocket .lbl b { color:#111f31; font-size:12px; }
.spaceRocket .lbl span { color:#475a72; font-size:10px; }
.spaceRocket.landed { transform:translateY(8px) rotate(-7deg) scale(.88); }
.spaceRocket.landed .lbl { left:-48px; top:58px; }
.spaceRocket.storeRocket { filter:saturate(.8) hue-rotate(20deg); }
.spaceFlag { position:absolute;z-index:8;display:flex;align-items:flex-start;gap:5px;filter:drop-shadow(0 4px 5px rgba(35,46,63,.16)); }
.spaceFlag > span { font-size:22px; }
.spaceFlag > div { padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.9);border:1px solid rgba(32,53,80,.15);display:flex;flex-direction:column; }
.spaceFlag b { font-size:10px;color:#17273a;white-space:nowrap; }
.spaceFlag em { font-size:9px;color:#516176;font-style:normal;white-space:nowrap; }
.moonBoom { pointer-events:none; z-index:20; background:radial-gradient(360px 220px at 52% 40%,rgba(255,255,255,.78),transparent 72%) !important; }

/* Corrida espacial realista: posição determinada apenas pelo faturamento. */
.spaceRace {
  min-height:500px;
  overflow:auto hidden;
  background:
    linear-gradient(90deg,rgba(2,8,22,.52),rgba(5,12,35,.15),rgba(15,7,37,.2)),
    url("./assets/espaco-ranking.jpg") center/cover no-repeat !important;
}
.spaceTrackAxis { left:190px; right:38px; top:169px; height:1px; opacity:.34; }
.spaceLane { left:24px; right:28px; min-width:900px; border-color:rgba(181,211,255,.24); }
.planetStop { top:20px; }
.planetStop::after {
  content:"";
  position:absolute;
  left:50%;
  top:148px;
  width:1px;
  height:2000px;
  border-left:1px dashed rgba(202,222,255,.22);
}
.planetStop > span {
  position:absolute;
  left:50%;
  top:-2px;
  transform:translate(-50%,-100%);
  margin:0;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(4,10,25,.72);
  color:#f4f8ff;
  box-shadow:0 6px 16px rgba(0,0,0,.22);
  letter-spacing:.03em;
}
.planetBody {
  display:grid;
  place-items:center;
  width:auto;
  height:auto;
  border-radius:0;
  animation:none !important;
  box-shadow:none;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.34));
}
.planetBody img { width:100%; height:100%; object-fit:contain; display:block; }
.pluto3d { width:58px; height:58px; margin-top:48px; }
.moon3d { width:112px; height:112px; margin-top:10px; background:none; filter:drop-shadow(0 0 18px rgba(215,229,255,.22)) drop-shadow(0 14px 18px rgba(0,0,0,.34)); }
.mars3d { width:118px; height:118px; margin-top:7px; background:none; }
.mars3d::before { display:none; }
.saturn3d { width:180px; height:124px; margin-top:4px; background:none; }
.saturn3d::after,.saturn3d i { display:none; }
.spaceRocket {
  width:176px;
  height:68px;
  transition:none !important;
}
.spaceRocket .spaceRider {
  position:absolute;
  inset:5px 0 auto;
  z-index:3;
  width:176px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 9px 9px rgba(0,0,0,.42));
}
.spaceRocket .pic {
  width:57px;
  height:34px;
  left:77px;
  top:15px;
  z-index:4;
  overflow:hidden;
  border:1px solid rgba(194,229,255,.8);
  border-radius:48% 48% 44% 44% / 52% 52% 48% 48%;
  background:#101c2d;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:850;
  box-shadow:inset 0 0 8px rgba(86,184,255,.44),0 2px 7px rgba(0,0,0,.35);
}
.spaceRocket .pic img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.spaceRocket .lbl {
  right:151px;
  left:auto;
  top:16px;
  z-index:2;
  min-width:176px;
  padding:6px 10px;
  border-radius:9px 2px 2px 9px;
  border:1px solid rgba(89,185,255,.7);
  background:linear-gradient(90deg,rgba(6,32,72,.95),rgba(8,52,103,.88));
  color:#fff !important;
  box-shadow:0 0 14px rgba(38,145,255,.35),inset 0 0 18px rgba(27,106,214,.22);
}
.spaceRocket .lbl::after {
  content:"";
  position:absolute;
  left:100%;
  top:50%;
  width:154px;
  height:4px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,rgba(49,160,255,.92),rgba(76,201,255,.55),transparent);
  box-shadow:0 0 10px rgba(55,168,255,.9);
}
.spaceRocket .lbl b { color:#fff; font-size:11px; line-height:1.15; }
.spaceRocket .lbl span { color:#d8efff; font-size:9px; line-height:1.2; }
.spaceFlag {
  z-index:8;
  gap:3px;
  transform:translateX(-4px);
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.36));
}
.spaceFlag > span { font-size:19px; }
.spaceFlag > div { padding:4px 6px; border-radius:7px; background:rgba(248,251,255,.94); border-color:rgba(143,188,232,.38); }
.spaceFlag b { font-size:9px; color:#102033; }
.spaceFlag em { font-size:8px; color:#516176; }

/* Ranking de Metas — composição panorâmica aprovada. */
body.rankViewActive .wrap {
  width:100%;
  max-width:none !important;
  padding:14px 16px 18px !important;
}

/* Proporção panorâmica aplicada a todas as telas principais. */
.appContent > .wrap > [id^="view"] > .card,
.appContent > .wrap > [id^="view"] > .grid,
.appContent > .wrap > [id^="view"] > .arenaCard {
  width:100%;
}
#viewDados .cardBody > .row:first-child,
#viewNoConv .cardBody > .row:first-child {
  display:grid;
  grid-template-columns:minmax(190px,.85fr) minmax(220px,.9fr) minmax(320px,1.35fr);
  gap:12px;
  align-items:end;
}
#viewDados .cardBody > .row:first-child .field,
#viewNoConv .cardBody > .row:first-child .field {
  width:100%;
  min-width:0;
}
#viewDados .cardBody > .row:first-child input,
#viewDados .cardBody > .row:first-child select,
#viewNoConv .cardBody > .row:first-child input,
#viewNoConv .cardBody > .row:first-child select {
  width:100%;
}
#viewMetas .cardBody > .row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  align-items:end;
}
#viewMetas .cardBody > .row > * { min-width:0 !important; }
#viewMetas .cardBody > .row > .field,
#viewMetas .cardBody > .row > div:not(.rowRight) { width:100%; }
#viewMetas .cardBody > .row > .field input,
#viewMetas .cardBody > .row > .field select { width:100%; }
#viewMetas .cardBody > .row > .rowRight {
  margin-left:0 !important;
  justify-content:flex-end;
  align-self:end;
}
#kpisVendorGoals { grid-template-columns:repeat(3,minmax(0,1fr)); }
#dashKpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
#viewDashboard .dashGrid { gap:12px; }
#viewDashboard .dashChartCard { min-width:0; }
#viewDashboard .dashChartCard canvas { max-width:100%; }

/* As páginas de módulos também usam toda a área disponível. */
body:not(.loginPage) > .wrap { width:100% !important; max-width:none !important; }
#viewMetasRank > .card {
  width:100%;
  min-height:calc(100vh - 100px);
  min-height:calc(100dvh - 100px);
}
#viewMetasRank .cardHeader { padding:10px 16px; min-height:52px; }
#viewMetasRank .cardBody { padding:12px 16px 16px; }
#viewMetasRank .cardBody > .row:first-child {
  display:grid;
  grid-template-columns:minmax(190px,.9fr) minmax(220px,.9fr) minmax(340px,1.35fr);
  gap:12px;
  align-items:end;
}
#viewMetasRank .cardBody > .row:first-child .field { min-width:0; width:100%; }
#viewMetasRank .cardBody > .row:first-child input,
#viewMetasRank .cardBody > .row:first-child select { width:100%; }
#viewMetasRank .divider { margin:10px 0; }
#metaRankKpis {
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
#metaRankKpis .metaRankKpi {
  min-width:0;
  min-height:74px;
  padding:10px 38px 9px 11px;
  border-radius:13px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#metaRankKpis .kpi .t {
  font-size:10px;
  line-height:1.2;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#metaRankKpis .kpi .v {
  margin-top:5px;
  font-size:15px;
  line-height:1.15;
  white-space:nowrap;
}
.metaRankKpiIcon,
.metaRankKpiGlyph {
  position:absolute;
  right:10px;
  top:50%;
  width:27px;
  height:27px;
  transform:translateY(-50%);
  object-fit:contain;
  display:grid;
  place-items:center;
  color:var(--ondis-primary);
  font-size:23px;
  font-weight:750;
  opacity:.82;
  filter:drop-shadow(0 4px 5px rgba(22,42,68,.14));
}
#viewMetasRank .spaceRace {
  width:100%;
  min-height:560px;
  border-radius:15px;
}
#viewMetasRank .spaceTrackAxis { left:170px; right:28px; top:129px; }
#viewMetasRank .spaceLane { left:18px; right:20px; min-width:980px; }
#viewMetasRank .planetStop { top:18px; }
#viewMetasRank .planetStop::after { top:111px; }
#viewMetasRank .planetStop > span { top:0; padding:4px 8px; font-size:9px; }
#viewMetasRank .pluto3d { width:44px; height:44px; margin-top:43px; }
#viewMetasRank .moon3d { width:84px; height:84px; margin-top:15px; }
#viewMetasRank .mars3d { width:88px; height:88px; margin-top:13px; }
#viewMetasRank .saturn3d { width:136px; height:92px; margin-top:10px; }
#viewMetasRank .spaceRocket { width:126px; height:50px; }
#viewMetasRank .spaceRocket .spaceRider { inset:4px 0 auto; width:126px; }
#viewMetasRank .spaceRocket .pic {
  width:41px;
  height:25px;
  left:55px;
  top:11px;
  font-size:10px;
}
#viewMetasRank .spaceRocket .lbl {
  right:108px;
  top:10px;
  min-width:148px;
  padding:5px 8px;
}
#viewMetasRank .spaceRocket .lbl::after { width:110px; height:3px; }
#viewMetasRank .spaceRocket .lbl b { font-size:9px; }
#viewMetasRank .spaceRocket .lbl span { font-size:8px; }
#viewMetasRank .spaceFlag > span { font-size:15px; }
#viewMetasRank .spaceFlag > div { padding:3px 5px; }
#viewMetasRank .spaceFlag b { font-size:8px; }
#viewMetasRank .spaceFlag em { font-size:7px; }

@media (max-width:1250px){
  #metaRankKpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #dashKpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px){
  body.rankViewActive .wrap { padding:10px !important; }
  #viewDados .cardBody > .row:first-child,
  #viewNoConv .cardBody > .row:first-child { grid-template-columns:1fr; }
  #viewMetasRank .cardBody > .row:first-child { grid-template-columns:1fr; }
  #metaRankKpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #dashKpis,
  #kpisVendorGoals { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Abertura: ocupa toda a tela, com o enquadramento centralizado. */
.systemIntro {
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #080d15 !important;
}
.systemIntro video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-width: 100vw;
  min-width: 100dvw;
  min-height: 100vh;
  min-height: 100dvh;
  max-width: none;
  max-height: none;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  background:#080d15;
  display: block;
}
.introStartGate {
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(3,8,16,.34);
  backdrop-filter:blur(2px);
}
.introStartGate[hidden],
.introControl[hidden] { display:none !important; }
.introStartCard {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  background:rgba(7,15,27,.78);
  color:#eef6ff;
  box-shadow:0 22px 55px rgba(0,0,0,.38);
}
.introStartCard span { font-size:12px; color:#c8d8ea; }
.introStartButton {
  border:1px solid rgba(118,194,255,.55);
  border-radius:999px;
  padding:11px 18px;
  background:linear-gradient(135deg,#1268bd,#0c9c93);
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(16,111,191,.32);
}

@media (max-width:900px){
  .goalLevelFields { grid-template-columns:1fr; }
  .spaceRocket .lbl { min-width:125px; }
}
@media (max-width:620px){
  .teamRewardEditor { grid-template-columns:1fr; text-align:center; }
  .teamRewardEditor img { margin:auto; }
  .spaceRace { overflow-x:auto; overflow-y:hidden; }
}

/* Liga ONDIS • Missão Órbita */
.ligaArena { overflow:hidden; background:var(--ondis-surface) !important; color:var(--ondis-text) !important; }
.ligaHero { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:28px 30px; color:#fff; background:radial-gradient(circle at 78% 10%,rgba(54,184,255,.3),transparent 27%),radial-gradient(circle at 15% 120%,rgba(34,104,225,.5),transparent 38%),linear-gradient(125deg,#07152e,#102f63 62%,#0b4e78); overflow:hidden; }
.ligaHero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.6; background-image:radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 1.5px); background-size:37px 37px; mask-image:linear-gradient(90deg,transparent,#000); }
.ligaHero>*,.ligaOrbitStage>* { position:relative; z-index:2; }
.ligaHero h2 { margin:7px 0 5px; color:#fff !important; font-size:clamp(25px,3vw,42px); line-height:1; letter-spacing:-.04em; }
.ligaHero h2 em { color:#5dd6ff; font-style:normal; }
.ligaHero p { margin:0; color:#c9d9ef; font-size:13px; }
.ligaHero .btn { position:relative; z-index:2; color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.1); backdrop-filter:blur(12px); }
.ligaSeason,.ligaEyebrow { display:block; color:#2698e9; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ligaHero .ligaSeason { color:#69d8ff; }
.ligaBody { padding:0 22px 24px !important; min-width:0; }
.ligaTabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-bottom:1px solid var(--ondis-line); margin:0 -22px; padding:0 22px; }
.ligaTabs button { min-height:52px; padding:0 10px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--ondis-muted); font-size:11px; font-weight:800; cursor:pointer; }
.ligaTabs button:hover { color:var(--ondis-primary); }
.ligaTabs button.active { color:var(--ondis-primary); border-bottom-color:var(--ondis-primary); }
.ligaFilters { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:10px !important; padding:18px 0 !important; align-items:end; }
.ligaFilters .field { min-width:0 !important; }
.ligaFilters input,.ligaFilters select { width:100%; min-width:0 !important; }
.ligaFilters select:disabled { opacity:.78; cursor:not-allowed; }
.ligaTabPanel { display:none; min-width:0; }
.ligaTabPanel.active { display:block; animation:ligaPanelIn .2s ease; }
@keyframes ligaPanelIn { from{opacity:.35;transform:translateY(3px)} to{opacity:1;transform:none} }
.ligaOrbitStage { min-height:0 !important; margin-bottom:14px; padding:18px !important; border-color:#234979 !important; color:#eef7ff; background:radial-gradient(circle at 10% 13%,rgba(88,181,255,.38) 0 1px,transparent 2px),radial-gradient(circle at 73% 22%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(ellipse at 50% 0,rgba(25,115,217,.35),transparent 50%),linear-gradient(180deg,#08162d,#061021) !important; box-shadow:inset 0 0 70px rgba(0,0,0,.4) !important; }
.ligaOrbitStage::before { display:none; }
.ligaOrbitSummary { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:10px; }
.ligaOrbitSummary>div { min-width:0; padding:12px 14px; border:1px solid rgba(114,183,255,.2); border-radius:13px; background:rgba(11,34,66,.72); }
.ligaOrbitSummary span,.ligaOrbitSummary small { display:block; color:#92acce; font-size:9px; }
.ligaOrbitSummary strong { display:block; margin-top:3px; color:#fff !important; font-size:14px; white-space:normal; }
.ligaOrbitSummary strong small { display:inline; }
.ligaOrbitMap { position:relative; height:270px; margin-top:12px; overflow:hidden; border-radius:16px; background:linear-gradient(180deg,rgba(21,58,108,.18),rgba(6,16,33,.2)); }
.ligaOrbitLine { position:absolute; left:4%; right:4%; top:58%; height:4px; overflow:hidden; border-radius:999px; background:rgba(116,162,211,.25); transform:translateY(-50%); }
.ligaOrbitLine i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1874de,#38c9ef); box-shadow:0 0 16px rgba(62,196,246,.75); }
.ligaPlanet { --left:50%; position:absolute; left:var(--left); top:38%; width:98px; text-align:center; transform:translate(-50%,-50%); }
.ligaPlanet img { display:block; width:64px; height:64px; margin:4px auto; object-fit:contain; filter:saturate(.72) brightness(.74) drop-shadow(0 9px 13px rgba(0,0,0,.42)); transition:.2s ease; }
.ligaPlanet.reached img { filter:saturate(1.08) brightness(1.08) drop-shadow(0 0 16px rgba(71,178,255,.38)); }
.ligaPlanet span { display:block; color:#dcecff; font-size:10px; font-weight:850; }
.ligaPlanet b { display:block; color:#63ddff !important; font-size:11px; }
.ligaPlanet small { display:block; color:#829bbb; font-size:8px; }
.ligaRocket { position:absolute; top:55%; width:78px; transform:translate(-52%,-50%); transition:left .45s ease; z-index:4; }
.ligaRocket img { width:76px; height:76px; object-fit:contain; transform:rotate(90deg); filter:drop-shadow(0 0 14px rgba(81,201,255,.65)); }
.ligaRocket span { position:absolute; left:50%; bottom:-5px; transform:translateX(-50%); padding:3px 7px; border:1px solid rgba(85,205,255,.38); border-radius:999px; background:#0a2447; color:#8ce7ff; font-size:9px; font-weight:900; white-space:nowrap; }
.ligaPilots { display:grid; gap:6px; }
.ligaPilot { display:grid; grid-template-columns:25px 32px minmax(80px,150px) minmax(120px,1fr) 54px; align-items:center; gap:8px; min-width:0; color:#c7daef; font-size:10px; }
.ligaPilot>.avatar { width:30px; height:30px; border-radius:9px; }
.ligaPilot>strong { overflow:hidden; color:#eef7ff !important; text-overflow:ellipsis; white-space:nowrap; }
.ligaPilot>b { color:#67dcff !important; text-align:right; }
.ligaPilotTrack { position:relative; height:4px; border-radius:999px; background:rgba(117,161,207,.2); }
.ligaPilotTrack i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1c78df,#42c5ed); }
.ligaPilotTrack img { position:absolute; top:50%; width:24px; height:24px; object-fit:contain; transform:translate(-50%,-50%) rotate(90deg); }
.ligaKpis { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:10px; margin:0 0 18px; }
.ligaKpis .kpi { min-width:0; border:1px solid var(--ondis-line) !important; border-radius:14px; background:var(--ondis-surface) !important; box-shadow:var(--ondis-shadow); }
.ligaKpis .kpi .v { font-size:clamp(17px,2vw,24px); }
.ligaKpis .kpi small { display:block; margin-top:6px; color:var(--ondis-muted); font-size:9px; line-height:1.35; }
.ligaOverviewGrid { align-items:stretch; }
.ligaOverviewGrid>div { min-width:0; }
.ligaOverviewGrid .arenaBox { height:calc(100% - 31px); }
.ligaPaceHead { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.ligaPaceHead b { display:block; margin-top:4px; }
.ligaMeter { height:9px !important; margin:13px 0 16px; }
.ligaPaceStats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ligaPaceStats>div,.ligaProjection>div { min-width:0; padding:10px; border:1px solid var(--ondis-line); border-radius:11px; background:var(--ondis-surface-soft); }
.ligaPaceStats span,.ligaProjection span { display:block; color:var(--ondis-muted); font-size:9px; }
.ligaPaceStats strong,.ligaProjection strong { display:block; margin:4px 0 2px; font-size:14px; }
.ligaPaceStats small,.ligaProjection small { color:var(--ondis-muted); font-size:8px; }
.ligaProjection { display:grid; grid-template-columns:1fr 1.35fr; gap:8px; margin-top:9px; }
.ligaPanelHead { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:4px 0 16px; }
.ligaPanelHead h3,.ligaPersonalCard h3,.ligaRewardCard h3 { margin:4px 0 0; color:var(--ondis-text); font-size:19px; }
.ligaPanelHead small { max-width:390px; color:var(--ondis-muted); text-align:right; }
.ligaPodium { display:flex; justify-content:center; align-items:flex-end; gap:12px; min-height:128px; padding:22px 15px 10px; border:1px solid var(--ondis-line); border-radius:15px 15px 0 0; background:linear-gradient(145deg,color-mix(in srgb,var(--ondis-primary) 8%,var(--ondis-surface)),var(--ondis-surface)); }
.ligaPodium .podiumHero { color:var(--ondis-text); }
.ligaPodium .podiumHero b { color:var(--ondis-text) !important; }
.ligaPodium .podiumHero em { color:var(--ondis-primary) !important; }
.ligaRankingList { border:1px solid var(--ondis-line); border-top:0; border-radius:0 0 15px 15px; overflow:hidden; }
.ligaRankingRow { display:grid; grid-template-columns:36px 38px minmax(130px,1fr) minmax(100px,.45fr) 70px; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid var(--ondis-line); }
.ligaRankingRow:last-child { border-bottom:0; }
.ligaRankingRow.current { background:color-mix(in srgb,var(--ondis-primary) 7%,var(--ondis-surface)); }
.ligaRankNumber { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; background:var(--ondis-surface-soft); color:var(--ondis-muted); font-weight:900; }
.ligaRankingRow>.avatar { width:34px; height:34px; border-radius:10px; }
.ligaRankingRow>div:nth-child(3) { min-width:0; }
.ligaRankingRow strong,.ligaRankingRow small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ligaRankingRow small { margin-top:2px; color:var(--ondis-muted); font-size:9px; }
.ligaRankingRow>b { text-align:right; }
.ligaRankingRow>em { color:var(--ondis-primary); font-style:normal; font-weight:900; text-align:right; }
.ligaPersonalCard { margin-bottom:16px; padding:18px; border:1px solid var(--ondis-line); border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--ondis-primary) 9%,var(--ondis-surface)),var(--ondis-surface)); }
.ligaPersonalIdentity { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:13px; }
.ligaPersonalIdentity>.avatar { width:56px; height:56px; border-radius:16px; }
.ligaPersonalIdentity p { margin:4px 0 0; color:var(--ondis-muted); font-size:10px; }
.ligaPersonalIdentity>strong { color:var(--ondis-primary) !important; font-size:28px; }
.ligaDestination { display:grid; grid-template-columns:minmax(150px,.42fr) 1fr; align-items:center; gap:18px; margin-top:16px; padding-top:14px; border-top:1px solid var(--ondis-line); }
.ligaDestination span,.ligaDestination small { display:block; color:var(--ondis-muted); font-size:9px; }
.ligaDestination b { display:block; margin:3px 0; font-size:15px; }
.ligaMissionGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ligaMission { padding:15px; border:1px solid var(--ondis-line); border-radius:14px; background:var(--ondis-surface); box-shadow:var(--ondis-shadow); }
.ligaMission.done { border-color:color-mix(in srgb,var(--ondis-success) 42%,var(--ondis-line)); background:color-mix(in srgb,var(--ondis-success) 6%,var(--ondis-surface)); }
.ligaMission>div:first-child { display:flex; justify-content:space-between; gap:10px; }
.ligaMission span { color:var(--ondis-primary); font-size:9px; font-weight:900; text-transform:uppercase; }
.ligaMission.done span { color:var(--ondis-success); }
.ligaMission>strong { display:block; margin:14px 0 8px; font-size:17px; }
.ligaMission>strong small { color:var(--ondis-muted); font-weight:600; }
.ligaRewardCard { display:grid; grid-template-columns:160px minmax(0,1fr) auto; align-items:center; gap:22px; min-height:210px; padding:24px; border:1px solid var(--ondis-line); border-radius:18px; background:radial-gradient(circle at 10% 50%,rgba(239,190,64,.12),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--ondis-primary) 8%,var(--ondis-surface)),var(--ondis-surface)); }
.ligaRewardCard.unlocked { border-color:rgba(213,166,42,.48); box-shadow:0 16px 45px rgba(166,126,28,.1); }
.ligaRewardCard>img { width:155px; height:135px; object-fit:contain; filter:drop-shadow(0 14px 18px rgba(96,65,10,.2)); }
.ligaRewardCard p { margin:7px 0 14px; color:var(--ondis-muted); line-height:1.5; }
.ligaRewardCard small { display:block; margin-top:7px; color:var(--ondis-muted); }
.ligaBadgesHead .arenaSectionTitle,.arenaBadgesHead .arenaSectionTitle { margin:4px 0 0; }

@media(max-width:980px){
  .ligaFilters { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .ligaOrbitSummary { grid-template-columns:1fr 1fr; }
  .ligaOrbitSummary>div:last-child { grid-column:span 2; }
  .ligaKpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .ligaOverviewGrid,.ligaRewardCard { grid-template-columns:1fr !important; }
  .ligaRewardCard { text-align:center; }
  .ligaRewardCard>img { margin:auto; }
}
@media(max-width:680px){
  .ligaHero { align-items:flex-start; flex-direction:column; padding:22px 18px; }
  .ligaHero .btn { width:100%; }
  .ligaBody { padding:0 12px 18px !important; }
  .ligaTabs { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 -12px; padding:0 12px; }
  .ligaTabs button { min-height:42px; }
  .ligaFilters { grid-template-columns:1fr 1fr !important; }
  .ligaFilters .field.flex { grid-column:span 2; }
  .ligaOrbitStage { padding:12px !important; }
  .ligaOrbitSummary { grid-template-columns:1fr; }
  .ligaOrbitSummary>div:last-child { grid-column:auto; }
  .ligaOrbitMap { height:230px; }
  .ligaPlanet { width:74px; top:39%; }
  .ligaPlanet img { width:47px; height:47px; }
  .ligaPlanet small { display:none; }
  .ligaRocket { width:58px; }
  .ligaRocket img { width:58px; height:58px; }
  .ligaPilot { grid-template-columns:20px 28px minmax(62px,100px) minmax(70px,1fr) 42px; gap:5px; }
  .ligaPilot>.avatar { width:27px; height:27px; }
  .ligaPaceStats,.ligaMissionGrid { grid-template-columns:1fr; }
  .ligaPanelHead { align-items:flex-start; flex-direction:column; }
  .ligaPanelHead small { text-align:left; }
  .ligaRankingRow { grid-template-columns:28px 32px minmax(0,1fr) 58px; gap:7px; padding:10px 9px; }
  .ligaRankingRow>b { display:none; }
  .ligaRankingRow>.avatar { width:31px; height:31px; }
  .ligaPersonalIdentity { grid-template-columns:48px minmax(0,1fr); }
  .ligaPersonalIdentity>.avatar { width:46px; height:46px; }
  .ligaPersonalIdentity>strong { grid-column:span 2; font-size:24px; }
  .ligaDestination,.ligaProjection { grid-template-columns:1fr; }
  .ligaRewardCard { padding:18px; }
}


/* === ONDIS 2026 · Ranking de Metas + Liga === */
#viewMetasRank{background:#f6f8fc;margin:-24px;padding:24px;min-height:calc(100vh - 72px)}
.rankGoalPage{max-width:1440px;margin:0 auto;color:#172033}.rankGoalHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.rankTitleBlock{display:flex;align-items:center;gap:13px}.rankCrown{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eaf1ff;color:#2869ee;font-size:21px}.rankTitleBlock h2{margin:0;font-size:23px}.rankTitleBlock p{margin:4px 0 0;color:#78869d;font-size:12px}.rankFilters{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}.rankFilters .field{min-width:145px}.rankFilters label{font-size:9px!important;color:#8a96a8!important}.rankFilters input,.rankFilters select{min-height:39px;background:#fff!important;color:#28354a!important;border:1px solid #e4e9f1!important}.rankRefresh{height:39px;background:#fff!important;color:#31517d!important;border-color:#e4e9f1!important}
.rankKpiStrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.rankKpi{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e7ebf2;border-radius:12px;padding:13px 12px;box-shadow:0 5px 18px rgba(32,52,84,.035);min-width:0}.rankKpiIcon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:900}.rankKpi.blue .rankKpiIcon{background:#edf4ff;color:#2d73f5}.rankKpi.purple .rankKpiIcon{background:#f3efff;color:#7c52df}.rankKpi.green .rankKpiIcon{background:#e8fbf4;color:#0cad7b}.rankKpi.amber .rankKpiIcon{background:#fff6e5;color:#e4a229}.rankKpi div{min-width:0}.rankKpi small,.rankKpi em{display:block;color:#8b96a7;font-size:9px;font-style:normal}.rankKpi strong{display:block;margin:4px 0 2px;font-size:14px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rankGoalGrid{display:grid;grid-template-columns:1.05fr 1.45fr .78fr;gap:12px;margin-bottom:12px}.rankPanel{background:#fff;border:1px solid #e7ebf2;border-radius:13px;box-shadow:0 6px 22px rgba(31,50,80,.035);padding:16px}.rankPanelHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.rankPanelHead span{font-weight:800;font-size:12px}.rankPanelHead small{display:block;margin-top:3px;color:#98a2b3;font-size:9px}.rankPill{font-size:9px!important;font-weight:700!important;padding:6px 10px;border:1px solid #e7ebf2;border-radius:8px;color:#748198}
.rankRingWrap{display:flex;align-items:center;justify-content:center;gap:20px;min-height:180px}.rankRing{--pct:0;width:130px;height:130px;border-radius:50%;background:conic-gradient(#25bf89 calc(var(--pct)*1%),#eef2f6 0);display:grid;place-items:center;position:relative}.rankRing:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.rankRing>div{position:relative;z-index:1;text-align:center}.rankRing strong{display:block;font-size:20px}.rankRing span{font-size:9px;color:#8691a2}.rankRingInfo{min-width:125px}.rankRingInfo>strong{font-size:16px}.rankRingInfo>span{display:block;color:#8792a3;font-size:9px}.rankMiniBar,.rankRowBar{height:6px;border-radius:99px;background:#edf1f5;overflow:hidden;margin:11px 0 5px}.rankMiniBar i,.rankRowBar i{display:block;height:100%;background:#25bf89;border-radius:inherit}.rankScale{display:flex;justify-content:space-between;font-size:8px;color:#9aa4b3}.rankRingInfo>small{display:block;margin-top:16px;color:#7d8798;font-size:9px}
.rankEvolutionChart{position:relative;min-height:180px}.rankEvolutionChart svg{width:100%;height:145px;overflow:visible}.rankEvolutionChart .goalLine{fill:none;stroke:#4d86ef;stroke-width:.8;stroke-dasharray:2 1}.rankEvolutionChart .realLine{fill:none;stroke:#22b987;stroke-width:1.4}.rankEvolutionChart .realArea{fill:rgba(34,185,135,.08);stroke:none}.rankChartLegend{display:flex;justify-content:flex-end;gap:14px;font-size:8px;color:#7b8797;margin-bottom:2px}.rankChartLegend span:before{content:"";display:inline-block;width:10px;height:2px;margin-right:4px;vertical-align:middle;background:#22b987}.rankChartLegend .goal:before{background:#4d86ef}.rankChartAxis{display:flex;justify-content:space-between;color:#9ba5b4;font-size:8px}
.rankInsightsCard{padding-bottom:8px}.rankInsight{display:flex;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #eef1f5}.rankInsight:last-child{border:0}.rankInsight i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-style:normal}.rankInsight.green i{background:#e8fbf4;color:#13a978}.rankInsight.amber i{background:#fff6e5;color:#d99a20}.rankInsight.blue i{background:#eef4ff;color:#3374ea}.rankInsight div{min-width:0}.rankInsight span,.rankInsight small{display:block;color:#929cad;font-size:8px}.rankInsight strong{display:block;margin:2px 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rankTablePanel{padding:0;overflow:hidden}.rankTablePanel .rankPanelHead{padding:15px 17px 0}.rankTable{width:100%}.rankTr{display:grid;grid-template-columns:70px minmax(230px,1.4fr) minmax(170px,1fr) 145px 145px 90px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid #eef1f4;font-size:10px}.rankTh{color:#8b96a6;text-transform:uppercase;font-size:8px;background:#fbfcfe}.rankTr.team{background:#fbfcfe}.rankPos{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#dbe4ef;color:#fff;font-style:normal;font-weight:900}.rankPos.p1{background:#f5b821}.rankPos.p2{background:#aab8c8}.rankPos.p3{background:#de8656}.rankSeller{display:flex;align-items:center;gap:9px;min-width:0}.rankAvatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#edf2f7;display:grid;place-items:center;font-size:9px}.rankAvatar img{width:100%;height:100%;object-fit:cover}.rankSeller b{display:block;font-size:10px}.rankSeller small{display:block;color:#96a0af;font-size:8px;margin-top:2px}.rankTr>span:nth-child(3){display:flex;align-items:center;gap:8px}.rankTr>span:nth-child(3) .rankRowBar{flex:1;margin:0}.rankPctCircle{--pct:0;width:37px;height:37px;border-radius:50%;background:conic-gradient(#27bf8b calc(var(--pct)*1%),#edf1f5 0);display:grid;place-items:center;position:relative}.rankPctCircle:after{content:"";position:absolute;inset:4px;background:#fff;border-radius:50%}.rankPctCircle b{position:relative;z-index:1;font-size:7px}.rankSpaceToggle{text-align:center;padding:12px}.rankSpacePanel{margin-top:0}.rankEmpty{padding:35px;text-align:center;color:#8995a7}
/* Liga ONDIS com pegada clara, premium e gamificada */
.ligaArena{background:#f7f9fd!important;border:0!important;box-shadow:none!important}.ligaHero{color:#14213d!important;background:linear-gradient(115deg,#ffffff 0%,#f8f4ff 62%,#eef5ff 100%)!important;border:1px solid #e7ebf4;border-radius:18px;margin:0 0 12px;padding:27px 30px!important}.ligaHero:after{background:radial-gradient(circle at 75% 40%,rgba(112,78,255,.13),transparent 30%),radial-gradient(circle at 88% 20%,rgba(53,133,255,.12),transparent 22%)!important;opacity:1!important;mask-image:none!important}.ligaHero h2{color:#17233d!important}.ligaHero h2 em{background:linear-gradient(90deg,#1676ff,#b235e5);-webkit-background-clip:text;background-clip:text;color:transparent!important}.ligaHero p{color:#718097!important}.ligaHero .btn{color:#315273!important;background:#fff!important;border-color:#e3e8f1!important}.ligaSeason{background:#f4efff!important;color:#7955da!important;border:1px solid #e5dbff;padding:5px 9px;border-radius:999px}.ligaBody{padding:0!important}.ligaTabs{background:#fff;border:1px solid #e5eaf2;border-radius:13px;padding:5px}.ligaTabs button{color:#768499}.ligaTabs button.active{background:#f0ebff!important;color:#7042d9!important}.ligaFilters{background:#fff!important;border:1px solid #e7ebf2!important;border-radius:14px;padding:12px!important}.ligaOrbitStage,.arenaBox,.ligaPersonalCard,.ligaRewardCard{background:#fff!important;border-color:#e7ebf2!important;box-shadow:0 7px 24px rgba(34,52,84,.045)!important}.ligaMission{background:#fff!important;border-color:#e7ebf2!important}.ligaMission.done{border-color:#a5ead3!important;background:#f5fffb!important}.ligaRankingRow{background:#fff!important;border-color:#e8ecf2!important}.ligaRankingRow.current{background:#f5f1ff!important;border-color:#ded2ff!important}.ligaEyebrow{color:#7b53dc!important}.ligaOrbitSummary strong,.ligaPaceStats strong,.ligaPersonalIdentity h3,.ligaPanelHead h3{color:#17233d!important}.ligaOrbitSummary span,.ligaPaceStats span,.ligaPanelHead small,.ligaMission span{color:#8995a7!important}
@media(max-width:1100px){.rankKpiStrip{grid-template-columns:repeat(3,1fr)}.rankGoalGrid{grid-template-columns:1fr 1fr}.rankInsightsCard{grid-column:1/-1}.rankTr{grid-template-columns:55px minmax(190px,1.2fr) minmax(140px,1fr) 120px 120px 75px}}
@media(max-width:760px){#viewMetasRank{margin:-14px;padding:14px}.rankGoalHeader{align-items:stretch;flex-direction:column}.rankFilters>*{flex:1}.rankKpiStrip{grid-template-columns:repeat(2,1fr)}.rankGoalGrid{grid-template-columns:1fr}.rankInsightsCard{grid-column:auto}.rankRingWrap{flex-direction:column}.rankTable{overflow:auto;display:block}.rankTr{min-width:820px}.rankGoalPage{font-size:14px}}

/* === ONDIS Liga V3 · gamificação clara integrada ao shell principal === */
#viewSeller{background:var(--ondis-bg);margin:-24px;padding:24px;min-height:calc(100vh - 72px)}
#viewSeller .arenaCard{max-width:1480px;margin:0 auto;background:transparent!important;border:0!important;box-shadow:none!important}
#viewSeller .ligaHero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:21px 24px!important;border:1px solid var(--ondis-line)!important;border-radius:18px!important;background:linear-gradient(115deg,var(--ondis-surface) 0%,color-mix(in srgb,var(--ondis-primary) 4%,var(--ondis-surface)) 62%,color-mix(in srgb,var(--ondis-accent) 4%,var(--ondis-surface)) 100%)!important;box-shadow:var(--ondis-shadow)!important}
#viewSeller .ligaHero:after{display:none!important}
#viewSeller .ligaHero h2{font-size:24px!important;letter-spacing:-.025em!important;margin:7px 0 4px!important}
#viewSeller .ligaHero p{font-size:12px!important;color:var(--ondis-muted)!important}
#viewSeller .ligaBody{padding:12px 0 0!important}
#viewSeller .ligaTabs{position:sticky;top:72px;z-index:12;display:flex!important;grid-template-columns:none!important;gap:6px!important;overflow-x:auto;padding:6px!important;margin:0 0 12px!important;border:1px solid var(--ondis-line)!important;border-radius:14px!important;background:color-mix(in srgb,var(--ondis-surface) 94%,transparent)!important;box-shadow:0 8px 24px rgba(15,35,65,.05)!important;backdrop-filter:blur(14px)}
#viewSeller .ligaTabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:38px!important;padding:0 13px!important;border:0!important;border-radius:10px!important;color:var(--ondis-muted)!important;font-size:11px!important;font-weight:800!important;white-space:nowrap}
#viewSeller .ligaTabs button span{font-size:13px}
#viewSeller .ligaTabs button:hover{background:var(--ondis-surface-soft)!important;color:var(--ondis-text)!important}
#viewSeller .ligaTabs button.active{background:color-mix(in srgb,var(--ondis-primary) 9%,var(--ondis-surface))!important;color:var(--ondis-primary)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ondis-primary) 12%,var(--ondis-line))}
#viewSeller .ligaFilters{display:grid!important;grid-template-columns:1fr .9fr .9fr 1.1fr 1fr!important;gap:9px!important;margin:0 0 12px!important;padding:12px!important;border:1px solid var(--ondis-line)!important;border-radius:14px!important;background:var(--ondis-surface)!important;box-shadow:var(--ondis-shadow)!important}
#viewSeller .ligaFilters .field{margin:0!important;min-width:0!important}
#viewSeller .ligaFilters label{font-size:9px!important;color:var(--ondis-muted)!important}
#viewSeller .ligaFilters input,#viewSeller .ligaFilters select{width:100%!important;min-width:0!important;min-height:38px!important;background:var(--ondis-surface-soft)!important;color:var(--ondis-text)!important;border:1px solid var(--ondis-line)!important}
#viewSeller .ligaTabPanel{display:none}
#viewSeller .ligaTabPanel.active{display:block;animation:ligaV3In .18s ease both}
@keyframes ligaV3In{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}

#viewSeller .ligaOrbitStage{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ondis-text)!important;margin:0 0 12px!important}
.ligaV3DashboardHead{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(250px,.75fr);gap:12px}
.ligaV3Hero{min-height:255px;display:grid;grid-template-columns:minmax(0,1fr) 220px 210px;gap:18px;align-items:center;padding:28px 30px;border:1px solid #e8e4fa;border-radius:20px;background:radial-gradient(circle at 72% 25%,rgba(111,83,255,.10),transparent 27%),radial-gradient(circle at 86% 82%,rgba(26,182,255,.08),transparent 30%),linear-gradient(120deg,#fff 0%,#faf8ff 58%,#f4f9ff 100%);box-shadow:0 12px 34px rgba(31,42,68,.055);overflow:hidden}
.ligaV3HeroCopy{min-width:0}.ligaV3Kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1edff;color:#7546e4;font-size:9px;font-weight:900;letter-spacing:.05em}.ligaV3HeroCopy h3{margin:12px 0 8px;font-size:clamp(34px,4.1vw,57px);line-height:.98;letter-spacing:-.055em;color:#17213a}.ligaV3HeroCopy h3 em{font-style:normal;background:linear-gradient(90deg,#1686ff,#7b4ef4 50%,#df39c7);-webkit-background-clip:text;background-clip:text;color:transparent}.ligaV3HeroCopy p{max-width:620px;margin:0;color:#6d7a91;font-size:12px;line-height:1.65}.ligaV3HeroStats{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.ligaV3HeroStats span{padding:8px 10px;border:1px solid #e9edf4;border-radius:10px;background:rgba(255,255,255,.72);color:#8a95a6;font-size:9px}.ligaV3HeroStats b{display:block;color:#23314b;font-size:11px;margin-bottom:2px}
.ligaV3Trophy{position:relative;height:190px;display:grid;place-items:center;text-align:center}.ligaV3Trophy>span{position:relative;z-index:2;font-size:102px;filter:drop-shadow(0 22px 20px rgba(117,76,10,.16));animation:ligaV3Float 4s ease-in-out infinite}.ligaV3Trophy>i{position:absolute;width:155px;height:155px;border-radius:50%;border:1px solid rgba(100,91,245,.18);box-shadow:inset 0 0 0 25px rgba(98,89,242,.025),0 0 55px rgba(109,69,239,.10)}.ligaV3Trophy>b{position:absolute;bottom:0;padding:5px 9px;border-radius:999px;background:#fff;color:#7b56da;border:1px solid #e8e0ff;font-size:8px;letter-spacing:.08em}@keyframes ligaV3Float{50%{transform:translateY(-7px) rotate(-1deg)}}
.ligaV3LevelBox{padding:17px;border:1px solid #e6e5f0;border-radius:16px;background:rgba(255,255,255,.82)}.ligaV3LevelBox small{display:block;color:#929caf;font-size:8px;font-weight:900}.ligaV3LevelBox strong{display:block;margin:6px 0;color:#6d43dc;font-size:17px}.ligaV3LevelBox span{display:block;color:#7f8b9e;font-size:9px;line-height:1.45}.ligaV3Progress{height:7px;margin-top:12px;border-radius:999px;background:#edf0f6;overflow:hidden}.ligaV3Progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6847e8,#a54bf4,#2eabff)}
.ligaV3RightRail{display:grid;gap:12px}.ligaV3LevelCard,.ligaV3BestSale{min-width:0;padding:17px;border-radius:18px;background:#fff;border:1px solid #e7ebf2;box-shadow:0 8px 28px rgba(31,50,80,.045);text-align:center}.ligaV3LevelCard small,.ligaV3BestSale small{display:block;color:#8895a9;font-size:8px;font-weight:900;letter-spacing:.04em}.ligaV3Diamond{height:78px;display:grid;place-items:center;color:#8751ed;font-size:68px;line-height:1;text-shadow:0 12px 24px rgba(130,75,235,.18)}.ligaV3LevelCard h4,.ligaV3BestSale h4{margin:2px 0 4px;font-size:14px;color:#17233d}.ligaV3LevelCard span,.ligaV3BestSale span{color:#8e98a9;font-size:8px}.ligaV3BestSale{position:relative;background:linear-gradient(145deg,#fff9e9,#fff 65%);border-color:#f1db9a}.ligaV3BestAvatar{width:52px;height:52px;margin:12px auto 8px;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:2px solid #f2bb2f;background:#fff;color:#e2a716;font-size:21px;box-shadow:0 8px 24px rgba(224,167,27,.13)}.ligaV3BestAvatar img{width:100%;height:100%;object-fit:cover}.ligaV3BestSale strong{display:block;margin:5px 0;color:#bd8110;font-size:18px}
.ligaV3Pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.ligaV3Pulse>div{padding:13px 14px;border:1px solid var(--ondis-line);border-radius:14px;background:var(--ondis-surface);box-shadow:var(--ondis-shadow)}.ligaV3Pulse span,.ligaV3Pulse small{display:block;color:var(--ondis-muted);font-size:8px}.ligaV3Pulse strong{display:block;margin:4px 0 2px;color:var(--ondis-text);font-size:16px}
#viewSeller .ligaKpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0 0 12px!important}#viewSeller .ligaKpis .kpi{border-radius:14px!important;box-shadow:0 7px 24px rgba(34,52,84,.04)!important}
#viewSeller .arenaBox,#viewSeller .ligaPersonalCard,#viewSeller .ligaRewardCard,#viewSeller .ligaMission,#viewSeller .badgeCard{border:1px solid var(--ondis-line)!important;border-radius:16px!important;background:var(--ondis-surface)!important;box-shadow:0 8px 28px rgba(31,50,80,.045)!important}
#viewSeller svg{background:#fbfcfe!important;border-color:#edf0f4!important}
#viewSeller .ligaPodium{background:linear-gradient(145deg,#faf8ff,#f6fbff)!important;border-color:#e7ebf2!important;min-height:170px!important}
#viewSeller .podiumHero.first{transform:translateY(-16px)}
#viewSeller .podiumHero.first .avatar{box-shadow:0 0 0 5px #fff,0 0 0 8px #f2be32,0 14px 30px rgba(218,163,18,.18)!important}
#viewSeller .ligaRankingRow{background:#fff!important}.ligaRankingRow:nth-child(even){background:#fbfcfe!important}
#viewSeller .badgeGrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:10px!important}.ligaV3BadgeXP{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:6px;background:#f1ebff;color:#7747dd;font-size:8px;font-weight:900}
.ligaV3Mission{padding:16px!important}.ligaV3MissionTop{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}.ligaV3MissionIcon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#f0ebff,#eef8ff);font-size:18px;border:1px solid #e9e2ff}.ligaV3MissionTop b{display:block;margin-top:3px;color:var(--ondis-text);font-size:11px}.ligaV3MissionTop em{font-style:normal;padding:4px 7px;border-radius:999px;background:#eafbf5;color:#088a64;font-size:8px;font-weight:900}.ligaV3MissionRule{display:block;margin-top:7px;color:var(--ondis-muted);font-size:8px}.ligaMission.done .ligaV3MissionIcon{background:#e9fbf5;border-color:#b9efdc}

.ligaConfigSectionHead{margin:4px 0 12px}.ligaConfigSectionHead span{display:block;color:var(--ondis-primary);font-size:9px;font-weight:900;letter-spacing:.06em}.ligaConfigSectionHead h3{margin:4px 0;font-size:16px}.ligaConfigSectionHead p{margin:0;color:var(--ondis-muted);font-size:11px;line-height:1.5}.ligaMissionEditor{padding:14px;border:1px solid var(--ondis-line);border-radius:15px;background:var(--ondis-surface-soft)}.ligaMissionEditorHead,.ligaMissionEditorRow{display:grid;grid-template-columns:26px 42px minmax(240px,1.55fr) minmax(150px,.9fr) 100px 70px;gap:8px;align-items:center}.ligaMissionEditorHead{padding:0 7px 6px;color:var(--ondis-muted);font-size:8px;text-transform:uppercase}.ligaMissionEditorRow{padding:8px;border:1px solid var(--ondis-line);border-radius:12px;background:var(--ondis-surface);margin-top:7px}.ligaMissionEditorRow input,.ligaMissionEditorRow select{width:100%;min-height:34px;padding:7px 8px;border:1px solid var(--ondis-line);border-radius:8px;background:var(--ondis-surface);color:var(--ondis-text);font:inherit;font-size:10px}.ligaMissionEditorRow .missionEnabled{width:16px!important;height:16px!important;min-height:0!important}.ligaMissionEditorRow .missionIcon{text-align:center;font-size:16px}.missionMain{display:grid;grid-template-columns:1.3fr 1fr;gap:6px}.missionTarget:disabled{background:#f1f4f8!important;color:#9aa4b4!important}

@media(max-width:1180px){.ligaV3DashboardHead{grid-template-columns:1fr}.ligaV3RightRail{grid-template-columns:1fr 1fr}.ligaV3Hero{grid-template-columns:minmax(0,1fr) 190px 190px}.ligaMissionEditorHead{display:none}.ligaMissionEditorRow{grid-template-columns:28px 40px 1fr 1fr 90px 68px}}
@media(max-width:900px){#viewSeller{margin:-14px;padding:14px}.ligaV3Hero{grid-template-columns:1fr 160px}.ligaV3LevelBox{grid-column:1/-1}.ligaV3Pulse,#viewSeller .ligaKpis{grid-template-columns:repeat(2,1fr)!important}#viewSeller .ligaFilters{grid-template-columns:repeat(2,1fr)!important}.ligaMissionEditorRow{grid-template-columns:28px 38px 1fr}.ligaMissionEditorRow .missionMetric,.ligaMissionEditorRow .missionTarget,.ligaMissionEditorRow .missionPoints{grid-column:auto}.missionMain{grid-column:3/-1}.ligaMissionEditorRow .missionMetric{grid-column:3/-1}.ligaMissionEditorRow .missionTarget{grid-column:3}.ligaMissionEditorRow .missionPoints{grid-column:4}}
@media(max-width:620px){#viewSeller .ligaHero{align-items:flex-start!important;flex-direction:column!important}.ligaV3Hero{grid-template-columns:1fr;padding:22px 18px}.ligaV3Trophy{height:150px}.ligaV3Trophy>span{font-size:86px}.ligaV3RightRail,#viewSeller .ligaFilters,.ligaV3Pulse,#viewSeller .ligaKpis{grid-template-columns:1fr!important}.ligaV3HeroCopy h3{font-size:40px}.ligaMissionEditorRow{grid-template-columns:26px 38px 1fr}.missionMain{grid-column:3}.ligaMissionEditorRow .missionMetric,.ligaMissionEditorRow .missionTarget,.ligaMissionEditorRow .missionPoints{grid-column:1/-1}}
.ligaMissionActions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ligaMissionActions small{max-width:360px}.ligaMissionActions .btn{min-height:34px;padding:0 11px;font-size:9px;white-space:nowrap}@media(max-width:720px){.ligaMissionActions{align-items:flex-start;flex-direction:column}.ligaMissionActions small{text-align:left!important}}
/* Liga ONDIS V4 — acabamento aprovado */
#viewSeller .meter>i,#viewSeller .ligaV3Progress i,#viewSeller .ligaPilotTrack i,#viewMetasRank .meter>i{background:linear-gradient(90deg,#168cff 0%,#6d4cff 38%,#b83cff 68%,#ff4bc7 100%)!important;box-shadow:0 0 14px rgba(142,68,255,.28)}
#viewSeller .ligaV3BestSale small b{margin-left:6px;padding:3px 7px;border-radius:999px;background:#fff1c6;color:#a86b00;font-size:7px}
#viewSeller .badgeCard{position:relative;overflow:hidden;transition:.2s ease;min-height:138px}#viewSeller .badgeCard:not(.badgeLocked):hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(91,65,190,.13)!important}
#viewSeller .badgeCard:not(.badgeLocked)::after{content:"";position:absolute;inset:auto -30px -45px auto;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(141,72,255,.14),transparent 66%);pointer-events:none}
#viewSeller .badgeIcon{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(145deg,#27105f,#6534df 52%,#13b8ff)!important;border:1px solid rgba(121,84,255,.35)!important;box-shadow:0 8px 20px rgba(94,54,204,.22),inset 0 1px 0 rgba(255,255,255,.45)!important;font-size:25px!important;filter:saturate(1.18)}
#viewSeller .badgeLocked .badgeIcon{background:linear-gradient(145deg,#e8ebf0,#f4f5f7)!important;box-shadow:none!important;filter:grayscale(1);opacity:.58}
#viewSeller .badgeTitle{font-weight:900!important}.ligaV3BadgeXP{background:linear-gradient(90deg,#eee8ff,#ffe8fb)!important;color:#7140e7!important;border:1px solid #e4d9ff}
.ligaRewardChest{position:relative;width:128px;height:92px;flex:0 0 128px;border-radius:28px 28px 18px 18px;background:linear-gradient(145deg,#6827dc 0%,#b43cf2 44%,#ffbd32 46%,#e98413 58%,#6121c9 60%,#35106f 100%);border:3px solid #ffd65b;box-shadow:0 15px 28px rgba(87,34,180,.26),0 0 28px rgba(178,59,242,.2),inset 0 4px 8px rgba(255,255,255,.28)}
.ligaRewardChest:before{content:"";position:absolute;left:10px;right:10px;top:37px;height:11px;border-radius:6px;background:linear-gradient(90deg,#ffcc47,#fff1a0,#e99214)}.ligaRewardChest:after{content:"";position:absolute;left:50%;top:31px;width:26px;height:29px;transform:translateX(-50%);border-radius:7px;background:linear-gradient(#ffe888,#e69b17);border:2px solid #fff1a3}.ligaRewardChest span{position:absolute;z-index:2;left:50%;top:38px;transform:translateX(-50%);color:#6a27d8;font-weight:900}
#viewSeller .ligaRewardCard{background:linear-gradient(110deg,#14075a,#281079 50%,#0e175e)!important;color:#fff!important;border-color:#5e49ff!important;box-shadow:0 14px 38px rgba(32,18,109,.2)!important}#viewSeller .ligaRewardCard h3,#viewSeller .ligaRewardCard p,#viewSeller .ligaRewardCard small{color:#fff!important}#viewSeller .ligaRewardCard .ligaEyebrow{color:#dba7ff!important}

/* Liga ONDIS V5 — visão geral fiel ao layout aprovado */
#viewSeller .ligaHomeShell{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:14px;margin-top:12px;align-items:start}
#viewSeller .ligaHomeMain{min-width:0}.ligaHomeRail{display:grid;gap:14px}.ligaHomeBottom{display:grid;grid-template-columns:1.02fr 1fr 1.02fr;gap:12px;margin-top:12px}.ligaHomeCard{min-width:0;background:#fff;border:1px solid #e4e9f3;border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(30,50,90,.055)}.ligaHomeCardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ligaHomeCardHead>b{font-size:10px;letter-spacing:.02em;color:#111b35}.ligaHomeCardHead button,.ligaHomeCardHead span{border:0;background:none;color:#5a35e9;font-size:9px;font-weight:800;cursor:pointer;padding:0}
#viewSeller .ligaOrbitStage{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}.ligaExactHero{min-height:246px;display:grid;grid-template-columns:minmax(0,1.1fr) 250px 245px;align-items:center;gap:16px;padding:28px 24px;border:1px solid #dfe5f0;border-radius:20px;background:radial-gradient(420px 230px at 62% 50%,rgba(255,72,202,.16),transparent 62%),radial-gradient(400px 220px at 52% 55%,rgba(71,126,255,.13),transparent 66%),linear-gradient(105deg,#fff,#f4f8ff 50%,#faf4ff);box-shadow:0 12px 32px rgba(36,62,112,.06);overflow:hidden}.ligaExactHeroCopy>span{font-size:12px;font-weight:950;color:#111a35}.ligaExactHeroCopy h3{margin:10px 0 14px;font-size:48px;line-height:.98;letter-spacing:-.045em;color:#101833}.ligaExactHeroCopy h3 em{font-style:normal;background:linear-gradient(90deg,#168cff 0%,#6d4cff 45%,#ff43c6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.ligaExactHeroCopy p{margin:0;color:#586985;font-size:12px;line-height:1.7}.ligaExactTrophy{position:relative;height:190px;display:grid;place-items:center}.ligaTrophyGlow{position:absolute;width:185px;height:185px;border-radius:50%;background:radial-gradient(circle,rgba(99,63,255,.24),rgba(42,145,255,.08) 48%,transparent 70%);filter:blur(2px)}.ligaTrophyEmoji{position:relative;font-size:118px;filter:drop-shadow(0 20px 18px rgba(76,45,180,.24)) saturate(1.25)}.ligaExactLevel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid #dfe5f0;border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 10px 25px rgba(35,52,90,.05)}.ligaExactLevel small{color:#7c879c;font-size:8px;font-weight:900}.ligaExactLevel strong{font-size:21px;color:#111a34;margin:9px 0 12px}.ligaExactLevel>b{font-size:11px;color:#44506a}.ligaExactLevel>span{margin-top:13px;color:#7c879c;font-size:8px}.ligaExactLevel>em{font-style:normal;font-weight:900;color:#24304c;font-size:13px;margin:3px 0}.ligaExactLevel .ligaV3Progress{height:8px;margin:10px 0 0}
#viewSeller .ligaKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:12px 0 0!important}.ligaExactKpi{display:grid!important;grid-template-columns:46px 1fr!important;gap:11px!important;align-items:center!important;padding:15px!important;min-height:104px!important}.ligaExactKpi>i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#e8eeff,#f9e8ff);color:#6a36f2;font-size:24px;font-style:normal;text-shadow:0 0 12px rgba(109,76,255,.28)}.ligaExactKpi .t{font-size:8px!important;font-weight:900!important}.ligaExactKpi .v{font-size:19px!important}.ligaExactKpi .v small{font-size:9px;color:#52617a}.ligaExactKpi span{display:block;font-size:8px;color:#8290a7;margin:3px 0 8px}.ligaExactKpi .ligaV3Progress{height:5px;margin:0}
.ligaExactBestSale{position:relative;min-height:246px;padding:16px;border-radius:20px;border:1px solid #f2c64d;background:radial-gradient(circle at 50% 42%,#fff9dc 0,#fff5ca 36%,#ffe59c 100%);box-shadow:0 13px 30px rgba(190,137,20,.12);text-align:center;overflow:hidden}.ligaExactBestSale:before,.ligaExactBestSale:after{content:"✦";position:absolute;color:rgba(255,255,255,.9);font-size:20px}.ligaExactBestSale:before{left:22px;top:82px}.ligaExactBestSale:after{right:24px;top:120px}.ligaBestHead{display:flex;justify-content:space-between;align-items:center}.ligaBestHead b{font-size:9px;color:#5a3b00}.ligaBestHead span{padding:4px 8px;border-radius:999px;background:#fff0b5;color:#966000;font-size:8px;font-weight:900}.ligaBestCrown{position:absolute;left:50%;top:49px;transform:translateX(-50%);font-size:28px;color:#d69700;z-index:2}.ligaExactBestSale .ligaV3BestAvatar{margin-top:28px;width:66px;height:66px}.ligaExactBestSale h4{font-size:14px;margin:8px 0 2px;color:#121b35}.ligaExactBestSale p{font-size:9px;margin:0 0 8px;color:#725d36}.ligaExactBestSale>strong{display:block;color:#03b85d;font-size:22px}
.ligaHomeDarkCard{padding:15px;border-radius:18px;background:linear-gradient(145deg,#2f0c78,#4b13a5 58%,#1c0a5c);color:#fff;box-shadow:0 12px 30px rgba(48,17,125,.18);border:1px solid #6334c7}.ligaHomeDarkCard .ligaHomeCardHead b{color:#fff}.ligaHomeDarkCard .ligaHomeCardHead button,.ligaHomeDarkCard .ligaHomeCardHead span{color:#d8c7ff}.ligaMuralBody{position:relative;min-height:96px;padding:8px 58px 8px 0}.ligaMuralBody b{font-size:11px}.ligaMuralBody p{font-size:9px;line-height:1.65;color:#e1d8fb}.ligaMuralBody>span{position:absolute;right:3px;bottom:3px;font-size:44px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2))}.ligaRewardMini{display:grid;grid-template-columns:45px minmax(0,1fr) 18px;gap:9px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.1)}.ligaRewardMini:first-child{border-top:0}.ligaRewardMini .chest{width:42px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:23px;background:linear-gradient(145deg,#6520df,#c13cff);box-shadow:0 0 14px rgba(181,55,255,.28)}.ligaRewardMini .chest.blue{background:linear-gradient(145deg,#0848ce,#18b9ff)}.ligaRewardMini .chest.gold{background:linear-gradient(145deg,#d77700,#ffd153)}.ligaRewardMini b,.ligaRewardMini small{display:block;color:#fff;font-size:9px}.ligaRewardMini small{color:#d6cbf2;margin:2px 0 5px}.ligaRewardMini em{font-style:normal;font-size:12px}.ligaRewardMini .ligaV3Progress{height:4px;background:rgba(255,255,255,.12)}
.ligaMiniPodium{display:flex;align-items:flex-end;justify-content:center;gap:13px;min-height:126px;padding-top:24px}.ligaMiniPodium .podiumHero{min-width:72px;text-align:center}.ligaMiniPodium .podiumHero.first{transform:translateY(-14px)}.ligaMiniPodium .podiumHero .avatar{width:58px;height:58px;margin:auto;border-radius:50%;overflow:hidden;border:3px solid #cbd4e5;box-shadow:0 0 0 4px #fff}.ligaMiniPodium .podiumHero.first .avatar{width:66px;height:66px;border-color:#f7c638;box-shadow:0 0 0 4px #fff,0 0 0 7px #f7c638!important}.ligaMiniPodium .podiumHero b{display:block;font-size:9px;margin-top:7px}.ligaMiniPodium .podiumHero em{display:block;font-style:normal;font-size:8px;color:#55657e}.ligaMiniRankList>div{display:grid;grid-template-columns:22px 1fr auto;gap:7px;align-items:center;padding:7px 4px;border-top:1px solid #eef1f6;font-size:9px}.ligaMiniRankList>div>b{color:#8390a4}.ligaMiniRankList>div>strong{font-size:9px}.ligaMiniMission,.ligaMiniAchievement{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #eef1f6}.ligaMiniMission:first-child,.ligaMiniAchievement:first-child{border-top:0}.ligaMiniMission>span,.ligaMiniAchievement>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#6d2ee7,#b944f4);color:#fff;font-size:20px;box-shadow:0 0 14px rgba(116,54,232,.25),inset 0 1px 0 rgba(255,255,255,.45)}.ligaMiniMission:nth-child(2)>span{background:linear-gradient(145deg,#00a86f,#2de3ac)}.ligaMiniMission:nth-child(3)>span{background:linear-gradient(145deg,#1859ef,#7d4fff)}.ligaMiniMission:nth-child(4)>span{background:linear-gradient(145deg,#04a871,#24d68c)}.ligaMiniMission b,.ligaMiniAchievement b{display:block;font-size:9px}.ligaMiniMission small,.ligaMiniAchievement small{display:block;color:#78869b;font-size:7.5px;line-height:1.45}.ligaMiniMission em,.ligaMiniAchievement em{font-style:normal;text-align:right;color:#6531e9;font-size:8px;font-weight:900}.ligaMiniMission .ligaV3Progress{height:4px;margin-top:5px}.ligaMiniAchievement>span{background:linear-gradient(145deg,#260a66,#7d1ac6 55%,#0a56ca)}.ligaMiniAchievement:nth-child(3)>span{background:linear-gradient(145deg,#00a15e,#1ce784)}.ligaMiniAchievement:nth-child(4)>span{background:linear-gradient(145deg,#ff7a00,#ff2d45)}.ligaEmptyAchievement{padding:20px 6px;color:#7a879a;font-size:9px;line-height:1.5}
.ligaExactCollective{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(280px,.8fr) auto;gap:18px;align-items:center;margin-top:14px;padding:15px 18px;border-radius:18px;background:linear-gradient(100deg,#22106b,#3b0e87 50%,#111e6d);color:#fff;border:1px solid #5d43d9;box-shadow:0 14px 34px rgba(33,19,112,.18)}.ligaCollectiveChest{font-size:76px;filter:drop-shadow(0 12px 14px rgba(0,0,0,.28))}.ligaExactCollective span{font-size:9px;color:#d39dff;font-weight:900}.ligaExactCollective h3{margin:5px 0;font-size:15px;color:#fff}.ligaExactCollective p{margin:0;color:#e2dbff;font-size:9px}.ligaCollectiveProgress b{display:block;margin-top:7px;font-size:9px}.ligaExactCollective .btn{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff}.ligaExactCollective .ligaV3Progress{background:rgba(255,255,255,.13)}
@media(max-width:1280px){#viewSeller .ligaHomeShell{grid-template-columns:1fr}.ligaHomeRail{grid-template-columns:repeat(3,1fr)}.ligaExactHero{grid-template-columns:1fr 210px 220px}.ligaExactCollective{grid-template-columns:100px 1fr 1fr}.ligaExactCollective .btn{grid-column:3}}
@media(max-width:1000px){.ligaHomeBottom{grid-template-columns:1fr}.ligaHomeRail{grid-template-columns:1fr}.ligaExactHero{grid-template-columns:1fr 180px}.ligaExactLevel{grid-column:1/-1}.ligaExactCollective{grid-template-columns:82px 1fr}.ligaCollectiveProgress,.ligaExactCollective .btn{grid-column:1/-1}}
@media(max-width:680px){.ligaExactHero{grid-template-columns:1fr;padding:22px 18px}.ligaExactHeroCopy h3{font-size:40px}.ligaExactTrophy{height:150px}.ligaTrophyEmoji{font-size:92px}#viewSeller .ligaKpis{grid-template-columns:1fr!important}.ligaHomeBottom{grid-template-columns:1fr}.ligaExactCollective{grid-template-columns:1fr;text-align:center}.ligaCollectiveChest{font-size:62px}}

/* =========================================================
   LIGA ONDIS V6 — 3D TROPHY + NEON BADGES + LIGHT RAIL
   ========================================================= */
#viewSeller .ligaV3Progress i,
#viewSeller .meter.good i,
#viewSeller .ligaPilotTrack i,
#viewSeller .ligaMiniMission .ligaV3Progress i,
#viewSeller .ligaRewardMini .ligaV3Progress i,
#viewSeller .ligaCollectiveProgress .ligaV3Progress i{
  background:linear-gradient(90deg,#168cff 0%,#6946ff 42%,#b83cff 72%,#ff43c6 100%)!important;
  box-shadow:0 0 12px rgba(126,61,255,.22);
}

/* Troféu com profundidade, leve rotação 3D e flutuação. */
#viewSeller .ligaExactTrophy{perspective:900px;isolation:isolate;overflow:visible}
#viewSeller .ligaTrophyGlow{
  width:205px;height:205px;
  background:radial-gradient(circle,rgba(178,63,255,.27),rgba(32,148,255,.11) 44%,transparent 72%);
  animation:ligaTrophyGlowPulse 3.2s ease-in-out infinite;
}
#viewSeller .ligaTrophyStage{
  position:relative;z-index:2;width:245px;height:205px;display:grid;place-items:center;
  transform-style:preserve-3d;animation:ligaTrophyFloat 4s ease-in-out infinite;
}
#viewSeller .ligaTrophy3D{
  width:235px;max-height:205px;object-fit:cover;border-radius:34px;
  transform-style:preserve-3d;backface-visibility:visible;
  filter:drop-shadow(0 22px 18px rgba(56,33,150,.22)) saturate(1.18) contrast(1.03);
  animation:ligaTrophyTurn 7s ease-in-out infinite;
}
@keyframes ligaTrophyTurn{0%,100%{transform:rotateY(-7deg) rotateX(1deg) scale(1)}50%{transform:rotateY(7deg) rotateX(-1deg) scale(1.035)}}
@keyframes ligaTrophyFloat{0%,100%{transform:translateY(4px)}50%{transform:translateY(-9px)}}
@keyframes ligaTrophyGlowPulse{0%,100%{opacity:.72;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){#viewSeller .ligaTrophyStage,#viewSeller .ligaTrophy3D,#viewSeller .ligaTrophyGlow{animation:none!important}}

/* Coroa sempre acima do avatar do vendedor em destaque. */
#viewSeller .ligaExactBestSale{padding-top:16px}
#viewSeller .ligaExactBestSale .ligaV3BestAvatar{position:relative;margin-top:44px!important;width:68px;height:68px;z-index:2}
#viewSeller .ligaBestCrown{
  top:43px!important;left:50%!important;transform:translate(-50%,-58%) rotate(-2deg)!important;
  font-size:33px!important;line-height:1;z-index:6!important;
  filter:drop-shadow(0 5px 4px rgba(158,101,0,.22));
  animation:ligaCrownFloat 2.7s ease-in-out infinite;
}
@keyframes ligaCrownFloat{0%,100%{transform:translate(-50%,-58%) rotate(-3deg)}50%{transform:translate(-50%,-67%) rotate(3deg)}}

/* Mural e próximas recompensas no mesmo universo claro do ONDIS. */
#viewSeller .ligaHomeDarkCard{
  background:linear-gradient(145deg,#ffffff 0%,#f8f7ff 58%,#f2f8ff 100%)!important;
  color:var(--ondis-text)!important;border:1px solid #dddff1!important;
  box-shadow:0 10px 28px rgba(37,54,93,.07)!important;
}
#viewSeller .ligaHomeDarkCard .ligaHomeCardHead b{color:#19233c!important}
#viewSeller .ligaHomeDarkCard .ligaHomeCardHead button,#viewSeller .ligaHomeDarkCard .ligaHomeCardHead span{color:#6638ea!important}
#viewSeller .ligaMuralBody b{color:#17213a!important}
#viewSeller .ligaMuralBody p{color:#69778e!important}
#viewSeller .ligaMuralBody>span{filter:drop-shadow(0 7px 9px rgba(80,42,180,.16)) saturate(1.15)}
#viewSeller .ligaRewardMini{border-top-color:#edf0f6!important}
#viewSeller .ligaRewardMini b{color:#17213a!important}
#viewSeller .ligaRewardMini small{color:#77849a!important}
#viewSeller .ligaRewardMini em{color:#8153e8!important}
#viewSeller .ligaRewardMini .ligaV3Progress{background:#e9edf5!important}
#viewSeller .ligaRewardMini .chest{box-shadow:0 7px 18px rgba(95,55,208,.14)!important}

/* Selos 3D baseados na coleção visual aprovada. */
#viewSeller .badgeGrid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:14px!important}
#viewSeller .badgeCard{
  min-height:164px!important;padding:13px 15px!important;
  background:linear-gradient(145deg,#ffffff 0%,#f6f9ff 58%,#f8f3ff 100%)!important;
  border:1px solid #dce3ef!important;border-radius:20px!important;
  box-shadow:0 11px 26px rgba(39,57,95,.07)!important;
}
#viewSeller .badgeCard:not(.badgeLocked){border-color:#cbc5f1!important;box-shadow:0 12px 30px rgba(89,54,190,.09),inset 0 0 0 1px rgba(255,255,255,.55)!important}
#viewSeller .badgeCard:not(.badgeLocked)::before{
  content:"";position:absolute;inset:-30% auto auto -10%;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(113,69,255,.12),transparent 68%);pointer-events:none;
}
#viewSeller .badgeTop{gap:12px!important;align-items:center!important}
#viewSeller .badgeIcon.ligaBadgeIconArt{
  width:96px!important;height:108px!important;flex:0 0 96px!important;border:0!important;border-radius:0!important;
  background:transparent!important;overflow:visible!important;box-shadow:none!important;padding:0!important;
}
#viewSeller .ligaBadgeArt{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 12px rgba(31,26,95,.22)) saturate(1.08)}
#viewSeller .badgeLocked .ligaBadgeArt{filter:grayscale(1) saturate(.25) opacity(.38);transform:scale(.96)}
#viewSeller .badgeLocked{opacity:.72!important;background:#f5f7fa!important}
#viewSeller .badgeTitle{font-size:15px!important;line-height:1.18;color:#152039!important}
#viewSeller .badgeDesc{font-size:11px!important;line-height:1.45!important;color:#65748b!important}
#viewSeller .badgeCard .tag{background:#eef2f7!important;border-color:#d5dde8!important;color:#68768a!important}
#viewSeller .badgeCard:not(.badgeLocked) .tag{background:linear-gradient(90deg,#eef2ff,#f6eaff)!important;color:#6738dd!important;border-color:#d9cef9!important}
#viewSeller .ligaV3BadgeXP{font-size:9px!important;padding:3px 7px!important;border-radius:999px!important;background:linear-gradient(90deg,#ece8ff,#ffe9fb)!important;color:#6d3bea!important}

/* Recentes também recebem miniaturas dos mesmos selos. */
#viewSeller .ligaMiniAchievement .ligaMiniBadgeArt{
  width:48px!important;height:48px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important;
}
#viewSeller .ligaMiniAchievement .ligaMiniBadgeArt .ligaBadgeArt{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 6px 7px rgba(67,34,154,.25))}

/* Recompensa coletiva: baú real da mesma coleção de selos. */
#viewSeller .ligaCollectiveChest{
  width:112px;height:92px;font-size:0!important;background:url('./assets/liga/badges/reward-chest.png') center/contain no-repeat;
  filter:drop-shadow(0 12px 14px rgba(54,28,126,.24));
  animation:ligaChestFloat 3.4s ease-in-out infinite;
}
@keyframes ligaChestFloat{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}

@media(max-width:680px){
  #viewSeller .ligaTrophyStage{width:210px;height:175px}
  #viewSeller .ligaTrophy3D{width:205px;max-height:175px}
  #viewSeller .badgeIcon.ligaBadgeIconArt{width:82px!important;height:94px!important;flex-basis:82px!important}
  #viewSeller .badgeGrid{grid-template-columns:1fr!important}
}

/* =========================================================
   LIGA ONDIS V7 — ICON BANK + WATERMARK BADGES + GAMER CHEST
   ========================================================= */
#viewSeller .badgeCard{isolation:isolate}
#viewSeller .badgeCard .badgeTop,#viewSeller .badgeCard>.badgeDesc{position:relative;z-index:2}
#viewSeller .badgeCard.badgeLocked{opacity:1!important;background:linear-gradient(145deg,#f8fbff,#edf6ff)!important}
#viewSeller .badgeCard.badgeLocked .ligaBadgeArt{opacity:.16!important;filter:grayscale(1) saturate(.2)!important;transform:scale(1.12)!important}
#viewSeller .badgeCard.badgeLocked .badgeIcon.ligaBadgeIconArt{opacity:.95}
#viewSeller .badgeCard:not(.badgeLocked) .ligaBadgeArt{filter:drop-shadow(0 0 8px rgba(55,107,255,.35)) drop-shadow(0 0 14px rgba(192,55,255,.22)) saturate(1.16)!important}
#viewSeller .badgeCard:not(.badgeLocked){background:radial-gradient(circle at 17% 32%,rgba(104,71,255,.085),transparent 32%),linear-gradient(145deg,#fff,#f5f9ff 60%,#f9f4ff)!important}
#viewSeller .ligaBadgeArt{object-fit:contain!important;background:transparent!important;border:0!important}

/* Baús recortados sem borda do sprite original. */
#viewSeller .ligaRewardMini .chest{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
#viewSeller .ligaRewardMini .chest img{width:45px;height:45px;display:block;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(63,35,150,.23))}
#viewSeller .ligaRewardMini .chest.blue img{filter:hue-rotate(20deg) saturate(1.15) drop-shadow(0 6px 8px rgba(35,100,205,.24))}
#viewSeller .ligaRewardMini .chest.gold img{filter:hue-rotate(315deg) saturate(1.35) brightness(1.08) drop-shadow(0 6px 8px rgba(185,119,0,.22))}

/* Baú animado: usa duas metades da mesma arte para simular a tampa abrindo. */
.ligaAnimatedChest{position:relative;width:112px;height:92px;perspective:500px;filter:drop-shadow(0 12px 14px rgba(54,28,126,.24));animation:ligaChestFloat 3.4s ease-in-out infinite}
.ligaAnimatedChest .ligaChestGlow{position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle,rgba(255,59,222,.48),rgba(75,75,255,.18) 42%,transparent 70%);filter:blur(11px);animation:ligaChestGlow 2s ease-in-out infinite}
.ligaAnimatedChest .ligaChestLid,.ligaAnimatedChest .ligaChestBody{position:absolute;left:0;width:100%;height:100%;background:url('./assets/liga/reward-chest.png') center/contain no-repeat;transform-origin:50% 58%;transition:transform .8s cubic-bezier(.18,.9,.25,1),filter .8s ease}
.ligaAnimatedChest .ligaChestLid{clip-path:inset(0 0 48% 0);z-index:3}
.ligaAnimatedChest .ligaChestBody{clip-path:inset(44% 0 0 0);z-index:2}
.ligaAnimatedChest.is-open .ligaChestLid{transform:translateY(-18px) rotateX(-58deg) scale(1.04);filter:brightness(1.22) saturate(1.25)}
.ligaAnimatedChest.is-open .ligaChestBody{transform:translateY(3px) scale(1.04);filter:brightness(1.12) saturate(1.2)}
@keyframes ligaChestGlow{50%{transform:scale(1.16);opacity:.78}}

/* Modal de abertura do prêmio. */
.ligaChestCelebration{position:fixed;inset:0;z-index:10050;background:rgba(17,12,53,.45);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;transition:.25s ease}
.ligaChestCelebration.show{opacity:1}.ligaChestCelebrationCard{position:relative;width:min(390px,96vw);padding:24px;border-radius:28px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 35%,rgba(198,62,255,.34),transparent 38%),linear-gradient(155deg,#2d0874,#17105b 56%,#071b58);border:1px solid rgba(159,105,255,.64);box-shadow:0 35px 100px rgba(28,12,91,.42),inset 0 0 34px rgba(92,68,255,.16)}
.ligaChestCelebrationCard h2{margin:6px 0 12px;font-size:25px}.ligaChestKicker{font-size:10px;font-weight:900;letter-spacing:.12em;color:#efbdff}.ligaChestCelebrationCard .ligaAnimatedChest{margin:0 auto;width:190px;height:155px}.ligaPrizeUnlocked{margin:4px 0 16px;padding:14px;border-radius:17px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}.ligaPrizeUnlocked small{display:block;color:#ffbe40;font-weight:900;letter-spacing:.08em}.ligaPrizeUnlocked strong{display:block;font-size:16px;margin:7px 0}.ligaPrizeUnlocked p{margin:0;color:#e4ddff;font-size:11px;line-height:1.5}.ligaChestClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:22px;cursor:pointer}.ligaChestOk{width:100%;min-height:43px;background:linear-gradient(90deg,#415cff,#8b42ff,#ef36bd)!important;border:0!important;color:#fff!important}

/* Banco de 100 ícones no editor de conquistas. */
.ligaIconPickerCell{display:grid;justify-items:center;gap:3px;min-width:74px}.ligaIconPickerCell small{font-size:9px;color:var(--ondis-muted)}
.ligaIconPickerTrigger{width:68px;height:68px;border:1px solid #d8def0;border-radius:16px;background:linear-gradient(145deg,#fff,#f4f7ff);padding:4px;cursor:pointer;box-shadow:0 7px 18px rgba(47,58,100,.08)}
.ligaIconPickerTrigger:hover{border-color:#9964ff;box-shadow:0 0 0 3px rgba(123,69,255,.09),0 9px 22px rgba(74,43,164,.11)}
.ligaIconPickerTrigger .ligaBadgeArt{width:100%;height:100%;object-fit:contain}
.ligaIconBankBack{position:fixed;inset:0;z-index:11000;background:rgba(15,20,39,.58);backdrop-filter:blur(8px);display:grid;place-items:center;padding:22px}
.ligaIconBank{width:min(980px,96vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #dbe2ee;border-radius:24px;box-shadow:0 34px 90px rgba(22,35,71,.24)}
.ligaIconBankHead{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid #e8edf5}.ligaIconBankHead b{display:block;font-size:17px;color:#17213a}.ligaIconBankHead span{display:block;margin-top:2px;font-size:11px;color:#758198}
.ligaIconBankGrid{padding:16px;display:grid;grid-template-columns:repeat(10,minmax(72px,1fr));gap:9px;overflow:auto;background:linear-gradient(180deg,#fbfcff,#f3f7fc)}
.ligaIconBankGrid button{position:relative;aspect-ratio:1;border:1px solid #dde3ed;border-radius:16px;background:#fff;padding:3px;cursor:pointer;transition:.15s ease}.ligaIconBankGrid button:hover,.ligaIconBankGrid button.selected{transform:translateY(-2px);border-color:#7f53ef;box-shadow:0 8px 20px rgba(79,53,162,.14),0 0 0 3px rgba(112,67,245,.08)}.ligaIconBankGrid img{width:100%;height:100%;object-fit:contain;display:block}.ligaIconBankGrid span{position:absolute;right:4px;bottom:4px;padding:1px 4px;border-radius:6px;background:rgba(20,27,50,.74);color:#fff;font-size:7px}

/* Destaque do período. */
#viewSeller .ligaBestHead b{letter-spacing:.02em}

@media(max-width:760px){.ligaIconBankGrid{grid-template-columns:repeat(4,1fr)}.ligaAnimatedChest{margin-inline:auto}.ligaChestCelebrationCard .ligaAnimatedChest{width:160px;height:135px}}


/* =========================================================
   LIGA ONDIS V8 — FIXES: BADGES, GAMIFICATION, USER ASSETS
   ========================================================= */
#viewSeller .ligaBadgeAsset{width:100%;height:100%;display:grid;place-items:center;position:relative}
#viewSeller .ligaBadgeFallback{width:100%;height:100%;place-items:center;font-size:42px}
#viewSeller .badgeCard.badgeLocked .ligaBadgeAsset{opacity:.22;filter:grayscale(1) saturate(.05)}
#viewSeller .badgeCard.badgeLocked{border-style:dashed!important;border-color:#cbd8e7!important;box-shadow:none!important}
#viewSeller .badgeCard.badgeLocked::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.32),rgba(231,241,252,.25));pointer-events:none;z-index:1}
#viewSeller .badgeCard:not(.badgeLocked) .ligaBadgeAsset{animation:ligaBadgeAlive 3.2s ease-in-out infinite}
@keyframes ligaBadgeAlive{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){#viewSeller .badgeCard:not(.badgeLocked) .ligaBadgeAsset{animation:none}}

/* Troféu oficial enviado pelo usuário: leve flutuação + giro 3D sem distorcer a arte. */
#viewSeller .ligaTrophyStage{width:235px!important;height:205px!important;filter:drop-shadow(0 20px 28px rgba(54,40,165,.18));animation:ligaTrophyFloatV8 3.8s ease-in-out infinite!important}
#viewSeller .ligaTrophy3D{width:218px!important;max-height:200px!important;object-fit:contain!important;animation:ligaTrophyTurnV8 6.6s ease-in-out infinite!important;transform-origin:50% 70%}
@keyframes ligaTrophyFloatV8{0%,100%{transform:translateY(4px)}50%{transform:translateY(-9px)}}
@keyframes ligaTrophyTurnV8{0%,100%{transform:perspective(900px) rotateY(-5deg) rotateX(1deg) scale(1)}50%{transform:perspective(900px) rotateY(5deg) rotateX(-1deg) scale(1.025)}}

/* Baú oficial enviado pelo usuário — coletivo e trilha de recompensas. */
#viewSeller .ligaRewardMini .chest img{width:54px!important;height:48px!important;object-fit:contain!important}
#viewSeller .ligaRewardMini .chest.purple img{filter:drop-shadow(0 7px 9px rgba(86,35,196,.30)) saturate(1.12)!important}
#viewSeller .ligaRewardMini .chest.blue img{filter:hue-rotate(24deg) saturate(1.32) brightness(1.04) drop-shadow(0 7px 9px rgba(25,112,224,.28))!important}
#viewSeller .ligaRewardMini .chest.gold img{filter:hue-rotate(315deg) saturate(1.55) brightness(1.10) drop-shadow(0 7px 9px rgba(194,119,0,.26))!important}
#viewSeller .ligaCollectiveChest{background-image:url('./assets/liga/reward-chest.png')!important}
.ligaAnimatedChest .ligaChestLid,.ligaAnimatedChest .ligaChestBody{background-image:url('./assets/liga/reward-chest.png')!important}

/* Banco com 170 ícones: visual sem bordas e recorte transparente. */
.ligaIconBankGrid button{background:linear-gradient(145deg,#fff,#f6f9ff)!important;overflow:hidden}
.ligaIconBankGrid img{width:calc(100% - 4px)!important;height:calc(100% - 4px)!important;margin:2px;object-fit:contain!important}
.ligaIconPickerTrigger{overflow:hidden!important}
.ligaIconPickerTrigger .ligaBadgeAsset{width:100%;height:100%}

@media(max-width:680px){#viewSeller .ligaTrophyStage{width:190px!important;height:165px!important}#viewSeller .ligaTrophy3D{width:175px!important;max-height:160px!important}}

/* =========================================================
   LIGA ONDIS V9 — PROPORÇÃO CORRETA DOS ÍCONES + DESAFIOS + BAÚ
   ========================================================= */
#viewSeller .badgeCard .badgeIcon.ligaBadgeIconArt{
  width:78px!important;height:78px!important;flex:0 0 78px!important;
  display:grid!important;place-items:center!important;overflow:visible!important;
}
#viewSeller .badgeCard .ligaBadgeAsset{width:72px!important;height:72px!important;display:grid!important;place-items:center!important}
#viewSeller .badgeCard .ligaBadgeArt{width:72px!important;height:72px!important;object-fit:contain!important;object-position:center!important;transform:none!important}
#viewSeller .badgeCard.badgeLocked .ligaBadgeArt{transform:none!important;opacity:.20!important}
#viewSeller .badgeTop{grid-template-columns:78px minmax(0,1fr)!important}
#viewSeller .badgeCard{min-height:138px!important;overflow:visible!important}

/* Banco de ícones: cada célula preserva o ícone inteiro, centralizado e sem recortes. */
.ligaIconBankGrid{grid-template-columns:repeat(10,minmax(76px,1fr))!important;gap:10px!important}
.ligaIconBankGrid button{aspect-ratio:1!important;padding:8px!important;overflow:visible!important;display:grid!important;place-items:center!important}
.ligaIconBankGrid img{width:68px!important;height:68px!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain!important;object-position:center!important;display:block!important}
.ligaIconPickerTrigger{display:grid!important;place-items:center!important;padding:8px!important;overflow:visible!important}
.ligaIconPickerTrigger .ligaBadgeArt{width:52px!important;height:52px!important;object-fit:contain!important;object-position:center!important}

/* Desafios da semana usam o mesmo selo 3D/neon das conquistas. */
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt{width:48px!important;height:48px!important;border-radius:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt .ligaBadgeAsset{width:48px!important;height:48px!important}
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt .ligaBadgeArt{width:48px!important;height:48px!important;object-fit:contain!important;filter:drop-shadow(0 5px 8px rgba(70,38,180,.24))}
#viewSeller .ligaMiniMissionBadge{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;background:transparent!important;border-radius:0!important;overflow:visible!important}
#viewSeller .ligaMiniMissionBadge .ligaBadgeAsset,#viewSeller .ligaMiniMissionBadge .ligaBadgeArt{width:42px!important;height:42px!important;object-fit:contain!important}

/* Baú oficial da referência do usuário em todas as áreas de recompensa. */
#viewSeller .ligaRewardChest.ligaRewardChestImage{width:128px!important;height:104px!important;background:transparent!important;border:0!important;box-shadow:none!important;display:grid!important;place-items:center!important;overflow:visible!important}
#viewSeller .ligaRewardChest.ligaRewardChestImage:before,#viewSeller .ligaRewardChest.ligaRewardChestImage:after{display:none!important}
#viewSeller .ligaRewardChest.ligaRewardChestImage img{width:128px!important;height:104px!important;object-fit:contain!important;filter:drop-shadow(0 12px 18px rgba(74,31,175,.30));animation:ligaChestFloat 3.4s ease-in-out infinite}
#viewSeller .ligaRewardMini .chest{width:58px!important;height:52px!important;display:grid!important;place-items:center!important}
#viewSeller .ligaRewardMini .chest img{width:58px!important;height:52px!important;object-fit:contain!important;object-position:center!important}

@media(max-width:760px){
  .ligaIconBankGrid{grid-template-columns:repeat(4,1fr)!important}
  #viewSeller .badgeCard .badgeIcon.ligaBadgeIconArt{width:68px!important;height:68px!important;flex-basis:68px!important}
  #viewSeller .badgeCard .ligaBadgeAsset,#viewSeller .badgeCard .ligaBadgeArt{width:64px!important;height:64px!important}
}

/* ===== ONDIS V11 · Dashboard profissional + missões 3D ===== */
#viewDashboard .dashboardProCard{overflow:hidden;background:var(--ondis-surface);border-color:var(--ondis-line)}
#viewDashboard .dashboardProHead{align-items:flex-end;gap:18px;background:linear-gradient(135deg,rgba(36,87,230,.045),rgba(125,61,246,.035) 55%,rgba(236,72,153,.025));padding:20px 22px;border-bottom:1px solid var(--ondis-line)}
#viewDashboard .dashboardProHead h2{font-size:22px;color:var(--ondis-text);margin:2px 0 4px}
#viewDashboard .dashboardProHead p{margin:0;color:var(--ondis-muted);font-size:12px}
.dashboardEyebrow{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#6d42e9;text-transform:uppercase}
.dashboardHeadActions{align-items:flex-end!important}
.dashboardCrmButton{min-height:40px!important;background:linear-gradient(135deg,#2457e6,#7649f6 55%,#ec4899)!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(75,70,220,.18)!important}
#viewDashboard .dashboardKpis{grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}
#viewDashboard .dashboardKpis .kpi{border:1px solid var(--ondis-line);background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 9px 22px rgba(18,44,84,.05)}
#viewDashboard .dashboardInsightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.dashboardInsightCard{position:relative;overflow:hidden;border:1px solid var(--ondis-line);border-radius:14px;background:linear-gradient(145deg,#fff,#f8fafc);padding:14px 15px;min-height:105px;box-shadow:0 9px 24px rgba(15,35,65,.045)}
.dashboardInsightCard:before{content:"";position:absolute;inset:auto -20px -28px auto;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,rgba(100,70,240,.08),transparent 70%)}
.dashboardInsightCard>span{display:block;font-size:9px;font-weight:850;color:var(--ondis-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.dashboardInsightCard>strong{display:block;font-size:19px;line-height:1.1;color:var(--ondis-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboardInsightCard>small{display:block;color:var(--ondis-muted);font-size:9px;margin-top:7px}
.dashboardInsightCard.accent{border-color:#ddd4ff;background:linear-gradient(145deg,#fff,#f7f4ff)}
.dashboardInsightCard.success{border-color:#cbeee2;background:linear-gradient(145deg,#fff,#f2fcf8)}
.dashboardMiniBar{height:5px;background:#e9edf5;border-radius:999px;margin-top:10px;overflow:hidden}.dashboardMiniBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#168cff,#7d37f5 55%,#f441be)}
#viewDashboard .dashChartCard{background:linear-gradient(145deg,#fff,#fbfcff);border:1px solid var(--ondis-line);border-radius:16px;padding:16px 17px;box-shadow:0 10px 28px rgba(16,33,61,.045)}
#viewDashboard .dashChartCard h3{font-size:12px;color:var(--ondis-text)}
.dashboardCrmPanel{animation:dashPanelIn .22s ease}
@keyframes dashPanelIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dashboardCrmToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 2px 14px}
.dashboardCrmToolbar h3{font-size:18px;margin:3px 0;color:var(--ondis-text)}.dashboardCrmToolbar p{font-size:11px;color:var(--ondis-muted);margin:0}
.dashboardCrmFrameWrap{height:calc(100vh - 245px);min-height:620px;border:1px solid var(--ondis-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 38px rgba(15,35,65,.07)}
.dashboardCrmFrameWrap iframe{width:100%;height:100%;border:0;background:#fff}
@media(max-width:1100px){#viewDashboard .dashboardKpis{grid-template-columns:repeat(3,1fr)}#viewDashboard .dashboardInsightGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){#viewDashboard .dashboardKpis,#viewDashboard .dashboardInsightGrid{grid-template-columns:1fr}.dashboardCrmFrameWrap{height:720px}.dashboardCrmButton{width:100%}}

/* Ícones gamer reais nos desafios semanais */
#viewSeller .ligaV3MissionTop{grid-template-columns:54px minmax(0,1fr) auto!important}
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt{width:50px!important;height:50px!important;display:grid!important;place-items:center!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important}
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt .ligaBadgeAsset{width:50px!important;height:50px!important}
#viewSeller .ligaV3MissionIcon.ligaMissionBadgeArt .ligaBadgeArt{width:50px!important;height:50px!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 7px 10px rgba(68,38,180,.24))!important}
#viewSeller .ligaMiniMission{grid-template-columns:48px minmax(0,1fr) auto!important}
#viewSeller .ligaMiniMission>span.ligaMiniMissionBadge{width:46px!important;height:46px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
#viewSeller .ligaMiniMissionBadge .ligaBadgeAsset,#viewSeller .ligaMiniMissionBadge .ligaBadgeArt{width:46px!important;height:46px!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 6px 9px rgba(68,38,180,.22))}

/* ===== Abertura ONDIS V11 ===== */
body.loginPage.introPlaying{overflow:hidden;background:#000!important}
body.loginPage.introPlaying>.box,body.loginPage.introPlaying>.loading{visibility:hidden}
.systemIntro{position:fixed!important;inset:0!important;z-index:999999!important;background:#000!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1;transition:opacity .5s ease,visibility .5s ease}
.systemIntro video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;background:#000!important}
.systemIntro.isLeaving{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.introStartGate{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:rgba(0,0,0,.28);backdrop-filter:blur(4px)}
.introStartGate[hidden]{display:none!important}.introStartCard{display:grid;gap:10px;text-align:center;padding:22px;border-radius:18px;background:rgba(4,9,20,.82);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 70px rgba(0,0,0,.45);color:#fff}.introStartButton{min-width:240px;padding:14px 20px;border:0;border-radius:14px;background:linear-gradient(90deg,#188bff,#7f35f5,#f13fb7);color:#fff;font-size:15px;font-weight:900;cursor:pointer}.introStartCard span{font-size:11px;color:#c8d2e6}
.introControls{display:none!important}

/* ===== Dashboard executivo ONDIS V12 ===== */
#viewDashboard .dashboardProCard{background:#f7faff!important;border:1px solid #dce6f4!important;box-shadow:0 18px 50px rgba(31,58,103,.08)!important}
#viewDashboard .dashboardProHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#fff 0%,#f7f9ff 54%,#f5f1ff 100%);border-bottom:1px solid #e2e8f3}
#viewDashboard .dashboardProHead h2{font-size:24px!important;margin:3px 0 2px!important;color:#101828!important}
#viewDashboard .dashboardProHead p{margin:0;color:#667085;font-size:12px}
.dashboardTopTools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dashboardPeriodSwitch{display:flex;padding:4px;background:#eef3fb;border:1px solid #dce5f2;border-radius:12px}
.dashboardPeriodSwitch button{border:0;background:transparent;color:#60708b;font-weight:800;font-size:11px;padding:9px 13px;border-radius:9px;cursor:pointer}
.dashboardPeriodSwitch button.active{background:#fff;color:#5d3df5;box-shadow:0 5px 14px rgba(72,62,166,.12)}
.dashboardDateControl{display:flex;flex-direction:column;gap:5px;min-width:160px}
.dashboardDateControl label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8793a8}
.dashboardDateControl input,.dashboardDateControl select{height:38px;border:1px solid #dce5f1;border-radius:10px;background:#fff;padding:0 12px;color:#26324a;font-weight:700}
.dashboardCrmButton{height:40px!important;background:linear-gradient(135deg,#315ee8,#7a45ef)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(93,70,229,.22)!important}
.dashboardScopeRow{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.dashboardScopeRow>div{display:flex;flex-direction:column;gap:2px}.dashboardScopeRow strong{font-size:14px;color:#18233a}.dashboardScopeRow span{font-size:11px;color:#6d7b91}.dashboardLivePill{padding:7px 10px;border-radius:999px;background:#edf9f5;color:#168865!important;font-weight:800!important;font-size:9px!important}
.dashboardExecutiveKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.dashboardExecutiveKpi{position:relative;min-height:120px;background:#fff;border:1px solid #e1e7f0;border-radius:16px;padding:14px 15px;box-shadow:0 10px 24px rgba(15,35,65,.045);overflow:hidden}
.dashboardExecutiveKpi:after{content:"";position:absolute;right:-20px;bottom:-24px;width:84px;height:84px;border-radius:50%;background:var(--glow,rgba(76,105,255,.08))}
.dashboardKpiTop{display:flex;justify-content:space-between;align-items:center;gap:8px;height:34px}.dashboardKpiIcon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--soft,#eff4ff);color:var(--accent,#2d6eff);font-size:16px;font-weight:900}.dashboardSpark{width:72px;height:32px}.dashboardSpark svg{width:100%;height:100%}
.dashboardExecutiveKpi small{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;color:#78859a;margin-top:8px}.dashboardExecutiveKpi strong{display:block;font-size:21px;color:#14203a;line-height:1.15;margin-top:4px}.dashboardExecutiveKpi em{display:block;font-style:normal;color:#7b8799;font-size:10px;margin-top:6px}
.dashboardExecutiveKpi.violet{--soft:#f2edff;--accent:#7445f5;--glow:#eee6ff}.dashboardExecutiveKpi.orange{--soft:#fff1df;--accent:#ff8a14;--glow:#fff0dd}.dashboardExecutiveKpi.green{--soft:#e9fbf3;--accent:#0ca879;--glow:#e6fbf4}.dashboardExecutiveKpi.cyan{--soft:#e9f8ff;--accent:#168fd0;--glow:#e8f8ff}.dashboardExecutiveKpi.pink{--soft:#fff0f8;--accent:#df4b9a;--glow:#fff0f8}
.dashboardMainGrid{display:grid;grid-template-columns:1.45fr .9fr .9fr;gap:12px;margin-bottom:12px}.dashboardSecondaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.dashboardPanel{background:#fff;border:1px solid #e1e7f0;border-radius:16px;padding:15px 16px;box-shadow:0 10px 24px rgba(15,35,65,.045);min-width:0}.dashboardPanelHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.dashboardPanelHead span{display:block;font-size:11px;font-weight:900;color:#1c2940}.dashboardPanelHead strong{display:block;font-size:22px;color:#18233a;margin-top:4px}.dashboardPanelHead small{display:block;font-size:9px;color:#8490a3;margin-top:3px}.dashboardDelta{align-self:center;padding:5px 9px;border-radius:999px;background:#f3f6fb;color:#69778e!important;font-size:9px!important;font-weight:800!important}
.dashboardSvgChart{height:250px;min-height:250px}.dashboardSvgChart.compact{height:210px;min-height:210px}.dashboardSvgChart svg{width:100%;height:100%;overflow:visible}.dashGridLine{stroke:#edf1f6;stroke-width:1}.dashAxisText{font-size:10px;fill:#8a96a8}.dashPoint{fill:#fff;stroke:#5a59ef;stroke-width:2}
.dashboardEmptyChart,.dashboardEmptyList{height:100%;min-height:120px;display:grid;place-items:center;align-content:center;text-align:center;color:#8a96a8;gap:4px}.dashboardEmptyChart b{color:#5c6677;font-size:12px}.dashboardEmptyChart span{font-size:10px}
.dashboardBarList{display:flex;flex-direction:column;gap:11px}.dashboardBarRow{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center}.dashboardBarRank{width:24px;height:24px;border-radius:8px;background:#eef3ff;color:#4f64d8;display:grid;place-items:center;font-size:9px;font-weight:900}.dashboardBarMeta{min-width:0}.dashboardBarMeta>b{display:block;font-size:10px;color:#26324a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboardBarMeta>small{display:block;font-size:9px;color:#6d7b91;margin:2px 0 5px}.dashboardTrack{height:8px;border-radius:999px;background:#edf1f6;overflow:hidden}.dashboardTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e73ff,#714df4,#ed4bc6)}.dashboardBarList.conversion .dashboardTrack i{background:linear-gradient(90deg,#18b889,#2f7cff)}.dashboardBarList.loss .dashboardTrack i{background:linear-gradient(90deg,#ff6b77,#f04a68)}
.dashboardFunnel{display:flex;flex-direction:column;gap:8px;padding-top:3px}.dashboardFunnelStep{position:relative;height:38px;width:var(--w);min-width:38%;margin:auto;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 92%,white),color-mix(in srgb,var(--c) 68%,white));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:9px;font-weight:800;box-shadow:0 7px 15px color-mix(in srgb,var(--c) 16%,transparent)}.dashboardFunnelStep b{font-size:11px}
.dashboardDonutWrap{display:flex;align-items:center;gap:18px;justify-content:center;min-height:190px}.dashboardDonut{--pct:0;width:118px;height:118px;border-radius:50%;background:conic-gradient(#18b889 calc(var(--pct)*1%),#ef5267 0);display:grid;place-items:center;position:relative;box-shadow:0 10px 22px rgba(31,49,89,.10)}.dashboardDonut:after{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%}.dashboardDonut>div{z-index:1;text-align:center}.dashboardDonut strong{display:block;font-size:20px;color:#18233a}.dashboardDonut span{font-size:9px;color:#78859a}.dashboardDonutLegend{display:flex;flex-direction:column;gap:10px}.dashboardDonutLegend span{font-size:9px;color:#657389;display:grid;grid-template-columns:8px 1fr;gap:6px}.dashboardDonutLegend b{grid-column:2;color:#25314a}.dashboardDonutLegend i{width:8px;height:8px;border-radius:3px;background:#18b889;margin-top:2px}.dashboardDonutLegend .bad i{background:#ef5267}
#viewDashboard .dashboardInsightGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
#viewDashboard .dashboardInsightCard{background:#fff;border:1px solid #e1e7f0;border-radius:14px;padding:13px 14px;box-shadow:0 8px 18px rgba(15,35,65,.035)}
#viewDashboard .dashboardInsightCard>span{font-size:9px;color:#7c899d;font-weight:800}#viewDashboard .dashboardInsightCard>strong{display:block;color:#1a263d;font-size:14px;margin:6px 0 3px}#viewDashboard .dashboardInsightCard>small{font-size:9px;color:#8793a5}.dashboardMiniBar{height:6px;margin-top:8px;border-radius:999px;background:#edf0f5;overflow:hidden}.dashboardMiniBar i{display:block;height:100%;background:linear-gradient(90deg,#2f73ff,#714cf4,#ef4acb);border-radius:999px}
#viewDashboard .dashboardCrmPanel{background:#fff;border-radius:16px}
@media(max-width:1280px){.dashboardExecutiveKpis{grid-template-columns:repeat(3,1fr)}.dashboardMainGrid{grid-template-columns:1fr 1fr}.dashboardRevenuePanel{grid-column:1/-1}.dashboardSecondaryGrid{grid-template-columns:repeat(2,1fr)}#viewDashboard .dashboardInsightGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){#viewDashboard .dashboardProHead{align-items:stretch;flex-direction:column}.dashboardTopTools{justify-content:stretch}.dashboardExecutiveKpis,.dashboardMainGrid,.dashboardSecondaryGrid,#viewDashboard .dashboardInsightGrid{grid-template-columns:1fr}.dashboardRevenuePanel{grid-column:auto}.dashboardPeriodSwitch{width:100%}.dashboardPeriodSwitch button{flex:1}.dashboardDateControl{flex:1}.dashboardCrmButton{width:100%}.dashboardScopeRow{align-items:flex-start;flex-direction:column}}

/* Recompensas: usar o baú 3D real */
#viewSeller .ligaRewardChest{width:154px!important;height:118px!important;background:transparent!important;border:0!important;box-shadow:none!important;display:grid!important;place-items:center!important;overflow:visible!important}
#viewSeller .ligaRewardChest:before,#viewSeller .ligaRewardChest:after,#viewSeller .ligaRewardChest>span{display:none!important}
#viewSeller .ligaRewardChest:after{display:none!important}
#viewSeller .ligaRewardCard .ligaRewardChest{background:url('./assets/liga/reward-chest.png') center/contain no-repeat!important;filter:drop-shadow(0 16px 24px rgba(70,25,170,.32));animation:ligaChestFloat 3.4s ease-in-out infinite!important}
#viewSeller .ligaRewardMini .chest img{object-fit:contain!important;object-position:center!important;transform:none!important}

/* ===== RANKING DE METAS 2026 — refinamento visual ===== */
.rankGoalPage{max-width:1540px}.rankGoalHeader{padding:4px 2px 8px}.rankTitleBlock h2{font-size:22px}.rankCrown{background:#eef5ff;color:#1f72f2}.rankFilters .field{min-width:160px}.rankKpi{min-height:76px;padding:14px;border-radius:15px}.rankKpi strong{font-size:15px}.rankGoalGrid{grid-template-columns:1.05fr 1.5fr .8fr;gap:14px}.rankPanel{border-radius:16px;padding:17px;box-shadow:0 7px 24px rgba(38,65,102,.045)}.rankEvolutionChart{min-height:230px}.rankEvolutionChart svg{height:190px}.rankProgressCard,.rankInsightsCard{min-height:290px}
.rankPodiumPanel{margin-bottom:14px;padding:16px 18px 0;overflow:hidden}.rankLinkBtn{border:1px solid #bcd8ff;background:#fff;color:#176ce5;border-radius:9px;padding:7px 11px;font-size:9px;font-weight:800;cursor:pointer}.rankPodium{min-height:245px;display:flex;justify-content:center;align-items:flex-end;gap:54px;padding:12px 20px 0}.rankPodiumPerson{width:190px;text-align:center;position:relative}.rankPodiumAvatar{width:72px;height:72px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #8e60f7;box-shadow:0 8px 24px rgba(67,74,150,.13);position:relative;overflow:visible}.rankPodiumAvatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.rankPodiumAvatar>b{font-size:17px;color:#53647b}.rankPodiumAvatar i{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);min-width:30px;height:25px;padding:0 7px;border-radius:10px;background:#5b79ef;color:#fff;display:grid;place-items:center;font-size:9px;font-style:normal;font-weight:900;box-shadow:0 6px 12px rgba(52,82,174,.2)}.rankPodiumPerson.p1 .rankPodiumAvatar{width:92px;height:92px;border-color:#f5aa16;box-shadow:0 0 0 5px #fff7db,0 10px 28px rgba(245,170,22,.24)}.rankPodiumPerson.p1 .rankPodiumAvatar i{background:#316ff0}.rankPodiumPerson.p3 .rankPodiumAvatar{border-color:#ed8751}.rankPodiumCrown{position:absolute;top:-35px;left:50%;transform:translateX(-50%);font-size:31px;color:#ffb400;text-shadow:0 4px 12px rgba(241,167,0,.28)}.rankPodiumPerson>strong{display:block;font-size:11px;margin-top:13px;color:#1d2a40}.rankPodiumPerson>span{display:block;font-size:13px;font-weight:900;margin-top:4px;color:#27364c}.rankPodiumPerson>small{display:block;color:#748198;font-size:8px;margin-top:3px}.rankPodiumBase{height:34px;margin-top:15px;border:1px solid #dce5f2;border-bottom:0;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#fff,#f2f6fc);display:grid;place-items:center}.rankPodiumPerson.p1 .rankPodiumBase{height:62px;background:linear-gradient(180deg,#fff,#edf4ff)}.rankPodiumBase em{font-style:normal;font-size:8px;color:#718198}.rankTablePanel{margin-bottom:14px}.rankSpaceToggle{display:none}.rankSpacePanel{display:block!important;margin-top:0}.rankSpacePanel .race2dHead b{font-size:12px}.race2d{padding:2px}.race2dRows{padding-top:6px}
@media(max-width:900px){.rankPodium{gap:18px}.rankPodiumPerson{width:30%}.rankPodiumPerson.p1 .rankPodiumAvatar{width:78px;height:78px}.rankSpacePanel{overflow:auto}}


/* =========================================================
   ONDIS V7.2 — Scrollbar Crystal Liquid
   Acompanha automaticamente a cor do tema selecionado.
   ========================================================= */
:root{
  --ondis-scroll-primary: var(--ondis-primary, #2356c7);
  --ondis-scroll-accent: var(--ondis-accent, #0b9f83);
  --ondis-scroll-track: color-mix(in srgb, var(--ondis-surface, #ffffff) 66%, transparent);
}

/* Firefox */
*{
  scrollbar-width: thin;
  scrollbar-color: var(--ondis-scroll-primary) var(--ondis-scroll-track);
}

/* Chromium / Edge / Safari */
*::-webkit-scrollbar{
  width: 11px;
  height: 11px;
}
*::-webkit-scrollbar-track{
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--ondis-scroll-primary) 7%, transparent),
    color-mix(in srgb, var(--ondis-scroll-accent) 5%, transparent));
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ondis-scroll-primary) 11%, transparent),
              inset 0 0 10px rgba(255,255,255,.72);
}
*::-webkit-scrollbar-thumb{
  min-height: 46px;
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.48), transparent 28% 70%, rgba(255,255,255,.20)),
    linear-gradient(180deg,
      color-mix(in srgb, var(--ondis-scroll-accent) 56%, white),
      var(--ondis-scroll-primary) 48%,
      color-mix(in srgb, var(--ondis-scroll-primary) 78%, var(--ondis-scroll-accent)));
  box-shadow:
    inset 1px 1px 3px rgba(255,255,255,.92),
    inset -1px -2px 5px color-mix(in srgb, var(--ondis-scroll-primary) 34%, transparent),
    0 0 8px color-mix(in srgb, var(--ondis-scroll-primary) 30%, transparent);
}
*::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(90deg, rgba(255,255,255,.58), transparent 30% 68%, rgba(255,255,255,.24)),
    linear-gradient(180deg,
      color-mix(in srgb, var(--ondis-scroll-accent) 68%, white),
      color-mix(in srgb, var(--ondis-scroll-primary) 90%, white) 48%,
      var(--ondis-scroll-primary));
  box-shadow:
    inset 1px 1px 4px rgba(255,255,255,.96),
    inset -1px -2px 6px color-mix(in srgb, var(--ondis-scroll-primary) 38%, transparent),
    0 0 12px color-mix(in srgb, var(--ondis-scroll-primary) 42%, transparent);
}
*::-webkit-scrollbar-corner{ background: transparent; }

/* =========================================================
   ONDIS V8 — UI 2.0 / Retail Intelligence Design System
   ========================================================= */
:root{
  --ui2-primary:var(--ondis-primary,#2457e6);--ui2-accent:var(--ondis-accent,#14a98f);
  --ui2-ink:var(--ondis-text,#172033);--ui2-muted:#6f7d92;--ui2-line:color-mix(in srgb,var(--ui2-primary) 10%,#dce4ef);
  --ui2-soft:color-mix(in srgb,var(--ui2-primary) 5%,#fff);--ui2-glass:color-mix(in srgb,var(--ondis-surface,#fff) 91%,transparent);
  --ui2-shadow:0 10px 34px rgba(25,45,85,.07);--ui2-shadow-hover:0 16px 42px rgba(25,45,85,.12);
}
html{scroll-behavior:smooth}body{letter-spacing:-.006em}
button,a,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease,opacity .18s ease}
button:active,.btn:active{transform:translateY(1px)}

/* superfícies mais limpas e premium */
.card,.panel,.rankPanel,.catalog-filter-card,.catalog-product-card,.crm-card,.metric-card,.dashboardPanel,.kpi,.statCard{
  border-color:var(--ui2-line)!important;box-shadow:var(--ui2-shadow)!important;
}
.card:hover,.catalog-product-card:hover,.crm-card:hover,.metric-card:hover,.kpi:hover,.statCard:hover{box-shadow:var(--ui2-shadow-hover)!important}
.btn,.tab,.navItem,.nav-link,.nav button{font-weight:750}
.btn.good,.btn.primary,.primaryBtn{box-shadow:0 7px 18px color-mix(in srgb,var(--ui2-primary) 18%,transparent)}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--ui2-primary) 55%,#fff)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ui2-primary) 10%,transparent)!important;outline:none}

/* navegação: sensação de app nativo */
.sidebar,.side,.crm-sidebar{backdrop-filter:saturate(145%) blur(18px);-webkit-backdrop-filter:saturate(145%) blur(18px)}
.navItem.active,.nav-link.active,.nav button.active{position:relative;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui2-primary) 13%,transparent)}
.navItem.active:before,.nav-link.active:before{content:"";position:absolute;left:-1px;top:24%;bottom:24%;width:3px;border-radius:999px;background:var(--ui2-primary);box-shadow:0 0 12px color-mix(in srgb,var(--ui2-primary) 42%,transparent)}

/* Caixa / Frente de Loja: foco em velocidade */
body:has(.app .side) .main{background:radial-gradient(800px 420px at 100% 0%,color-mix(in srgb,var(--ui2-primary) 6%,transparent),transparent 60%),var(--ondis-bg,#f5f7fb)}
#viewVenda .card,#viewVenda .panel{border-radius:18px!important}
#viewVenda input,#viewVenda select{min-height:42px}
#viewVenda .btn{min-height:38px}
#viewVenda table thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--ondis-surface,#fff) 94%,var(--ui2-primary) 6%);backdrop-filter:blur(8px)}
#viewVenda .total,#viewVenda [class*="total"] strong{font-variant-numeric:tabular-nums}

/* Financeiro / DRE: números legíveis e hierarquia executiva */
#viewDre .kpi,#viewFinanceiro .kpi,#viewDre .card,#viewFinanceiro .card{border-radius:18px!important}
#viewDre strong,#viewFinanceiro strong{font-variant-numeric:tabular-nums}
#viewDre .kpis .kpi:nth-child(-n+4),#viewFinanceiro .kpis .kpi:nth-child(-n+4){background:linear-gradient(145deg,var(--ondis-surface,#fff),color-mix(in srgb,var(--ui2-primary) 4%,#fff))!important}

/* CRM simplificado: menos ruído, mais ação */
body:has(.wrap .tabs) .tabs{background:color-mix(in srgb,var(--ondis-surface,#fff) 90%,transparent);backdrop-filter:blur(14px);border:1px solid var(--ui2-line);padding:5px;border-radius:14px}
body:has(.wrap .tabs) .tab{border-radius:10px!important}
body:has(.wrap .tabs) .tab.active{box-shadow:0 5px 14px color-mix(in srgb,var(--ui2-primary) 13%,transparent)}

/* CRM completo: pipeline premium */
.crm-shell{background:radial-gradient(850px 460px at 90% 0%,color-mix(in srgb,var(--ui2-primary) 7%,transparent),transparent 62%),var(--ondis-bg,#f5f7fb)!important}
.crm-sidebar{border-right:1px solid var(--ui2-line)!important}
.crm-main .crm-card,.crm-content .crm-card{border-radius:18px!important}
.crm-kanban-column,[class*="kanban-col"]{border-radius:18px!important;border-color:var(--ui2-line)!important}

/* Catálogo: visual de vitrine premium */
.catalog-shell{gap:18px!important}.catalog-side{border-radius:20px!important;position:sticky;top:16px;align-self:start}
.catalog-product-card{border-radius:20px!important;overflow:hidden;transform:translateZ(0)}
.catalog-product-card:hover{transform:translateY(-3px)}
.catalog-product-card img{transition:transform .35s ease}.catalog-product-card:hover img{transform:scale(1.025)}
.catalog-hero{border-radius:22px!important;background:linear-gradient(125deg,color-mix(in srgb,var(--ui2-primary) 8%,#fff),color-mix(in srgb,var(--ui2-accent) 6%,#fff))!important}

/* Ponto: relógio e ações como terminal de equipe */
.relogio{font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-shadow:0 8px 30px color-mix(in srgb,var(--ui2-primary) 12%,transparent)}
.pontoBtn{border-radius:18px!important;box-shadow:var(--ui2-shadow)!important}.pontoBtn:hover{transform:translateY(-2px);box-shadow:var(--ui2-shadow-hover)!important}

/* Gamificação — Liga ONDIS: mais profundidade, conquista e progressão */
#viewSeller .ligaHero,#viewSeller [class*="ligaHero"],#viewSeller .ligaRewardCard,#viewSeller .ligaCard{border:1px solid color-mix(in srgb,var(--ui2-primary) 12%,transparent)!important;box-shadow:0 16px 42px rgba(38,37,94,.09)!important}
#viewSeller .ligaRewardCard{position:relative;overflow:hidden}
#viewSeller .ligaRewardCard:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,color-mix(in srgb,var(--ui2-primary) 17%,transparent),transparent 68%);pointer-events:none}
#viewSeller [class*="xp" i] [class*="bar" i],#viewSeller [class*="progress" i]{overflow:hidden;position:relative}
#viewSeller [class*="xp" i] [class*="bar" i]:after,#viewSeller [class*="progress" i]:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.52) 45%,transparent 70%);transform:translateX(-120%);animation:ondisShimmer 3.8s ease-in-out infinite}
@keyframes ondisShimmer{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.rankPodiumPerson.p1 .rankPodiumAvatar{animation:ondisChampion 3.6s ease-in-out infinite}@keyframes ondisChampion{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* microinterações discretas */
@media(prefers-reduced-motion:no-preference){.card,.kpi,.statCard,.catalog-product-card{animation:ondisEnter .34s ease both}@keyframes ondisEnter{from{opacity:.01;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Command Palette global */
#ondisCommandOverlay{position:fixed;inset:0;z-index:999999;background:rgba(10,18,32,.28);backdrop-filter:blur(7px);display:none;align-items:flex-start;justify-content:center;padding:12vh 18px 30px}
#ondisCommandOverlay.open{display:flex}.ondisCommand{width:min(680px,100%);background:color-mix(in srgb,var(--ondis-surface,#fff) 96%,transparent);border:1px solid color-mix(in srgb,var(--ui2-primary) 15%,transparent);border-radius:22px;box-shadow:0 30px 80px rgba(14,28,55,.22);overflow:hidden}
.ondisCommandHead{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ui2-line)}.ondisCommandHead b{color:var(--ui2-primary);font-size:18px}.ondisCommandHead input{flex:1;border:0!important;box-shadow:none!important;background:transparent!important;font-size:15px;min-width:0}.ondisCommandHead kbd{font:700 10px/1 system-ui;padding:6px 8px;border-radius:8px;background:var(--ui2-soft);border:1px solid var(--ui2-line);color:var(--ui2-muted)}
.ondisCommandList{padding:8px;max-height:420px;overflow:auto}.ondisCommandItem{width:100%;border:0;background:transparent;color:var(--ui2-ink);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:13px;text-align:left;cursor:pointer}.ondisCommandItem:hover,.ondisCommandItem.active{background:var(--ui2-soft)}.ondisCommandIcon{width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--ui2-primary) 9%,#fff);display:grid;place-items:center}.ondisCommandItem strong{display:block;font-size:12px}.ondisCommandItem small{display:block;color:var(--ui2-muted);font-size:10px;margin-top:2px}.ondisCommandItem span:last-child{font-size:10px;color:var(--ui2-muted)}
.ondisCommandFoot{padding:9px 14px;border-top:1px solid var(--ui2-line);font-size:9px;color:var(--ui2-muted);display:flex;justify-content:space-between;gap:12px}
.ondisQuickHint{position:fixed;right:18px;top:14px;z-index:9000;border:1px solid var(--ui2-line);background:var(--ui2-glass);backdrop-filter:blur(12px);border-radius:11px;padding:7px 10px;color:var(--ui2-muted);font:700 9px system-ui;box-shadow:0 8px 22px rgba(20,40,70,.07);cursor:pointer}.ondisQuickHint b{color:var(--ui2-primary)}
@media(max-width:760px){.ondisQuickHint{display:none}.catalog-side{position:static}.ondisCommandOverlay{padding-top:7vh}.ondisCommand{border-radius:18px}}




/* ONDIS V12.2 — Navigation Identity System */
:root{
  --ondis-nav-ink:#142033;
  --ondis-nav-muted:#8490aa;
  --ondis-nav-purple:#6638ff;
  --ondis-nav-pink:#dc2fc2;
  --ondis-nav-blue:#367eff;
  --ondis-nav-cyan:#1cbcc2;
  --ondis-nav-line:#e8edf6;
}

/* Header brand: rotating transparent ONDIS symbol + word */
.ondisBrandModern{display:flex!important;align-items:center;gap:12px;min-width:0;padding:2px 0}
.ondisBrandSymbol{width:44px;height:44px;object-fit:contain;display:block;animation:ondisBrandSpin 28s linear infinite;filter:drop-shadow(0 5px 9px rgba(33,100,220,.14));transform-origin:50% 50%}
.ondisBrandCopy{display:grid;line-height:1.05;gap:5px;min-width:0}
.ondisBrandCopy b{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:800;font-size:18px;letter-spacing:.12em;color:#101b2d!important}
.ondisBrandCopy small{font:500 12px/1.1 Inter,ui-sans-serif,system-ui;color:#8390a8!important;letter-spacing:.01em}
.ondisBrandModern:hover .ondisBrandSymbol{animation-duration:9s;filter:drop-shadow(0 7px 14px rgba(40,118,240,.24))}
@keyframes ondisBrandSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ondisBrandSymbol{animation:none!important}}

/* Main module index — faithful clean white reference */
.sidebar,.mainSidebar,.sideNav,.appSidebar{
  background:rgba(255,255,255,.98)!important;
  border-right:1px solid var(--ondis-nav-line)!important;
  box-shadow:10px 0 36px rgba(35,58,99,.045)!important;
}
.sidebar .brand,.mainSidebar .brand,.sidebarBrand{
  min-height:92px!important;padding:20px 22px!important;border-bottom:1px solid #edf1f7!important;background:#fff!important;
}
.sidebar .navTitle,.sidebar .groupTitle,.sidebar .navSectionTitle,.sidebar .sectionTitle,.mainSidebar .navTitle{
  color:#8b97b0!important;font-family:Inter,ui-sans-serif,system-ui!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;margin:18px 22px 9px!important;
}
.sidebar nav,.sidebar .nav,.mainSidebar nav{padding:0 12px 18px!important}
.sidebar nav button,.sidebar .nav button,.sidebar a.navItem,.mainSidebar nav button,.mainSidebar a{
  position:relative!important;min-height:50px!important;margin:3px 0!important;padding:8px 12px!important;border:0!important;border-radius:13px!important;background:transparent!important;color:#142033!important;font-family:Inter,ui-sans-serif,system-ui!important;font-size:14px!important;font-weight:600!important;letter-spacing:-.01em!important;box-shadow:none!important;transition:background .16s ease,transform .16s ease,color .16s ease!important;
}
.sidebar nav button:hover,.sidebar .nav button:hover,.sidebar a.navItem:hover,.mainSidebar nav button:hover,.mainSidebar a:hover{background:#f7f5ff!important;transform:translateX(1px)!important}
.sidebar nav button.active,.sidebar .nav button.active,.sidebar a.navItem.active,.mainSidebar nav button.active,.mainSidebar a.active{
  color:#121e31!important;background:linear-gradient(90deg,rgba(239,242,255,.97),rgba(251,236,255,.9))!important;box-shadow:inset 0 0 0 1px rgba(114,68,255,.035)!important;
}
.sidebar nav button.active:before,.sidebar .nav button.active:before,.sidebar a.navItem.active:before,.mainSidebar nav button.active:before,.mainSidebar a.active:before{
  content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:99px;background:linear-gradient(180deg,#543cff,#a92cff);
}
.sidebar nav button .ico,.sidebar nav button .icon,.sidebar .navIcon,.sidebar a.navItem>span:first-child,.mainSidebar .navIcon{
  width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important;display:inline-grid!important;place-items:center!important;color:#6938ff!important;background:linear-gradient(145deg,#f2f5ff,#fff1ff)!important;font-size:18px!important;box-shadow:0 5px 13px rgba(91,69,218,.09)!important;
}
/* Preserve emoji/icon individual color while keeping premium tile */
.sidebar nav button:nth-child(2n) .ico,.sidebar nav button:nth-child(2n) .icon{color:#2780ff!important}
.sidebar nav button:nth-child(3n) .ico,.sidebar nav button:nth-child(3n) .icon{color:#d72bbd!important}
.sidebar nav button:nth-child(5n) .ico,.sidebar nav button:nth-child(5n) .icon{color:#13b9a2!important}
.sidebar .badge,.sidebar nav button .count,.mainSidebar .badge{background:linear-gradient(135deg,#6e3cff,#e12fb9)!important;color:white!important;border:0!important;box-shadow:0 5px 12px rgba(149,48,210,.22)!important}
.sidebar hr,.sidebar .divider{border:0!important;border-top:1px solid #edf1f7!important;margin:14px 14px!important}

/* ONDIS Finance sidebars use same family */
.caixaShell .side,.caixa-sidebar,.financeSidebar,.finance-side{background:#fff!important;border-right:1px solid var(--ondis-nav-line)!important;box-shadow:8px 0 30px rgba(35,58,99,.035)!important}
.caixaShell .side button,.caixa-sidebar button,.financeSidebar button,.finance-side button{border-radius:12px!important;color:#21304a!important;font-family:Inter,ui-sans-serif,system-ui!important;font-weight:600!important}
.caixaShell .side button.active,.caixa-sidebar button.active,.financeSidebar button.active,.finance-side button.active{background:linear-gradient(90deg,#f0f3ff,#fbf0ff)!important;color:#2b56da!important;border-color:transparent!important}

/* Prevent obsolete themes from surviving cached state visually */
:root[data-theme="vintage"],:root[data-theme="ultra"],:root[data-theme="neon-tokyo"]{color-scheme:light}
