/*
 * Gestao Fiscal Laercio — Desktop Moderno
 * Canais: beta e oficial desktop, ativados por desktop-modern-beta.js.
 *
 * Esta camada e exclusivamente visual. Ela unifica o shell, navegacao,
 * componentes, formularios, tabelas e modais sem alterar regras fiscais.
 */

html.gfl-modern-beta-root {
  color-scheme: light;
  background: #eef3f1;
}

body.gfl-modern-desktop-v3 {
  --modern-brand-950: #062d20;
  --modern-brand-900: #08452f;
  --modern-brand-800: #075f3b;
  --modern-brand-700: #087a47;
  --modern-brand-600: #0a9652;
  --modern-brand-500: #12ae60;
  --modern-brand-400: #38c979;
  --modern-brand-100: #dcf8e8;
  --modern-brand-50: #effcf5;
  --modern-ink-950: #111b17;
  --modern-ink-900: #192720;
  --modern-ink-800: #26372f;
  --modern-ink-700: #3a4d44;
  --modern-ink-600: #586b62;
  --modern-ink-500: #71827a;
  --modern-line: #d6e1dc;
  --modern-line-strong: #c4d3cc;
  --modern-canvas: #f2f6f4;
  --modern-surface: #ffffff;
  --modern-surface-soft: #f8fbf9;
  --modern-danger: #d92d45;
  --modern-warning: #d47b12;
  --modern-info: #3576d5;
  --modern-focus: rgba(18, 174, 96, .28);
  --modern-shadow-xs: 0 1px 2px rgba(17, 39, 29, .04);
  --modern-shadow-sm: 0 5px 16px rgba(17, 39, 29, .065);
  --modern-shadow-md: 0 14px 34px rgba(17, 39, 29, .09);
  --modern-shadow-lg: 0 28px 72px rgba(8, 45, 32, .18);
  --modern-radius-xs: 8px;
  --modern-radius-sm: 11px;
  --modern-radius-md: 14px;
  --modern-radius-lg: 18px;
  --modern-radius-xl: 24px;
  --modern-ease: cubic-bezier(.2, .72, .2, 1);
  --modern-fast: 150ms;
  --modern-normal: 220ms;
  --rail-w: 72px;
  --rail-expanded-w: 258px;
  --gfl-beta-titlebar-h: 48px;
  margin: 0;
  color: var(--modern-ink-900);
  background:
    radial-gradient(circle at 78% -20%, rgba(18, 174, 96, .055), transparent 31%),
    var(--modern-canvas) !important;
  font-family: "Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI", Inter, system-ui, sans-serif !important;
  font-size: 14px;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
}

body.gfl-modern-desktop-v3 *,
body.gfl-modern-desktop-v3 *::before,
body.gfl-modern-desktop-v3 *::after {
  box-sizing: border-box;
}

body.gfl-modern-desktop-v3 ::selection {
  color: #fff;
  background: rgba(8, 122, 71, .86);
}

/* ---------- Moldura nativa e cabecalho ---------- */

body.gfl-modern-desktop-v3 .gfl-beta-titlebar {
  grid-template-columns: minmax(205px, .66fr) minmax(400px, 1.9fr) auto minmax(150px, .54fr) !important;
  gap: 8px !important;
  height: var(--gfl-beta-titlebar-h) !important;
  padding: 6px 120px 6px 8px !important;
  overflow: visible !important;
  color: #f4fff8 !important;
  border-bottom: 1px solid rgba(190, 243, 213, .2) !important;
  background:
    linear-gradient(90deg, #073c2b 0%, #075d3b 46%, #06442f 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 10px 26px rgba(4, 43, 28, .18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-titlebar::before {
  inset: 0 116px 0 0 !important;
  border-radius: 0 !important;
  opacity: .55 !important;
  background:
    radial-gradient(circle at 54% -120%, rgba(100, 232, 158, .24), transparent 45%),
    linear-gradient(105deg, transparent 18%, rgba(255,255,255,.035) 49%, transparent 76%) !important;
  background-size: 100% 100% !important;
  animation: none !important;
  mix-blend-mode: normal !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-titlebar::after {
  background: linear-gradient(90deg, transparent 5%, rgba(89, 223, 145, .56) 42%, transparent 92%) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-left {
  height: 36px !important;
  gap: 9px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-collapse {
  width: 36px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border-color: rgba(209, 250, 229, .2) !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-collapse:hover {
  transform: none !important;
  border-color: rgba(209, 250, 229, .42) !important;
  background: rgba(255,255,255,.14) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-collapse svg {
  width: 17px !important;
  height: 17px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-copy {
  display: grid !important;
  gap: 1px !important;
  align-content: center !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-brand-line {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-copy strong {
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 760 !important;
  letter-spacing: -.012em !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-copy em {
  padding: 2px 6px !important;
  border: 1px solid rgba(167, 243, 208, .24) !important;
  border-radius: 999px !important;
  color: #d8ffea !important;
  background: rgba(18, 174, 96, .18) !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  letter-spacing: .055em !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-status {
  gap: 6px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-status i {
  width: 6px !important;
  height: 6px !important;
  background: #5de395 !important;
  box-shadow: 0 0 0 3px rgba(93, 227, 149, .12) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-status span {
  max-width: 220px !important;
  color: rgba(229, 255, 239, .76) !important;
  font-size: 9.5px !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-context {
  height: 36px !important;
  grid-template-columns: minmax(138px, 190px) minmax(0, 1fr) !important;
  gap: 7px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-page-context,
body.gfl-modern-desktop-v3 .gfl-beta-company-shell {
  height: 36px !important;
  border: 1px solid rgba(209, 250, 229, .18) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-page-context {
  padding: 0 10px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-page-icon {
  color: #a8f0c7 !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-page-copy small {
  color: rgba(220, 252, 231, .62) !important;
  font-size: 8px !important;
  letter-spacing: .07em !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-page-copy strong {
  display: block !important;
  height: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f6fff9 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-shell {
  grid-template-columns: minmax(0, 1fr) 18px !important;
  padding: 4px 10px 4px 12px !important;
  overflow: hidden !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-shell:hover,
body.gfl-modern-desktop-v3 .gfl-beta-company-shell.is-open {
  transform: none !important;
  border-color: rgba(167, 243, 208, .46) !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 0 0 3px rgba(93, 227, 149, .08) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-shell::after {
  display: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-name {
  color: #fff !important;
  font-size: clamp(11.5px, .86vw, 13.5px) !important;
  font-weight: 760 !important;
  letter-spacing: -.01em !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-cnpj {
  color: rgba(222, 255, 235, .72) !important;
  font-size: 9px !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-actions {
  height: 36px !important;
  gap: 6px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-actions button,
body.gfl-modern-desktop-v3 .gfl-beta-user-btn {
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(209, 250, 229, .17) !important;
  border-radius: 10px !important;
  color: #effff5 !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 10.5px !important;
  font-weight: 720 !important;
  text-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-actions button:hover,
body.gfl-modern-desktop-v3 .gfl-beta-user-btn:hover {
  transform: none !important;
  border-color: rgba(209, 250, 229, .38) !important;
  background: rgba(255,255,255,.135) !important;
  box-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-title-actions kbd {
  color: rgba(232, 255, 240, .68) !important;
  background: rgba(2, 44, 29, .38) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-user-btn {
  max-width: 218px !important;
  padding: 3px 8px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-user-avatar {
  border-color: rgba(209, 250, 229, .2) !important;
  background: rgba(18, 174, 96, .22) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-window-controls {
  height: 48px !important;
  gap: 1px !important;
  padding: 5px 5px 5px 3px !important;
  background: transparent !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-window-controls button {
  width: 35px !important;
  height: 36px !important;
  border-radius: 9px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-window-controls button:hover {
  transform: none !important;
  border-color: transparent !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-window-controls button[data-window-action="close"]:hover {
  color: #fff !important;
  background: #cf3345 !important;
}

/* ---------- Seletor de empresa e menus flutuantes ---------- */

body.gfl-modern-desktop-v3 .gfl-beta-company-picker,
body.gfl-modern-desktop-v3 .gfl-beta-quick-pop,
body.gfl-modern-desktop-v3 .gfl-beta-user-pop {
  border: 1px solid rgba(183, 204, 194, .92) !important;
  border-radius: var(--modern-radius-lg) !important;
  color: var(--modern-ink-900) !important;
  background: rgba(255,255,255,.975) !important;
  box-shadow: var(--modern-shadow-lg) !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-picker::before,
body.gfl-modern-desktop-v3 .gfl-beta-company-picker::after {
  display: none !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-picker-head,
body.gfl-modern-desktop-v3 .gfl-beta-quick-head,
body.gfl-modern-desktop-v3 .gfl-beta-user-pop-head {
  border-bottom-color: var(--modern-line) !important;
  background: var(--modern-surface-soft) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-search,
body.gfl-modern-desktop-v3 .gfl-beta-company-picker-close,
body.gfl-modern-desktop-v3 .gfl-beta-company-option,
body.gfl-modern-desktop-v3 .gfl-beta-quick-item {
  border-radius: 10px !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-option:hover,
body.gfl-modern-desktop-v3 .gfl-beta-quick-item:hover {
  background: var(--modern-brand-50) !important;
}

body.gfl-modern-desktop-v3 .gfl-beta-company-option.is-active {
  color: var(--modern-brand-900) !important;
  border-color: #9ce2bb !important;
  background: #e7faef !important;
}

/* ---------- Shell e navegacao lateral ---------- */

body.gfl-modern-desktop-v3 .shell {
  grid-template-columns: var(--rail-w) minmax(0, 1fr) !important;
  background: transparent !important;
}

body.gfl-modern-desktop-v3 .shell.nav-expanded {
  grid-template-columns: var(--rail-expanded-w) minmax(0, 1fr) !important;
}

body.gfl-modern-desktop-v3 .sidebar {
  width: var(--rail-w) !important;
  padding: 10px 8px 9px !important;
  border: 0 !important;
  border-right: 1px solid rgba(203, 222, 213, .14) !important;
  color: rgba(238, 255, 246, .82) !important;
  background:
    linear-gradient(180deg, #0a4934 0%, #0b5b3f 48%, #083d2d 100%) !important;
  box-shadow: 10px 0 28px rgba(8, 45, 32, .075) !important;
}

body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar {
  width: var(--rail-expanded-w) !important;
  box-shadow: 18px 0 45px rgba(8, 45, 32, .14) !important;
}

body.gfl-modern-desktop-v3 .sidebar::before {
  opacity: .2 !important;
  background:
    radial-gradient(circle at 42% 0%, rgba(96, 231, 154, .28), transparent 32%),
    linear-gradient(125deg, transparent 28%, rgba(255,255,255,.055) 48%, transparent 68%) !important;
}

body.gfl-modern-desktop-v3 .sidebar .brand {
  min-height: 56px !important;
  padding: 3px 7px 10px !important;
  gap: 10px !important;
  border-bottom: 1px solid rgba(222, 255, 235, .11) !important;
}

body.gfl-modern-desktop-v3 .sidebar .brand-mark {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(213, 255, 231, .22) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 7px 18px rgba(2, 37, 24, .2) !important;
}

body.gfl-modern-desktop-v3 .sidebar .brand-mark img {
  width: 31px !important;
  height: 31px !important;
}

body.gfl-modern-desktop-v3 .sidebar .brand-wordmark {
  max-width: 144px !important;
}

body.gfl-modern-desktop-v3 .sidebar .brand-lockup span {
  color: rgba(225, 255, 237, .62) !important;
  font-size: 9.5px !important;
}

body.gfl-modern-desktop-v3 .sidebar > .nav {
  padding: 8px 0 6px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(210, 250, 228, .22) transparent !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-group {
  gap: 2px !important;
  padding-bottom: 8px !important;
  margin-bottom: 7px !important;
  border-bottom-color: rgba(222, 255, 235, .09) !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-title {
  margin: 7px 10px 5px !important;
  color: rgba(226, 255, 238, .5) !important;
  font-size: 8.5px !important;
  font-weight: 760 !important;
  letter-spacing: .095em !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item {
  min-height: 42px !important;
  height: 42px !important;
  margin: 2px 3px !important;
  padding: 0 13px !important;
  gap: 12px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  color: rgba(234, 255, 243, .72) !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  letter-spacing: -.006em !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item i,
body.gfl-modern-desktop-v3 .sidebar .nav-item svg {
  width: 20px !important;
  height: 20px !important;
  flex-basis: 20px !important;
  stroke-width: 1.9 !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item:hover {
  transform: none !important;
  color: #fff !important;
  border-color: rgba(222, 255, 235, .1) !important;
  background: rgba(255,255,255,.07) !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item.active {
  color: #fff !important;
  border-color: rgba(143, 239, 185, .32) !important;
  background: linear-gradient(90deg, rgba(35, 190, 105, .33), rgba(255,255,255,.075)) !important;
  box-shadow: 0 7px 18px rgba(2, 43, 27, .12), inset 0 1px 0 rgba(255,255,255,.09) !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item.active::before {
  left: -4px !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 3px !important;
  background: #62e69a !important;
  box-shadow: 0 0 10px rgba(98, 230, 154, .46) !important;
  animation: none !important;
}

body.gfl-modern-desktop-v3 .sidebar .nav-item::after {
  left: calc(100% + 9px) !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 9px !important;
  color: #f8fffb !important;
  background: #10251c !important;
  box-shadow: 0 12px 28px rgba(10, 32, 23, .28) !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
}

body.gfl-modern-desktop-v3 .nav-collapser {
  top: 18px !important;
  right: -11px !important;
  width: 23px !important;
  height: 23px !important;
  border: 2px solid var(--modern-canvas) !important;
  background: var(--modern-brand-700) !important;
  box-shadow: 0 4px 12px rgba(8, 45, 32, .22) !important;
}

body.gfl-modern-desktop-v3 .side-status {
  min-height: 36px !important;
  margin: 4px 3px 0 !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(220, 252, 231, .1) !important;
  border-radius: 10px !important;
  background: rgba(0, 30, 20, .15) !important;
}

/*
 * Rail desktop v3.1
 *
 * Recompõe toda a geometria nos dois estados para não herdar combinações
 * parciais das camadas responsivas antigas. A ambientação sazonal continua
 * presente, mas não pode clarear a superfície nem deslocar os ícones.
 */
@media (min-width: 901px) {
  body.gfl-modern-desktop-v3 .shell > .sidebar {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
    color: rgba(239, 255, 247, .86) !important;
    border-right: 1px solid rgba(185, 235, 207, .13) !important;
    background:
      radial-gradient(circle at 22% -8%, rgba(76, 222, 139, .20), transparent 29%),
      linear-gradient(180deg, #083f31 0%, #084b38 48%, #062f27 100%) !important;
    box-shadow:
      14px 0 34px rgba(4, 35, 25, .10),
      inset -1px 0 0 rgba(255, 255, 255, .035) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded > .sidebar {
    width: var(--rail-expanded-w) !important;
    border-right-color: rgba(185, 235, 207, .18) !important;
    background:
      radial-gradient(circle at 17% -6%, rgba(83, 229, 147, .18), transparent 27%),
      radial-gradient(circle at 108% 42%, rgba(28, 157, 93, .13), transparent 34%),
      linear-gradient(180deg, #07382d 0%, #084735 50%, #062b24 100%) !important;
    box-shadow:
      20px 0 48px rgba(4, 35, 25, .15),
      inset -1px 0 0 rgba(255, 255, 255, .045) !important;
  }

  body.gfl-modern-desktop-v3 .shell > .sidebar::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    pointer-events: none !important;
    background:
      linear-gradient(118deg, rgba(255,255,255,.055), transparent 19% 68%, rgba(143,239,185,.025)),
      repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.055),
      inset -1px 0 0 rgba(185,235,207,.055) !important;
  }

  body.gfl-modern-desktop-v3 .shell > .sidebar::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    border-radius: 0 !important;
    opacity: .58 !important;
    pointer-events: none !important;
    animation: none !important;
    background:
      radial-gradient(circle at 34% 5%, rgba(255,255,255,.075), transparent 16%),
      linear-gradient(180deg, transparent 0 72%, rgba(0,18,13,.10) 100%) !important;
  }

  body.gfl-modern-desktop-v3 .sidebar > .brand,
  body.gfl-modern-desktop-v3 .sidebar > .workspace-switch,
  body.gfl-modern-desktop-v3 .sidebar > .nav,
  body.gfl-modern-desktop-v3 .sidebar > .side-status,
  body.gfl-modern-desktop-v3 .sidebar > .nav-collapser {
    position: relative !important;
    z-index: 4 !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) > .sidebar {
    width: var(--rail-w) !important;
    padding: 10px 8px 9px !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .brand {
    min-height: 58px !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 3px 0 11px !important;
    gap: 0 !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .brand-mark {
    display: grid !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 auto !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .brand-lockup,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .workspace-switch,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-title,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item > span,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .side-status span:not(.status-dot),
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar #networkHint {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar > .nav {
    padding: 8px 0 6px !important;
    gap: 7px !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-group {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 7px !important;
    gap: 3px !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 2px auto !important;
    padding: 0 !important;
    gap: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
    border-radius: 14px !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(178, 246, 207, .18) !important;
    background: rgba(255,255,255,.075) !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item.active {
    border-color: rgba(141, 240, 184, .35) !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(129, 245, 177, .18), transparent 56%),
      linear-gradient(145deg, rgba(34, 184, 101, .34), rgba(255,255,255,.055)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      0 8px 18px rgba(1, 28, 18, .18),
      0 0 0 1px rgba(52, 211, 123, .06) !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item.active::before {
    left: 4px !important;
    top: 11px !important;
    bottom: 11px !important;
    width: 2px !important;
    height: auto !important;
    border-radius: 999px !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item > i,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item > svg,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item > svg.lucide {
    position: static !important;
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item::after {
    content: attr(data-tooltip) !important;
    position: absolute !important;
    top: 50% !important;
    right: auto !important;
    left: calc(100% + 10px) !important;
    display: block !important;
    width: max-content !important;
    max-width: 230px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(191, 222, 207, .14) !important;
    border-radius: 9px !important;
    color: #f4fff9 !important;
    background: rgba(8, 31, 23, .97) !important;
    box-shadow: 0 12px 28px rgba(2, 23, 16, .28) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    transform: translate(-4px, -50%) !important;
    transition: opacity 140ms ease, transform 140ms ease !important;
    pointer-events: none !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item:hover::after,
  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar .nav-item:focus-visible::after {
    opacity: 1 !important;
    transform: translate(0, -50%) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded > .sidebar {
    padding: 11px 10px 10px !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand {
    position: relative !important;
    display: flex !important;
    min-height: 96px !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 7px 5px 15px !important;
    gap: 0 !important;
    border-bottom-color: rgba(213, 255, 231, .12) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand::after {
    content: "" !important;
    position: absolute !important;
    right: 5px !important;
    bottom: 0 !important;
    left: 5px !important;
    display: block !important;
    flex: none !important;
    width: auto !important;
    height: 1px !important;
    margin: 0 !important;
    background:
      linear-gradient(90deg, transparent, rgba(174, 244, 205, .28) 18%, rgba(255, 255, 255, .11) 82%, transparent) !important;
    box-shadow: 0 0 14px rgba(52, 211, 123, .08) !important;
    pointer-events: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand-mark {
    display: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand-lockup {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand-wordmark {
    display: block !important;
    width: min(222px, 100%) !important;
    max-width: 222px !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .brand-lockup span {
    display: block !important;
    width: 100% !important;
    max-width: 222px !important;
    height: auto !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: rgba(226, 255, 238, .7) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar > .workspace-switch {
    display: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar > .nav {
    padding: 7px 0 6px !important;
    gap: 7px !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-group {
    display: grid !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    gap: 2px !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-group + .nav-group {
    padding-top: 7px !important;
    border-top: 1px solid rgba(220, 252, 231, .08) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-title {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 3px 11px 5px !important;
    padding: 0 !important;
    overflow: visible !important;
    color: rgba(224, 255, 237, .46) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 8.5px !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item {
    width: calc(100% - 10px) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 2px 5px !important;
    padding: 0 12px !important;
    gap: 11px !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(222, 255, 235, .11) !important;
    background: rgba(255,255,255,.07) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item.active {
    border-color: rgba(143, 239, 185, .29) !important;
    background:
      linear-gradient(100deg, rgba(35, 190, 105, .29), rgba(255,255,255,.062)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.085),
      0 8px 20px rgba(1, 28, 18, .12) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item.active::before {
    left: 4px !important;
    top: 11px !important;
    bottom: 11px !important;
    width: 2px !important;
    height: auto !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item > i,
  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item > svg,
  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item > svg.lucide {
    position: static !important;
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item > span {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-item::after {
    display: none !important;
  }

  body.gfl-modern-desktop-v3 .sidebar .nav-version-badge {
    border-color: rgba(194, 242, 214, .13) !important;
    color: rgba(219, 252, 233, .68) !important;
    background: rgba(0, 27, 19, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar .nav-version-badge {
    width: calc(100% - 12px) !important;
    margin: 7px 6px 0 !important;
    font-size: 10px !important;
  }

  body.gfl-modern-desktop-v3 .sidebar > .side-status {
    position: relative !important;
    z-index: 4 !important;
    color: rgba(221, 250, 234, .58) !important;
    border-color: rgba(220, 252, 231, .085) !important;
    background: rgba(0, 24, 17, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  }

  body.gfl-modern-desktop-v3 .shell:not(.nav-expanded) .sidebar > .side-status {
    width: 46px !important;
    min-height: 34px !important;
    margin: 4px auto 0 !important;
    padding: 9px 0 !important;
    justify-items: center !important;
  }

  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar > .side-status {
    width: calc(100% - 10px) !important;
    min-height: 38px !important;
    margin: 4px 5px 0 !important;
    padding: 8px 10px !important;
  }

  body.gfl-modern-desktop-v3 .sidebar > .nav-collapser {
    position: absolute !important;
    top: 19px !important;
    right: -10px !important;
    z-index: 8 !important;
    width: 23px !important;
    min-width: 23px !important;
    height: 23px !important;
    min-height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid var(--modern-canvas) !important;
    border-radius: 999px !important;
    color: #f0fff7 !important;
    background:
      linear-gradient(145deg, #0ba15a, #07683f) !important;
    box-shadow:
      0 5px 13px rgba(3, 34, 24, .27),
      inset 0 1px 0 rgba(255,255,255,.22) !important;
    opacity: 0 !important;
    transform: scale(.88) !important;
    transition: opacity 140ms ease, transform 140ms ease, filter 140ms ease !important;
  }

  body.gfl-modern-desktop-v3 .sidebar:hover > .nav-collapser,
  body.gfl-modern-desktop-v3 .shell.nav-expanded .sidebar > .nav-collapser,
  body.gfl-modern-desktop-v3 .sidebar > .nav-collapser:focus-visible {
    opacity: 1 !important;
    transform: scale(1) !important;
    pointer-events: auto !important;
  }

  body.gfl-modern-desktop-v3 .sidebar > .nav-collapser:hover {
    filter: brightness(1.08) !important;
    transform: scale(1.06) !important;
  }

  body.gfl-modern-desktop-v3 .sidebar > .nav-collapser svg {
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
  }

  /*
   * A neve segue acumulando durante o dia, mas vira uma textura translúcida.
   * Assim o ritual temático permanece sem transformar o rail em uma faixa
   * branca nem obrigar a navegação a trocar de contraste.
   */
  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar > .gfl-theme-snowbank {
    z-index: 2 !important;
    opacity: .31 !important;
    filter: saturate(.78) contrast(.94) !important;
  }

  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar > .gfl-theme-sidebar-snowfall {
    z-index: 3 !important;
    opacity: .56 !important;
  }

  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .gfl-theme-snow-covered,
  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .gfl-theme-snow-covered :is(span, label, select),
  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .nav-item.gfl-theme-snow-covered {
    color: rgba(240, 255, 247, .88) !important;
    text-shadow: 0 1px 2px rgba(1, 28, 18, .38) !important;
  }

  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .brand.gfl-theme-snow-covered .brand-wordmark {
    filter: drop-shadow(0 2px 6px rgba(1, 28, 18, .28)) !important;
  }

  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .nav-item.gfl-theme-snow-covered:hover {
    border-color: rgba(222, 255, 235, .12) !important;
    background: rgba(255,255,255,.075) !important;
  }

  body.gfl-modern-desktop-v3[data-app-theme="natal"] .sidebar .nav-item.gfl-theme-snow-covered.active {
    color: #fff !important;
    border-color: rgba(143, 239, 185, .31) !important;
    background: linear-gradient(100deg, rgba(35, 190, 105, .31), rgba(255,255,255,.065)) !important;
  }
}

/* ---------- Navegacao superior ---------- */

body.gfl-modern-desktop-v3 .top-view-tabs {
  min-height: 52px !important;
  padding: 7px 14px !important;
  gap: 8px !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--modern-line) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 5px 18px rgba(17, 39, 29, .035) !important;
  backdrop-filter: none !important;
  scrollbar-width: none !important;
}

body.gfl-modern-desktop-v3 .top-view-tabs::-webkit-scrollbar {
  display: none !important;
}

body.gfl-modern-desktop-v3 .top-tab-group {
  min-height: 38px !important;
  padding: 3px !important;
  gap: 2px !important;
  border: 1px solid var(--modern-line) !important;
  border-radius: 12px !important;
  background: var(--modern-surface-soft) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.gfl-modern-desktop-v3 .top-tab-label {
  padding: 0 7px !important;
  border-right-color: var(--modern-line) !important;
  color: var(--modern-ink-500) !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
}

body.gfl-modern-desktop-v3 .top-tab {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  gap: 6px !important;
  border-radius: 8px !important;
  color: var(--modern-ink-700) !important;
  font-size: 12px !important;
  font-weight: 680 !important;
  transition:
    color var(--modern-fast) ease,
    background var(--modern-fast) ease,
    box-shadow var(--modern-fast) ease !important;
}

body.gfl-modern-desktop-v3 .top-tab i,
body.gfl-modern-desktop-v3 .top-tab svg {
  width: 15px !important;
  height: 15px !important;
  opacity: .78 !important;
  stroke-width: 2 !important;
}

body.gfl-modern-desktop-v3 .top-tab:hover {
  transform: none !important;
  color: var(--modern-brand-800) !important;
  border-color: transparent !important;
  background: #ebf8f1 !important;
  box-shadow: none !important;
}

body.gfl-modern-desktop-v3 .top-tab.active {
  color: var(--modern-brand-900) !important;
  border-color: #b7e8cc !important;
  background: #e2f7eb !important;
  box-shadow: 0 1px 2px rgba(8, 79, 46, .06) !important;
}

body.gfl-modern-desktop-v3 .top-tab.active::after {
  left: 10px !important;
  right: 10px !important;
  bottom: 2px !important;
  height: 2px !important;
  background: var(--modern-brand-600) !important;
}

/* ---------- Area de trabalho ---------- */

body.gfl-modern-desktop-v3 .main {
  background: transparent !important;
}

body.gfl-modern-desktop-v3 .content {
  gap: 14px !important;
  padding: 14px 16px 20px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(18, 174, 96, .04), transparent 25%),
    var(--modern-canvas) !important;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

body.gfl-modern-desktop-v3 .statusline {
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 11px !important;
  gap: 8px !important;
  border: 1px solid #cfe0d8 !important;
  border-radius: 10px !important;
  color: var(--modern-ink-600) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: none !important;
  font-size: 11px !important;
}

body.gfl-modern-desktop-v3 .statusline:empty {
  display: none !important;
}

body.gfl-modern-desktop-v3 .view.active {
  min-width: 0 !important;
  gap: 14px !important;
  animation: modernViewIn 180ms var(--modern-ease) both !important;
}

body.gfl-modern-desktop-v3 .view.active > * {
  animation: none !important;
}

@keyframes modernViewIn {
  from { opacity: .45; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- Superficies e hierarquia ---------- */

body.gfl-modern-desktop-v3 :where(.module, .metric, .record, .ribbon-card, .auto-card, .summary-card, .panel, .card) {
  border-color: var(--modern-line) !important;
  background-color: var(--modern-surface) !important;
  box-shadow: var(--modern-shadow-xs) !important;
}

body.gfl-modern-desktop-v3 :where(.module, .summary-card, .panel) {
  border-radius: var(--modern-radius-md) !important;
  overflow: clip;
}

body.gfl-modern-desktop-v3 :where(.module, .record, .metric, .ribbon-card, .auto-card):hover {
  transform: none !important;
  box-shadow: var(--modern-shadow-sm) !important;
}

body.gfl-modern-desktop-v3 .module::after,
body.gfl-modern-desktop-v3 .record::after,
body.gfl-modern-desktop-v3 .metric::before {
  display: none !important;
}

body.gfl-modern-desktop-v3 .module-head {
  min-height: 52px !important;
  padding: 11px 14px !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--modern-line) !important;
  background: var(--modern-surface-soft) !important;
}

body.gfl-modern-desktop-v3 .module-title {
  gap: 10px !important;
}

body.gfl-modern-desktop-v3 .module-title > i,
body.gfl-modern-desktop-v3 .module-title > svg,
body.gfl-modern-desktop-v3 .module-title > .icon {
  width: 34px !important;
  height: 34px !important;
  padding: 8px !important;
  border: 1px solid #ccebd9 !important;
  border-radius: 10px !important;
  color: var(--modern-brand-700) !important;
  background: var(--modern-brand-50) !important;
}

body.gfl-modern-desktop-v3 .module-title strong {
  color: var(--modern-ink-900) !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  letter-spacing: -.012em !important;
}

body.gfl-modern-desktop-v3 .module-title span {
  margin-top: 2px !important;
  color: var(--modern-ink-500) !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}

body.gfl-modern-desktop-v3 .module-body {
  padding: 14px !important;
}

body.gfl-modern-desktop-v3 .metric {
  min-height: 94px !important;
  padding: 13px 14px !important;
  border-radius: 13px !important;
}

body.gfl-modern-desktop-v3 .metric label,
body.gfl-modern-desktop-v3 .metric small {
  color: var(--modern-ink-500) !important;
  font-size: 9px !important;
  font-weight: 790 !important;
  letter-spacing: .055em !important;
}

body.gfl-modern-desktop-v3 .metric strong {
  margin: 6px 0 3px !important;
  color: var(--modern-ink-950) !important;
  font-size: clamp(20px, 1.45vw, 26px) !important;
  font-weight: 760 !important;
  letter-spacing: -.035em !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
}

body.gfl-modern-desktop-v3 .metric span {
  color: var(--modern-ink-500) !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}

body.gfl-modern-desktop-v3 .record {
  padding: 12px 13px !important;
  border-radius: 12px !important;
}

body.gfl-modern-desktop-v3 .record-head {
  gap: 10px !important;
}

body.gfl-modern-desktop-v3 .record strong {
  color: var(--modern-ink-900) !important;
  font-size: 12.5px !important;
  font-weight: 720 !important;
}

body.gfl-modern-desktop-v3 .record p {
  color: var(--modern-ink-500) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

/* ---------- Botoes, campos e controles ---------- */

body.gfl-modern-desktop-v3 :where(
  button.primary, a.button.primary, .primary,
  button.ghost, a.button.ghost, .ghost,
  button.button, a.button, button.btn, a.btn,
  button.blue, button.warn, button.danger
) {
  min-height: 34px !important;
  padding: 6px 12px !important;
  gap: 7px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  font-weight: 680 !important;
  letter-spacing: -.006em !important;
  line-height: 1.15 !important;
  box-shadow: none !important;
  transition:
    transform var(--modern-fast) ease,
    background var(--modern-fast) ease,
    border-color var(--modern-fast) ease,
    box-shadow var(--modern-fast) ease !important;
}

body.gfl-modern-desktop-v3 :where(button.primary, a.button.primary, .primary) {
  border-color: var(--modern-brand-700) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #0b9e57, #087945) !important;
  box-shadow: 0 3px 8px rgba(8, 122, 71, .16) !important;
}

body.gfl-modern-desktop-v3 :where(button.primary, a.button.primary, .primary):hover {
  transform: translateY(-1px) !important;
  border-color: var(--modern-brand-800) !important;
  background: linear-gradient(180deg, #0a8f50, #076d3f) !important;
  box-shadow: 0 7px 14px rgba(8, 122, 71, .18) !important;
}

body.gfl-modern-desktop-v3 :where(button.ghost, a.button.ghost, .ghost, button.button, a.button, button.btn, a.btn) {
  border-color: var(--modern-line-strong) !important;
  color: var(--modern-ink-700) !important;
  background: #fff !important;
}

body.gfl-modern-desktop-v3 :where(button.ghost, a.button.ghost, .ghost, button.button, a.button, button.btn, a.btn):hover {
  transform: none !important;
  border-color: #a9c5b8 !important;
  color: var(--modern-brand-800) !important;
  background: var(--modern-brand-50) !important;
  box-shadow: 0 4px 10px rgba(17, 39, 29, .06) !important;
}

body.gfl-modern-desktop-v3 button.danger {
  border-color: #f1b8c2 !important;
  color: #b42336 !important;
  background: #fff5f6 !important;
}

body.gfl-modern-desktop-v3 button.warn {
  border-color: #f0d39b !important;
  color: #9c5a0a !important;
  background: #fff9ed !important;
}

body.gfl-modern-desktop-v3 :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--modern-focus) !important;
  outline-offset: 1px !important;
}

body.gfl-modern-desktop-v3 :where(button, a.button, .button, .btn):disabled,
body.gfl-modern-desktop-v3 :where(button, a.button, .button, .btn)[aria-disabled="true"] {
  transform: none !important;
  opacity: .52 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

body.gfl-modern-desktop-v3 :where(.field, .form-field) label,
body.gfl-modern-desktop-v3 :where(label.field-label, .control-label) {
  margin-bottom: 5px !important;
  color: var(--modern-ink-600) !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  letter-spacing: .015em !important;
}

body.gfl-modern-desktop-v3 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select,
  textarea
) {
  min-height: 38px;
  border: 1px solid var(--modern-line-strong) !important;
  border-radius: 9px !important;
  color: var(--modern-ink-900) !important;
  background-color: #fff !important;
  box-shadow: 0 1px 1px rgba(17,39,29,.02) inset !important;
  font: inherit !important;
  font-size: 12.5px !important;
  transition:
    border-color var(--modern-fast) ease,
    box-shadow var(--modern-fast) ease,
    background var(--modern-fast) ease !important;
}

body.gfl-modern-desktop-v3 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select
) {
  height: 38px;
  padding: 7px 10px !important;
}

body.gfl-modern-desktop-v3 textarea {
  min-height: 88px;
  padding: 10px !important;
  line-height: 1.45 !important;
}

body.gfl-modern-desktop-v3 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select,
  textarea
):hover {
  border-color: #aac2b7 !important;
}

body.gfl-modern-desktop-v3 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select,
  textarea
):focus {
  border-color: var(--modern-brand-500) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px var(--modern-focus) !important;
}

body.gfl-modern-desktop-v3 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  textarea
)::placeholder {
  color: #93a29b !important;
  opacity: 1 !important;
}

body.gfl-modern-desktop-v3 :where(.toolbar, .filters, .filter-bar, .finance-toolbar) {
  gap: 9px 10px !important;
}

/* ---------- Tabelas e dados densos ---------- */

body.gfl-modern-desktop-v3 :where(.table-wrap, .notes-table-wrap, .spreadsheet-table-wrap) {
  border: 1px solid var(--modern-line) !important;
  border-radius: 11px !important;
  background: #fff !important;
  scrollbar-color: #a9c8ba #edf3f0 !important;
  scrollbar-width: thin !important;
}

body.gfl-modern-desktop-v3 table {
  color: var(--modern-ink-800);
  font-size: 11.5px !important;
  border-collapse: separate;
  border-spacing: 0;
}

body.gfl-modern-desktop-v3 table th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 38px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--modern-line-strong) !important;
  color: var(--modern-ink-600) !important;
  background: #f3f7f5 !important;
  font-size: 9.5px !important;
  font-weight: 790 !important;
  letter-spacing: .045em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.gfl-modern-desktop-v3 table td {
  height: 42px !important;
  padding: 8px 10px !important;
  border-bottom-color: #e7eeea !important;
  color: var(--modern-ink-700) !important;
  line-height: 1.32 !important;
  vertical-align: middle !important;
}

body.gfl-modern-desktop-v3 table tbody tr {
  background: #fff;
}

body.gfl-modern-desktop-v3 table tbody tr:nth-child(even) {
  background: #fbfdfc;
}

body.gfl-modern-desktop-v3 table tbody tr:hover > td {
  background: #f0faf5 !important;
}

body.gfl-modern-desktop-v3 table :where(.money, [data-money], .numeric, .number) {
  font-variant-numeric: tabular-nums;
}

body.gfl-modern-desktop-v3 :where(.table-wrap, .notes-table-wrap, .spreadsheet-table-wrap)::-webkit-scrollbar {
  width: 10px !important;
  height: 10px !important;
}

body.gfl-modern-desktop-v3 :where(.table-wrap, .notes-table-wrap, .spreadsheet-table-wrap)::-webkit-scrollbar-track {
  border-radius: 999px !important;
  background: #edf3f0 !important;
}

body.gfl-modern-desktop-v3 :where(.table-wrap, .notes-table-wrap, .spreadsheet-table-wrap)::-webkit-scrollbar-thumb {
  border: 2px solid #edf3f0 !important;
  border-radius: 999px !important;
  background: #9fc2b2 !important;
}

/* ---------- Abas internas, chips e estados ---------- */

body.gfl-modern-desktop-v3 :where(.folder-strip, .tabs, .subtabs, .segmented, .director-tabs, #dpPortalTabs) {
  gap: 5px !important;
  padding: 4px !important;
  border: 1px solid var(--modern-line) !important;
  border-radius: 11px !important;
  background: var(--modern-surface-soft) !important;
  box-shadow: none !important;
}

body.gfl-modern-desktop-v3 :where(.folder-chip, .tab-btn, .subtab, .segment-btn, .director-tab) {
  min-height: 32px !important;
  padding: 6px 11px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: var(--modern-ink-600) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 11.5px !important;
  font-weight: 670 !important;
}

body.gfl-modern-desktop-v3 :where(.folder-chip, .tab-btn, .subtab, .segment-btn, .director-tab):hover {
  color: var(--modern-brand-800) !important;
  background: #edf8f2 !important;
}

body.gfl-modern-desktop-v3 :where(.folder-chip.active, .tab-btn.active, .subtab.active, .segment-btn.active, .director-tab.active, [aria-selected="true"]) {
  border-color: #b9e6cd !important;
  color: var(--modern-brand-900) !important;
  background: #e3f7ec !important;
  box-shadow: var(--modern-shadow-xs) !important;
}

body.gfl-modern-desktop-v3 :where(.badge, .pill, .role-tag, .status-pill, .tag, .chip) {
  border-radius: 999px !important;
  font-size: 9.5px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  letter-spacing: .012em !important;
}

body.gfl-modern-desktop-v3 :where(.empty, .empty-state, .no-data) {
  min-height: 124px;
  padding: 24px !important;
  border: 1px dashed #c8d8d0 !important;
  border-radius: 12px !important;
  color: var(--modern-ink-500) !important;
  background: #fbfdfc !important;
}

/* ---------- Modais e paineis sobrepostos ---------- */

body.gfl-modern-desktop-v3 .modal {
  padding: clamp(14px, 2vw, 28px) !important;
  background: rgba(13, 29, 21, .48) !important;
  backdrop-filter: blur(5px) saturate(.9) !important;
  -webkit-backdrop-filter: blur(5px) saturate(.9) !important;
}

body.gfl-modern-desktop-v3 .modal.open {
  animation: modernBackdropIn 150ms ease both !important;
}

body.gfl-modern-desktop-v3 .dialog {
  width: min(1060px, calc(100vw - 42px)) !important;
  max-height: min(88vh, 900px) !important;
  border: 1px solid rgba(188, 205, 197, .96) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 34px 90px rgba(8, 35, 24, .27) !important;
  animation: modernDialogIn 180ms var(--modern-ease) both !important;
  overflow: hidden !important;
}

body.gfl-modern-desktop-v3 .dialog.modal-wide,
body.gfl-modern-desktop-v3 .dialog:has(.dp-detail-shell),
body.gfl-modern-desktop-v3 .dialog:has(.sped-segunda-detail-shell) {
  width: min(1450px, calc(100vw - 30px)) !important;
  max-height: calc(100dvh - 76px) !important;
}

body.gfl-modern-desktop-v3 .dialog > .module-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 8 !important;
  min-height: 58px !important;
  padding: 12px 15px !important;
  border-bottom: 1px solid var(--modern-line) !important;
  background: rgba(249,252,250,.98) !important;
  backdrop-filter: blur(12px) !important;
}

body.gfl-modern-desktop-v3 .dialog > #modalBody,
body.gfl-modern-desktop-v3 .dialog > .modal-body {
  padding: 15px !important;
  background: #fff !important;
  scrollbar-gutter: stable;
}

body.gfl-modern-desktop-v3 :where(.modal-footer, .dialog-footer) {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 7 !important;
  min-height: 58px !important;
  padding: 10px 14px !important;
  border-top: 1px solid var(--modern-line) !important;
  background: rgba(249,252,250,.98) !important;
  backdrop-filter: blur(12px) !important;
}

@keyframes modernBackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modernDialogIn {
  from { opacity: 0; transform: translateY(8px) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---------- Dashboard, importacao, DP e monitor ---------- */

body.gfl-modern-desktop-v3 .central-beta-home {
  gap: 12px !important;
}

body.gfl-modern-desktop-v3 .central-beta-hero,
body.gfl-modern-desktop-v3 .import-beta-hero,
body.gfl-modern-desktop-v3 .dp-hero,
body.gfl-modern-desktop-v3 .monitor-fiscal-hero {
  border: 1px solid rgba(9, 119, 68, .18) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(8, 90, 50, .11) !important;
}

body.gfl-modern-desktop-v3 .central-beta-hero {
  min-height: 154px !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(110, 238, 164, .2), transparent 29%),
    linear-gradient(112deg, #06613c, #078d4b 70%, #0ba85a) !important;
}

body.gfl-modern-desktop-v3 .central-beta-hero h1 {
  font-size: clamp(25px, 2.1vw, 34px) !important;
  font-weight: 720 !important;
  letter-spacing: -.04em !important;
}

body.gfl-modern-desktop-v3 .central-beta-shortcuts > *,
body.gfl-modern-desktop-v3 .central-beta-kpis > * {
  border-radius: 12px !important;
}

body.gfl-modern-desktop-v3 .import-beta-home,
body.gfl-modern-desktop-v3 .dp-workspace,
body.gfl-modern-desktop-v3 .monitor-fiscal-shell,
body.gfl-modern-desktop-v3 .director-operations-shell {
  color: var(--modern-ink-900) !important;
}

body.gfl-modern-desktop-v3 .operation-overlay {
  align-items: flex-end !important;
  justify-content: flex-end !important;
  padding: 0 18px 18px 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

body.gfl-modern-desktop-v3 .operation-panel {
  width: min(500px, calc(100vw - 34px)) !important;
  max-height: min(62vh, 520px) !important;
  pointer-events: auto !important;
  border: 1px solid #b8d8c8 !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 22px 64px rgba(8, 50, 31, .22) !important;
}

body.gfl-modern-desktop-v3 .operation-head {
  min-height: 58px !important;
  padding: 10px 12px !important;
  border-radius: 15px 15px 0 0 !important;
}

body.gfl-modern-desktop-v3 .operation-voyage {
  min-height: 92px !important;
  border-radius: 11px !important;
  overflow: hidden !important;
}

body.gfl-modern-desktop-v3 :where(.monitor-fiscal-shell, .director-operations-shell) .metric {
  min-height: 86px !important;
}

body.gfl-modern-desktop-v3 #dpEntregas .record {
  padding: 13px 14px 13px 18px !important;
  border-radius: 12px !important;
}

/* ---------- Laercinho e feedback ---------- */

body.gfl-modern-desktop-v3 :where(.chat-launch, .laercinho-launch, .laercinho-companion-v2) {
  border-color: rgba(156, 192, 175, .75) !important;
  box-shadow: 0 12px 30px rgba(8, 58, 35, .13) !important;
}

body.gfl-modern-desktop-v3 :where(.chat-panel, .laercio-chat-panel) {
  border: 1px solid #bfd2c9 !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 28px 78px rgba(8, 42, 27, .23) !important;
  backdrop-filter: blur(16px) !important;
}

body.gfl-modern-desktop-v3 :where(.toast, .notification, .alert, .notice) {
  border-radius: 11px !important;
  box-shadow: var(--modern-shadow-sm) !important;
}

/* ---------- Scrollbars globais ---------- */

body.gfl-modern-desktop-v3 * {
  scrollbar-width: thin;
  scrollbar-color: #9ebeb0 transparent;
}

body.gfl-modern-desktop-v3 *::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

body.gfl-modern-desktop-v3 *::-webkit-scrollbar-track {
  background: transparent;
}

body.gfl-modern-desktop-v3 *::-webkit-scrollbar-thumb {
  min-height: 38px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: #a3c2b4;
  background-clip: padding-box;
}

body.gfl-modern-desktop-v3 *::-webkit-scrollbar-thumb:hover {
  background: #739c89;
  background-clip: padding-box;
}

/* ---------- Movimento seletivo (o modo de desempenho bloqueia animacoes globais) ---------- */

body.gfl-modern-desktop-v3.gfl-desktop-performance :where(
  .top-tab,
  .nav-item,
  button,
  a.button,
  input,
  select,
  textarea,
  .module,
  .record,
  .metric,
  .gfl-beta-company-shell,
  .gfl-beta-company-picker,
  .gfl-beta-quick-pop,
  .gfl-beta-user-pop
) {
  transition:
    color var(--modern-fast) ease,
    background-color var(--modern-fast) ease,
    border-color var(--modern-fast) ease,
    box-shadow var(--modern-fast) ease,
    opacity var(--modern-fast) ease,
    transform var(--modern-fast) ease !important;
}

body.gfl-modern-desktop-v3.gfl-desktop-performance .view.active {
  animation: modernViewIn 180ms var(--modern-ease) both !important;
}

body.gfl-modern-desktop-v3.gfl-desktop-performance .modal.open {
  animation: modernBackdropIn 150ms ease both !important;
}

body.gfl-modern-desktop-v3.gfl-desktop-performance .dialog {
  animation: modernDialogIn 180ms var(--modern-ease) both !important;
}

/* ---------- Adaptacao por largura ---------- */

@media (max-width: 1460px) {
  body.gfl-modern-desktop-v3 {
    --rail-w: 68px;
    --rail-expanded-w: 246px;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-titlebar {
    grid-template-columns: minmax(182px, .62fr) minmax(330px, 1.8fr) auto minmax(138px, .5fr) !important;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-title-context {
    grid-template-columns: minmax(120px, 160px) minmax(0, 1fr) !important;
  }

  body.gfl-modern-desktop-v3 .content {
    padding-inline: 13px !important;
  }

  body.gfl-modern-desktop-v3 .top-tab {
    padding-inline: 8px !important;
    font-size: 11.5px !important;
  }
}

@media (max-width: 1180px) {
  body.gfl-modern-desktop-v3 .gfl-beta-titlebar {
    grid-template-columns: minmax(170px, 188px) minmax(300px, 1fr) auto 48px !important;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-user-copy,
  body.gfl-modern-desktop-v3 .gfl-beta-user-btn .gfl-beta-caret,
  body.gfl-modern-desktop-v3 .top-tab-label {
    display: none !important;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-user-btn {
    width: 38px !important;
    padding: 3px !important;
  }

  body.gfl-modern-desktop-v3 .module-grid,
  body.gfl-modern-desktop-v3 .module-grid.equal,
  body.gfl-modern-desktop-v3 .module-grid.three {
    grid-template-columns: 1fr !important;
  }
}

@media (max-height: 760px) and (min-width: 901px) {
  body.gfl-modern-desktop-v3 {
    --gfl-beta-titlebar-h: 44px;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-titlebar {
    padding-block: 4px !important;
  }

  body.gfl-modern-desktop-v3 .gfl-beta-window-controls {
    height: 44px !important;
    padding-block: 4px !important;
  }

  body.gfl-modern-desktop-v3 .top-view-tabs {
    min-height: 47px !important;
    padding-block: 5px !important;
  }

  body.gfl-modern-desktop-v3 .content {
    padding-block: 11px 14px !important;
    gap: 11px !important;
  }

  body.gfl-modern-desktop-v3 .metric {
    min-height: 82px !important;
    padding-block: 10px !important;
  }
}

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

/*
 * Beta Elegance v1
 *
 * Camada de acabamento homologada apenas no canal beta. O escopo duplo e
 * intencional: o oficial continua usando o desktop moderno v3 sem receber
 * qualquer uma destas alteracoes enquanto o refinamento esta em avaliacao.
 */

html.gfl-beta-elegance-root {
  background: #eaf1ed;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 {
  --modern-line: #cedbd5;
  --modern-line-strong: #b9cbc2;
  --modern-canvas: #edf3f0;
  --modern-surface-soft: #f6faf8;
  --modern-shadow-xs: 0 1px 2px rgba(11, 43, 29, .045), 0 0 0 1px rgba(255, 255, 255, .5) inset;
  --modern-shadow-sm: 0 8px 22px rgba(9, 49, 31, .075), 0 1px 2px rgba(9, 49, 31, .04);
  --modern-shadow-md: 0 18px 44px rgba(8, 44, 29, .105), 0 2px 6px rgba(8, 44, 29, .035);
  --modern-shadow-lg: 0 34px 92px rgba(5, 37, 24, .24), 0 8px 24px rgba(5, 37, 24, .09);
  --modern-radius-sm: 12px;
  --modern-radius-md: 15px;
  --modern-radius-lg: 19px;
  color: #18261f;
  background:
    radial-gradient(ellipse at 89% -11%, rgba(29, 184, 102, .095), transparent 34%),
    radial-gradient(ellipse at 8% 108%, rgba(9, 96, 59, .045), transparent 31%),
    linear-gradient(145deg, #f1f6f3 0%, #eaf1ee 100%) !important;
  font-size: 14.2px;
  letter-spacing: -.003em;
}

/* Moldura com profundidade controlada, sem aumentar a altura util da tela. */
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .gfl-beta-titlebar {
  --gfl-beta-titlebar-h: 50px;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  border-bottom-color: rgba(189, 247, 216, .24) !important;
  background:
    linear-gradient(108deg, #052f24 0%, #075f3e 44%, #075438 72%, #063629 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .095),
    inset 0 -1px 0 rgba(3, 24, 17, .28),
    0 12px 30px rgba(3, 39, 25, .20) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .gfl-beta-titlebar::before {
  opacity: .78 !important;
  background:
    radial-gradient(ellipse at 52% -135%, rgba(114, 244, 170, .34), transparent 51%),
    linear-gradient(112deg, transparent 13%, rgba(255,255,255,.055) 42%, transparent 67%),
    repeating-linear-gradient(90deg, transparent 0 22px, rgba(255,255,255,.009) 22px 23px) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(
  .gfl-beta-collapse,
  .gfl-beta-page-context,
  .gfl-beta-company-shell,
  .gfl-beta-title-actions button,
  .gfl-beta-user-btn
) {
  border-color: rgba(210, 252, 228, .22) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.065)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 3px 10px rgba(0, 24, 15, .10) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(
  .gfl-beta-collapse,
  .gfl-beta-company-shell,
  .gfl-beta-title-actions button,
  .gfl-beta-user-btn
):hover {
  border-color: rgba(213, 255, 231, .42) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.19), rgba(255,255,255,.10)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 5px 14px rgba(0, 24, 15, .15) !important;
}

/* Navegacao: materiais mais nobres, mantendo o rail alinhado e escuro. */
@media (min-width: 901px) {
  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .shell > .sidebar {
    border-right-color: rgba(181, 235, 205, .16) !important;
    background:
      radial-gradient(ellipse at 12% -8%, rgba(87, 234, 151, .24), transparent 29%),
      radial-gradient(ellipse at 126% 56%, rgba(19, 132, 78, .16), transparent 38%),
      linear-gradient(180deg, #06392e 0%, #074737 48%, #052b24 100%) !important;
    box-shadow:
      17px 0 42px rgba(3, 35, 24, .13),
      inset -1px 0 0 rgba(255,255,255,.045) !important;
  }

  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .shell > .sidebar::before {
    background:
      linear-gradient(118deg, rgba(255,255,255,.065), transparent 19% 67%, rgba(131,244,181,.035)),
      repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 1px, transparent 1px 5px) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      inset -1px 0 0 rgba(185,235,207,.065) !important;
  }

  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .shell.nav-expanded .sidebar .brand-wordmark {
    filter: drop-shadow(0 4px 10px rgba(0, 21, 13, .18)) brightness(1.045);
  }

  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .sidebar .nav-item {
    transition:
      color 150ms ease,
      border-color 150ms ease,
      background 150ms ease,
      box-shadow 150ms ease,
      transform 150ms var(--modern-ease) !important;
  }

  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .sidebar .nav-item:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(205, 251, 225, .14) !important;
    background: linear-gradient(100deg, rgba(255,255,255,.09), rgba(255,255,255,.05)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
  }

  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .sidebar .nav-item.active {
    border-color: rgba(145, 244, 189, .37) !important;
    background:
      radial-gradient(circle at 25% 0%, rgba(132, 246, 181, .15), transparent 49%),
      linear-gradient(102deg, rgba(24, 184, 98, .38), rgba(255,255,255,.075)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.13),
      inset 0 -1px 0 rgba(0, 33, 20, .08),
      0 9px 22px rgba(0, 28, 17, .17),
      0 0 18px rgba(52, 211, 123, .055) !important;
  }
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .top-view-tabs {
  min-height: 54px !important;
  padding: 7px 15px 8px !important;
  border-bottom-color: #cbd9d2 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(249,252,250,.965)) !important;
  box-shadow:
    inset 0 1px 0 #fff,
    0 7px 22px rgba(9, 45, 29, .055) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .top-tab-group {
  border-color: #d0dcd6 !important;
  background: linear-gradient(180deg, #f7faf8, #f0f5f2) !important;
  box-shadow:
    inset 0 1px 2px rgba(9, 42, 27, .025),
    0 1px 0 rgba(255,255,255,.9) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .top-tab {
  font-weight: 700 !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .top-tab:hover {
  color: #075a38 !important;
  background: linear-gradient(180deg, #f0fbf5, #e8f6ee) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .top-tab.active {
  border-color: #a9dfc0 !important;
  color: #06482f !important;
  background:
    radial-gradient(circle at 50% -70%, rgba(255,255,255,.92), transparent 65%),
    linear-gradient(180deg, #e8f9ef, #daf2e4) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 3px 8px rgba(8, 97, 55, .10) !important;
}

/* Area de trabalho e superficies. */
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .content {
  gap: 15px !important;
  background:
    radial-gradient(ellipse at 91% -3%, rgba(19, 174, 91, .065), transparent 29%),
    radial-gradient(ellipse at 11% 104%, rgba(8, 100, 59, .035), transparent 30%),
    linear-gradient(145deg, #f1f6f3 0%, #eaf1ee 100%) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .view.active {
  gap: 15px !important;
  animation: betaEleganceViewIn 220ms var(--modern-ease) both !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.module, .metric, .record, .ribbon-card, .auto-card, .summary-card, .panel, .card) {
  border-color: #cedbd5 !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,1) 0%, rgba(251,253,252,1) 100%) !important;
  box-shadow: var(--modern-shadow-xs) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.module, .summary-card, .panel) {
  border-radius: 16px !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.record, .metric, .ribbon-card, .auto-card, .summary-card) {
  transition:
    border-color 170ms ease,
    box-shadow 170ms ease,
    transform 170ms var(--modern-ease) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.record, .metric, .ribbon-card, .auto-card, .summary-card):hover {
  transform: translateY(-1px) !important;
  border-color: #bdd2c8 !important;
  box-shadow: var(--modern-shadow-sm) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .module-head {
  border-bottom-color: #d6e2dc !important;
  background:
    linear-gradient(180deg, #fafcfb 0%, #f4f8f6 100%) !important;
  box-shadow: inset 0 1px 0 #fff !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .module-title > :where(i, svg, .icon) {
  border-color: #bfe5cf !important;
  color: #087547 !important;
  background:
    radial-gradient(circle at 38% 20%, rgba(255,255,255,.95), transparent 44%),
    linear-gradient(145deg, #e7f8ee, #d9f1e3) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 4px 10px rgba(8, 109, 61, .08) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .metric strong {
  color: #102018 !important;
  font-weight: 780 !important;
}

/* REINF: o acabamento elegante uniformiza os cards em branco. O card de valor
   total, porém, conserva texto branco por ser a métrica azul. Preserve o
   destaque e o contraste para que rótulo, valor e base nunca desapareçam. */
#fiscalCards .metric.blue {
  border-color: rgba(147, 197, 253, .78) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .30), transparent 43%),
    linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .30),
    0 10px 22px -16px rgba(29, 78, 216, .82) !important;
}

#fiscalCards .metric.blue :where(label, strong, span) {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(15, 23, 42, .30) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .statusline {
  border-color: #cbdcd3 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,249,.84)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 3px 10px rgba(9, 43, 28, .035) !important;
}

/* Controles com acabamento de produto, sem efeitos chamativos. */
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(button.primary, a.button.primary, .primary) {
  border-color: #077344 !important;
  background:
    linear-gradient(180deg, #12a961 0%, #087945 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(3, 50, 28, .16),
    0 5px 12px rgba(8, 122, 71, .18) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(button.primary, a.button.primary, .primary):hover {
  transform: translateY(-1px) !important;
  border-color: #05683c !important;
  background: linear-gradient(180deg, #11a15c, #076e40) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.23),
    0 9px 18px rgba(8, 111, 64, .22) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(button.ghost, a.button.ghost, .ghost, button.button, a.button, button.btn, a.btn) {
  border-color: #bdcdc5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9f7 100%) !important;
  box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(11, 43, 29, .035) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(button.ghost, a.button.ghost, .ghost, button.button, a.button, button.btn, a.btn):hover {
  border-color: #9fc2b1 !important;
  background: linear-gradient(180deg, #f6fcf8, #eaf7f0) !important;
  box-shadow: inset 0 1px 0 #fff, 0 5px 12px rgba(10, 75, 43, .08) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select,
  textarea
) {
  border-color: #b8cbc2 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%) !important;
  box-shadow:
    inset 0 1px 2px rgba(10, 42, 28, .025),
    0 1px 0 rgba(255,255,255,.9) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select,
  textarea
):focus {
  border-color: #16a560 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(18, 174, 96, .16), 0 5px 14px rgba(8, 85, 48, .06) !important;
}

/* Dados densos ganham separacao, sem perder capacidade de leitura. */
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.table-wrap, .notes-table-wrap, .spreadsheet-table-wrap) {
  border-color: #c7d6cf !important;
  border-radius: 13px !important;
  box-shadow: inset 0 1px 0 #fff, 0 3px 12px rgba(9, 43, 28, .035) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 table th {
  border-bottom-color: #c5d5cd !important;
  color: #50655b !important;
  background:
    linear-gradient(180deg, #f7faf8 0%, #edf3f0 100%) !important;
  box-shadow: inset 0 1px 0 #fff !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 table td {
  border-bottom-color: #e3ebe7 !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 table tbody tr:nth-child(even) {
  background: #fafcfb;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 table tbody tr:hover > td {
  background: linear-gradient(90deg, #f0faf5, #f5fbf8) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.folder-strip, .tabs, .subtabs, .segmented, .director-tabs, #dpPortalTabs) {
  border-color: #cad8d1 !important;
  background: linear-gradient(180deg, #f7faf8, #eef4f1) !important;
  box-shadow: inset 0 1px 2px rgba(10, 42, 28, .025), 0 1px 0 #fff !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.folder-chip.active, .tab-btn.active, .subtab.active, .segment-btn.active, .director-tab.active, [aria-selected="true"]) {
  border-color: #a7ddbe !important;
  background: linear-gradient(180deg, #eaf9f0, #ddf2e6) !important;
  box-shadow: inset 0 1px 0 #fff, 0 3px 8px rgba(8, 103, 58, .08) !important;
}

/* Modais: foco visual mais claro e acabamento consistente com o shell. */
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .modal {
  background: rgba(8, 27, 19, .50) !important;
  backdrop-filter: blur(7px) saturate(.92) !important;
  -webkit-backdrop-filter: blur(7px) saturate(.92) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .dialog {
  border-color: rgba(181, 201, 191, .98) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #ffffff, #fbfdfc) !important;
  box-shadow: var(--modern-shadow-lg) !important;
  animation: betaEleganceDialogIn 210ms var(--modern-ease) both !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .dialog > .module-head,
body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.modal-footer, .dialog-footer) {
  border-color: #d1ddd7 !important;
  background: linear-gradient(180deg, rgba(252,254,253,.985), rgba(245,249,247,.975)) !important;
  box-shadow: inset 0 1px 0 #fff !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.central-beta-hero, .import-beta-hero, .dp-hero, .monitor-fiscal-hero) {
  border-color: rgba(139, 226, 177, .25) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -1px 0 rgba(0, 54, 31, .13),
    0 16px 38px rgba(7, 88, 49, .14) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.chat-launch, .laercinho-launch, .laercinho-companion-v2) {
  border-color: rgba(132, 183, 158, .72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 15px 34px rgba(7, 67, 39, .17) !important;
}

body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 :where(.toast, .notification, .alert, .notice) {
  border-color: #c3d4cc !important;
  box-shadow: 0 12px 30px rgba(8, 46, 29, .12) !important;
}

@keyframes betaEleganceViewIn {
  from { opacity: .28; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes betaEleganceDialogIn {
  from { opacity: 0; transform: translateY(10px) scale(.988); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1460px) {
  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .content {
    gap: 12px !important;
  }
}

@media (max-height: 760px) and (min-width: 901px) {
  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .gfl-beta-titlebar {
    --gfl-beta-titlebar-h: 46px;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .view.active,
  body.gfl-modern-desktop-v3.gfl-beta-elegance-v1 .dialog {
    animation: none !important;
  }
}
