:root {
  --theme-bg: var(--bg-0, #f0f7ff);
  --theme-bg-soft: var(--bg-1, #e3edf7);
  --theme-surface: var(--surface, #ffffff);
  --theme-surface-soft: var(--surface-soft, #f8fbff);
  --theme-text: var(--text, #1a3a5c);
  --theme-muted: var(--muted, #5a7a9a);
  --theme-border: var(--border, #c8daf0);
  --theme-primary: var(--primary, #3b9eff);
  --theme-primary-strong: var(--primary-strong, #2070c7);
  --theme-sidebar-1: var(--sidebar-1, #e8f4ff);
  --theme-sidebar-2: var(--sidebar-2, #d4e8f8);
  --theme-radius: 18px;
  --theme-font: "Source Sans 3", "Segoe UI", sans-serif;
  --theme-shadow: 0 18px 45px rgba(31,111,235,.10);
  --theme-density: 1;
}

html[data-site-theme] body {
  color: var(--theme-text) !important;
  font-family: var(--theme-font) !important;
  background: linear-gradient(180deg, var(--theme-bg) 0%, var(--theme-bg-soft) 100%) !important;
}
html[data-site-theme] .sidebar {
  background: linear-gradient(180deg, var(--theme-sidebar-1), var(--theme-sidebar-2)) !important;
  border-color: var(--theme-border) !important;
}
html[data-site-theme] .topbar,
html[data-site-theme] .card,
html[data-site-theme] .panel,
html[data-site-theme] .modal-card,
html[data-site-theme] .ti-modal-card,
html[data-site-theme] .login-card,
html[data-site-theme] .report-card,
html[data-site-theme] .dashboard-card {
  background: var(--theme-surface) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
  border-radius: var(--theme-radius) !important;
  box-shadow: var(--theme-shadow) !important;
}
html[data-site-theme] .menu-item,
html[data-site-theme] .sidebar-home-link { border-radius: calc(var(--theme-radius) * .55) !important; }
html[data-site-theme] .menu-item:hover,
html[data-site-theme] .menu-item.active,
html[data-site-theme] .tab.active {
  background: color-mix(in srgb, var(--theme-primary) 16%, var(--theme-surface)) !important;
  color: var(--theme-primary-strong) !important;
}
html[data-site-theme] a:not(.btn-primary):not(.menu-item) { color: var(--theme-primary-strong); }
html[data-site-theme] input,
html[data-site-theme] select,
html[data-site-theme] textarea {
  background: var(--theme-surface) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
  border-radius: calc(var(--theme-radius) * .62) !important;
}
html[data-site-theme] .btn-primary,
html[data-site-theme] button.primary,
html[data-site-theme] .primary-button {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-strong)) !important;
  border-radius: calc(var(--theme-radius) * .62) !important;
}
html[data-site-theme] .btn-ghost,
html[data-site-theme] button:not(.btn-primary):not(.menu-item):not(.tab) {
  border-color: var(--theme-border);
}
html[data-site-theme] .muted,
html[data-site-theme] .hint { color: var(--theme-muted) !important; }
html[data-site-theme] .page-main { padding: calc(24px * var(--theme-density)) !important; }
html[data-site-theme] .card { padding: calc(24px * var(--theme-density)) !important; }
html[data-site-theme][data-theme-animations="off"] *,
html[data-site-theme][data-theme-animations="off"] *::before,
html[data-site-theme][data-theme-animations="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-site-theme][data-theme-sidebar="solid"] .sidebar { background: var(--theme-sidebar-1) !important; }
html[data-site-theme][data-theme-sidebar="glass"] .sidebar { background: color-mix(in srgb, var(--theme-sidebar-1) 78%, transparent) !important; backdrop-filter: blur(18px); }
html[data-site-theme][data-theme-sidebar="dark"] .sidebar { background: #111827 !important; color: #f8fafc !important; }
html[data-site-theme][data-theme-sidebar="dark"] .sidebar .menu-item,
html[data-site-theme][data-theme-sidebar="dark"] .sidebar-home-link { color: #f8fafc !important; }

html[data-site-theme="paytrack"] { --theme-bg:#f0f7ff;--theme-bg-soft:#e3edf7;--theme-surface:#fff;--theme-surface-soft:#f8fbff;--theme-text:#1a3a5c;--theme-muted:#5a7a9a;--theme-border:#c8daf0;--theme-primary:#3b9eff;--theme-primary-strong:#2070c7;--theme-sidebar-1:#e8f4ff;--theme-sidebar-2:#d4e8f8;--theme-shadow:0 18px 45px rgba(31,111,235,.10); }
html[data-site-theme="meusige"] { --theme-bg:#eef1f4;--theme-bg-soft:#dfe4e8;--theme-surface:#fff;--theme-surface-soft:#f6f7f8;--theme-text:#34404a;--theme-muted:#78838c;--theme-border:#c7cdd2;--theme-primary:#8dbb68;--theme-primary-strong:#587f39;--theme-sidebar-1:#343a40;--theme-sidebar-2:#23282d;--theme-shadow:0 8px 24px rgba(0,0,0,.12); }
html[data-site-theme="instagram"] { --theme-bg:#fafafa;--theme-bg-soft:#f0f2f5;--theme-surface:#fff;--theme-surface-soft:#f8f9fa;--theme-text:#0c1014;--theme-muted:#6a717a;--theme-border:#dbe0e4;--theme-primary:#4a5df9;--theme-primary-strong:#2536d0;--theme-sidebar-1:#fff;--theme-sidebar-2:#f8f9fa;--theme-shadow:0 4px 32px rgba(11,16,20,.12); }
html[data-site-theme="midnight"] { --theme-bg:#0b1020;--theme-bg-soft:#111a30;--theme-surface:#151f36;--theme-surface-soft:#1c2944;--theme-text:#edf4ff;--theme-muted:#9fb0c9;--theme-border:#31415e;--theme-primary:#6ea8ff;--theme-primary-strong:#9cc4ff;--theme-sidebar-1:#0b1222;--theme-sidebar-2:#111d34;--theme-shadow:0 18px 55px rgba(0,0,0,.35); }
html[data-site-theme="forest"] { --theme-bg:#eef7f0;--theme-bg-soft:#dcecdf;--theme-surface:#fff;--theme-surface-soft:#f5faf6;--theme-text:#183c2a;--theme-muted:#587765;--theme-border:#c5dfcd;--theme-primary:#38a169;--theme-primary-strong:#25784c;--theme-sidebar-1:#e0f2e5;--theme-sidebar-2:#cde7d5;--theme-shadow:0 18px 45px rgba(28,100,64,.12); }
html[data-site-theme="graphite"] { --theme-bg:#eceff2;--theme-bg-soft:#d9dde2;--theme-surface:#f9fafb;--theme-surface-soft:#f1f3f5;--theme-text:#20262d;--theme-muted:#626b75;--theme-border:#c5cbd2;--theme-primary:#667085;--theme-primary-strong:#344054;--theme-sidebar-1:#e4e7ec;--theme-sidebar-2:#d0d5dd;--theme-shadow:0 15px 40px rgba(16,24,40,.12); }
html[data-site-theme="sunset"] { --theme-bg:#fff5ed;--theme-bg-soft:#ffe2cf;--theme-surface:#fffdfb;--theme-surface-soft:#fff8f3;--theme-text:#542c26;--theme-muted:#8a625b;--theme-border:#f0c9b7;--theme-primary:#f97316;--theme-primary-strong:#c2410c;--theme-sidebar-1:#fff0e4;--theme-sidebar-2:#ffd8be;--theme-shadow:0 18px 45px rgba(194,65,12,.12); }

html[data-site-theme="midnight"] input,
html[data-site-theme="midnight"] select,
html[data-site-theme="midnight"] textarea,
html[data-site-theme="midnight"] .btn-ghost { background:#1c2944 !important;color:#edf4ff !important; }

/* Theme Studio v2: extended global controls */
html[data-theme-background-style="flat"] body{background:var(--theme-bg)!important}
html[data-theme-background-style="mesh"] body{background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--theme-primary) 20%,transparent),transparent 34%),radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--theme-sidebar-1) 70%,transparent),transparent 32%),linear-gradient(180deg,var(--theme-bg),var(--theme-bg-soft))!important}
html[data-theme-background-style="dots"] body{background-color:var(--theme-bg)!important;background-image:radial-gradient(color-mix(in srgb,var(--theme-primary) 22%,transparent) 1px,transparent 1px)!important;background-size:20px 20px!important}
html[data-theme-background-style="grid"] body{background-color:var(--theme-bg)!important;background-image:linear-gradient(color-mix(in srgb,var(--theme-border) 40%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-border) 40%,transparent) 1px,transparent 1px)!important;background-size:28px 28px!important}
html[data-theme-sidebar-width="narrow"]{--sidebar-width:210px}html[data-theme-sidebar-width="wide"]{--sidebar-width:310px}
html[data-theme-topbar-style="attached"] .topbar{border-radius:0!important;margin:0!important}
html[data-theme-topbar-style="transparent"] .topbar{background:transparent!important;box-shadow:none!important;border-color:transparent!important}
html[data-theme-topbar-style="accent"] .topbar{background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-strong))!important;color:#fff!important}
html[data-theme-card-style="outlined"] :is(.card,.panel,.modal-card,.report-card,.dashboard-card){box-shadow:none!important;border-width:2px!important}
html[data-theme-card-style="flat"] :is(.card,.panel,.modal-card,.report-card,.dashboard-card){box-shadow:none!important;border-color:transparent!important}
html[data-theme-card-style="glass"] :is(.card,.panel,.modal-card,.report-card,.dashboard-card){background:color-mix(in srgb,var(--theme-surface) 76%,transparent)!important;backdrop-filter:blur(16px)}
html[data-theme-button-style="solid"] .btn-primary{background:var(--theme-primary)!important}
html[data-theme-button-style="soft"] .btn-primary{background:color-mix(in srgb,var(--theme-primary) 16%,var(--theme-surface))!important;color:var(--theme-primary-strong)!important;box-shadow:none!important}
html[data-theme-button-style="pill"] :is(.btn-primary,.btn-ghost,button.primary,.primary-button){border-radius:999px!important}
html[data-theme-button-style="square"] :is(.btn-primary,.btn-ghost,button.primary,.primary-button){border-radius:4px!important}
html[data-theme-input-style="filled"] :is(input,select,textarea){background:color-mix(in srgb,var(--theme-surface-soft) 82%,var(--theme-surface))!important}
html[data-theme-input-style="outlined"] :is(input,select,textarea){background:transparent!important;border-width:1.5px!important}
html[data-theme-input-style="underline"] :is(input,select,textarea){background:transparent!important;border-width:0 0 2px!important;border-radius:0!important}
html[data-theme-menu-style="line"] .menu-item.active{background:transparent!important;box-shadow:inset 4px 0 0 var(--theme-primary)}
html[data-theme-menu-style="pill"] .menu-item{border-radius:999px!important}
html[data-theme-menu-style="minimal"] .menu-item{background:transparent!important;border-color:transparent!important}.menu-item.active{font-weight:700}
html[data-theme-badge-style="solid"] :is(.badge,.status-badge,.preview-badge){background:var(--theme-primary)!important;color:#fff!important}
html[data-theme-badge-style="outline"] :is(.badge,.status-badge,.preview-badge){background:transparent!important;border:1px solid var(--theme-primary)!important;color:var(--theme-primary-strong)!important}
html[data-theme-icon-style="bold"] :is(.menu-item svg,.menu-item i,.icon){stroke-width:2.6!important;font-weight:800!important}
html[data-theme-icon-style="soft"] :is(.menu-item svg,.menu-item i,.icon){opacity:.68!important}
html[data-theme-text-scale="small"] body{font-size:14px}html[data-theme-text-scale="large"] body{font-size:17px}
html[data-theme-borders="off"] :is(.card,.panel,.modal-card,.report-card,.dashboard-card,input,select,textarea,.topbar){border-color:transparent!important}
html[data-theme-contrast="high"]{--theme-text:#000;--theme-muted:#303030;--theme-border:#555}html[data-site-theme="midnight"][data-theme-contrast="high"]{--theme-text:#fff;--theme-muted:#e5e7eb;--theme-border:#cbd5e1}
html[data-site-theme="ocean"]{--theme-bg:#eaf8fa;--theme-bg-soft:#d8eef1;--theme-surface:#fff;--theme-surface-soft:#f4fbfc;--theme-text:#123d46;--theme-muted:#53737a;--theme-border:#bddde0;--theme-primary:#0f8b8d;--theme-primary-strong:#08696b;--theme-sidebar-1:#dff5f7;--theme-sidebar-2:#c8e9ec}
html[data-site-theme="lavender"]{--theme-bg:#f5f2ff;--theme-bg-soft:#e8e1fb;--theme-surface:#fff;--theme-surface-soft:#faf8ff;--theme-text:#36285c;--theme-muted:#756a92;--theme-border:#d9cff1;--theme-primary:#7656d6;--theme-primary-strong:#5637b2;--theme-sidebar-1:#f1edff;--theme-sidebar-2:#e2d9fb}
html[data-site-theme="coffee"]{--theme-bg:#f8f2ec;--theme-bg-soft:#eadfd5;--theme-surface:#fffdfa;--theme-surface-soft:#faf6f1;--theme-text:#4a3328;--theme-muted:#816b60;--theme-border:#ddcbbd;--theme-primary:#9a6348;--theme-primary-strong:#754832;--theme-sidebar-1:#f7efe7;--theme-sidebar-2:#e9dacd}

/* ========================================================================== */
/* Liquid Motion UI - motion only                                              */
/* Preserva cores, fundos, bordas, raios, sombras e tamanhos existentes.       */
/* Adiciona somente movimento elastico/liquido nas interacoes.                 */
/* ========================================================================== */

:root {
  --liquid-motion-fast: 170ms;
  --liquid-motion: 320ms;
  --liquid-motion-slow: 520ms;
  --liquid-ease: cubic-bezier(.22, 1.15, .34, 1);
  --liquid-ease-soft: cubic-bezier(.2, .82, .3, 1);
}

/* Elementos interativos: nenhuma propriedade visual e sobrescrita. */
html[data-site-theme] :is(
  button,
  .btn,
  .btn-primary,
  .btn-ghost,
  .primary-button,
  .secondary-button,
  [role="button"],
  .menu-item,
  .sidebar-home-link,
  .nav-link,
  .tab,
  .tabs button,
  .chip,
  .pill,
  .badge,
  .status-badge,
  .preview-badge,
  .pagination a,
  .pagination button,
  .dropdown-item,
  .action-button,
  .icon-button,
  .toolbar button,
  summary,
  label[for]
) {
  transition-property: transform, translate, scale;
  transition-duration: var(--liquid-motion);
  transition-timing-function: var(--liquid-ease);
  transform-origin: center;
  will-change: transform;
  -webkit-tap-highlight-color: transparent;
}

/* Flutua de forma sutil, sem alterar formato, cor, sombra ou fundo. */
html[data-site-theme] :is(
  button:not(:disabled),
  .btn:not(.disabled),
  .btn-primary:not(.disabled),
  .btn-ghost:not(.disabled),
  .primary-button:not(.disabled),
  .secondary-button:not(.disabled),
  [role="button"]:not([aria-disabled="true"]),
  .menu-item,
  .sidebar-home-link,
  .nav-link,
  .tab,
  .tabs button,
  .chip,
  .pagination a,
  .pagination button,
  .dropdown-item,
  .action-button,
  .icon-button,
  .toolbar button,
  summary
):hover {
  transform: translateY(-1.5px) scale(1.012, .995);
}

/* Compressao e retorno elastico no toque/clique. */
html[data-site-theme] :is(
  button:not(:disabled),
  .btn:not(.disabled),
  .btn-primary:not(.disabled),
  .btn-ghost:not(.disabled),
  .primary-button:not(.disabled),
  .secondary-button:not(.disabled),
  [role="button"]:not([aria-disabled="true"]),
  .menu-item,
  .sidebar-home-link,
  .nav-link,
  .tab,
  .tabs button,
  .chip,
  .pagination a,
  .pagination button,
  .dropdown-item,
  .action-button,
  .icon-button,
  .toolbar button,
  summary
):active {
  transform: translateY(1px) scale(.965, 1.035);
  transition-duration: var(--liquid-motion-fast);
  transition-timing-function: cubic-bezier(.35, 0, .6, 1);
}

/* Estado ativo/selecionado ganha somente um pequeno deslocamento organico. */
html[data-site-theme] :is(
  .menu-item.active,
  .nav-link.active,
  .tab.active,
  .tabs button.active,
  .chip.active,
  [aria-selected="true"],
  [aria-current="page"]
) {
  transform: translateY(-1px);
}

html[data-site-theme] :is(
  .menu-item.active,
  .nav-link.active,
  .tab.active,
  .tabs button.active,
  .chip.active,
  [aria-selected="true"],
  [aria-current="page"]
):hover {
  transform: translateY(-2px) scale(1.014, .994);
}

/* Campos preservam totalmente o visual; apenas respondem com leve expansao. */
html[data-site-theme] :is(input, select, textarea) {
  transition-property: transform;
  transition-duration: var(--liquid-motion);
  transition-timing-function: var(--liquid-ease-soft);
  transform-origin: center;
}

html[data-site-theme] :is(input, select, textarea):focus {
  transform: scale(1.003, 1.018);
}

/* Cards/paineis clicaveis: movimento apenas quando a propria UI ja os trata como interativos. */
html[data-site-theme] :is(
  .card[onclick],
  .panel[onclick],
  .report-card[onclick],
  .dashboard-card[onclick],
  .card[role="button"],
  .panel[role="button"]
) {
  transition-property: transform;
  transition-duration: var(--liquid-motion-slow);
  transition-timing-function: var(--liquid-ease);
  transform-origin: center;
  will-change: transform;
}

html[data-site-theme] :is(
  .card[onclick],
  .panel[onclick],
  .report-card[onclick],
  .dashboard-card[onclick],
  .card[role="button"],
  .panel[role="button"]
):hover {
  transform: translateY(-2px) scale(1.006, .997);
}

html[data-site-theme] :is(
  .card[onclick],
  .panel[onclick],
  .report-card[onclick],
  .dashboard-card[onclick],
  .card[role="button"],
  .panel[role="button"]
):active {
  transform: translateY(1px) scale(.988, 1.012);
  transition-duration: var(--liquid-motion-fast);
}

/* Respeita configuracao de animacoes da propria intranet e acessibilidade. */
html[data-site-theme][data-theme-animations="off"] :is(
  button,.btn,[role="button"],.menu-item,.nav-link,.tab,.chip,input,select,textarea
) {
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-site-theme] :is(
    button,.btn,[role="button"],.menu-item,.sidebar-home-link,.nav-link,.tab,.chip,
    .pagination a,.pagination button,.dropdown-item,.action-button,.icon-button,
    input,select,textarea,.card[onclick],.panel[onclick],.card[role="button"],.panel[role="button"]
  ) {
    transition-duration: 1ms !important;
    transform: none !important;
  }
}

/* Em touch nao existe hover real; mantem somente o efeito de pressao. */
@media (hover: none) {
  html[data-site-theme] :is(
    button:not(:disabled),.btn:not(.disabled),[role="button"]:not([aria-disabled="true"]),
    .menu-item,.sidebar-home-link,.nav-link,.tab,.chip,.dropdown-item,.action-button,.icon-button
  ):hover {
    transform: none;
  }

  html[data-site-theme] :is(input, select, textarea):focus {
    transform: scale(1.002, 1.012);
  }
}

/* O componente compartilhado preserva o contraste escuro da nova navegacao,
   independentemente do tema escolhido para o conteudo da pagina. */
html[data-site-theme] .sidebar.shared-sidebar,
html[data-site-theme] body.sidebar-open .sidebar.shared-sidebar {
  background:
    radial-gradient(circle at 18% -8%, rgba(91,115,255,.20), transparent 31%),
    linear-gradient(165deg, #141a2e, #0d1120 62%) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #eef2ff !important;
}
html[data-site-theme] .shared-sidebar .menu-item,
html[data-site-theme] .shared-sidebar .sidebar-home-link,
html[data-site-theme] body.sidebar-open .shared-sidebar .menu-item { color: #c8d0e5 !important; }
html[data-site-theme] .shared-sidebar .menu-item:hover,
html[data-site-theme] body.sidebar-open .shared-sidebar .menu-item:hover { background: rgba(255,255,255,.065) !important; color: #fff !important; }
html[data-site-theme] .shared-sidebar .menu-item.active,
html[data-site-theme] body.sidebar-open .shared-sidebar .menu-item.active { background: #f8fafc !important; color: #151a2b !important; }

/* O cabecalho compartilhado possui identidade propria, como o menu lateral. */
html[data-site-theme] body .topbar.shared-header {
  background:
    radial-gradient(circle at 48% -120%, rgba(93,116,255,.38), transparent 54%),
    linear-gradient(135deg, rgba(18,25,48,.96), rgba(9,14,29,.94)) !important;
  color: #eef2ff !important;
  border-color: rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-site-theme] .shared-header a { color: inherit; }

/* ========================================================================== */
/* Enfoque Content Refresh 2026 - Fundable-inspired                           */
/* Escopo intencional: SOMENTE conteudo das paginas.                           */
/* Nao altera .sidebar, .topbar, menu compartilhado ou cabecalho.              */
/* ========================================================================== */

:root {
  --content-canvas: #eef1f3;
  --content-surface: #ffffff;
  --content-surface-soft: #f7f8f9;
  --content-ink: #15191e;
  --content-muted: #65707c;
  --content-line: #d5dadd;
  --content-line-strong: #c4cbd0;
  --content-accent: var(--theme-primary, #3b9eff);
  --content-accent-strong: var(--theme-primary-strong, #2070c7);
  --content-card-radius: 5px;
  --content-control-radius: 4px;
  --content-shadow: 0 1px 2px rgba(18, 26, 33, .045), 0 5px 14px rgba(18, 26, 33, .035);
}

/* Canvas abaixo do cabecalho: o header e o menu ficam completamente intactos. */
html[data-site-theme] .content-wrap > .page-main {
  position: relative;
  min-height: calc(100vh - 76px);
  background: var(--content-canvas) !important;
  color: var(--content-ink) !important;
  padding: clamp(26px, 3vw, 44px) !important;
}

html[data-site-theme] .content-wrap > .page-main::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .65;
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 170px),
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--content-accent) 5%, transparent), transparent 30%);
}

html[data-site-theme] .content-wrap > .page-main > * {
  position: relative;
  z-index: 1;
}

/* Tipografia do conteudo: maior contraste e hierarquia editorial. */
html[data-site-theme] .page-main :is(h1, h2, h3, h4, h5, h6) {
  color: var(--content-ink) !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}

html[data-site-theme] .page-main h1 {
  font-size: clamp(1.8rem, 2.35vw, 2.55rem);
  line-height: 1.08;
  font-weight: 800;
  margin-bottom: 10px;
}

html[data-site-theme] .page-main h2 {
  font-size: clamp(1.28rem, 1.7vw, 1.7rem);
  line-height: 1.18;
  font-weight: 800;
}

html[data-site-theme] .page-main h3 {
  font-size: 1.08rem;
  font-weight: 750;
}

html[data-site-theme] .page-main :is(.muted, .hint, .subtitle, .description, small) {
  color: var(--content-muted) !important;
}

html[data-site-theme] .page-main > .card > h1 + .muted,
html[data-site-theme] .page-main > .card > h2 + .muted {
  max-width: 880px;
  font-size: .98rem;
  line-height: 1.55;
  margin-bottom: 24px;
}

/* Cards: visual mais reto, leve e modular, como a referencia. */
html[data-site-theme] .page-main :is(
  .card,
  .panel,
  .report-card,
  .dashboard-card,
  .quota-chart-card,
  .quota-editor-panel,
  .award-config-card,
  .award-settings-panel,
  .detail-card,
  .stat-card,
  .metric-card,
  .summary-card,
  .users-card,
  .user-card
) {
  background: var(--content-surface) !important;
  color: var(--content-ink) !important;
  border: 1px solid var(--content-line) !important;
  border-radius: var(--content-card-radius) !important;
  box-shadow: var(--content-shadow) !important;
}

html[data-site-theme] .page-main > .card {
  padding: clamp(24px, 3vw, 38px) !important;
}

html[data-site-theme] .page-main .card .card,
html[data-site-theme] .page-main .panel .card,
html[data-site-theme] .page-main .card .panel {
  box-shadow: none !important;
}

/* Cabecalhos internos ganham separacao limpa em vez de blocos pesados. */
html[data-site-theme] .page-main :is(.card-head, .card-header, .panel-head, .panel-header, .section-head, .toolbar) {
  border-bottom: 1px solid var(--content-line) !important;
  padding-bottom: 16px;
  margin-bottom: 20px;
}

/* Formularios compactos, neutros e com foco claro. */
html[data-site-theme] .page-main :is(input, select, textarea) {
  min-height: 42px;
  background: #fff !important;
  color: var(--content-ink) !important;
  border: 1px solid var(--content-line-strong) !important;
  border-radius: var(--content-control-radius) !important;
  box-shadow: inset 0 1px 1px rgba(18, 26, 33, .025) !important;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease !important;
}

html[data-site-theme] .page-main textarea {
  min-height: 92px;
}

html[data-site-theme] .page-main :is(input, select, textarea):hover {
  border-color: #abb4ba !important;
}

html[data-site-theme] .page-main :is(input, select, textarea):focus {
  outline: none !important;
  border-color: var(--content-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--content-accent) 15%, transparent) !important;
}

html[data-site-theme] .page-main label {
  color: #343b43 !important;
  font-weight: 650;
  gap: 7px;
}

/* Botoes dentro do conteudo: mais retos e menos brilhantes. */
html[data-site-theme] .page-main :is(.btn-primary, button.primary, .primary-button) {
  border-radius: var(--content-control-radius) !important;
  background: var(--content-accent) !important;
  border: 1px solid color-mix(in srgb, var(--content-accent) 78%, #000) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(18, 26, 33, .12) !important;
  font-weight: 750;
}

html[data-site-theme] .page-main :is(.btn-primary, button.primary, .primary-button):hover {
  background: var(--content-accent-strong) !important;
  box-shadow: 0 2px 6px rgba(18, 26, 33, .14) !important;
}

html[data-site-theme] .page-main :is(.btn-ghost, .secondary-button, button:not(.btn-primary):not(.primary):not(.menu-item):not(.tab)) {
  border-radius: var(--content-control-radius) !important;
  background: #fff !important;
  color: #313840 !important;
  border: 1px solid var(--content-line-strong) !important;
  box-shadow: 0 1px 1px rgba(18, 26, 33, .03) !important;
}

html[data-site-theme] .page-main :is(.btn-ghost, .secondary-button):hover {
  background: var(--content-surface-soft) !important;
  border-color: #aeb6bc !important;
}

/* Tabs com aparencia de navegacao de produto, sem pills exageradas. */
html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) {
  gap: 0 !important;
  border-bottom: 1px solid var(--content-line) !important;
  background: transparent !important;
}

html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) :is(button, .tab) {
  position: relative;
  min-height: 42px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5e6872 !important;
  box-shadow: none !important;
  font-weight: 700;
}

html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) :is(button, .tab).active,
html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) [aria-selected="true"] {
  color: var(--content-ink) !important;
}

html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) :is(button, .tab).active::after,
html[data-site-theme] .page-main :is(.tabs, .quota-tabs, .main-tabs, [role="tablist"]) [aria-selected="true"]::after {
  content: "";
  position: absolute;
  height: 3px;
  left: 12px;
  right: 12px;
  bottom: -1px;
  background: var(--content-accent);
}

/* Tabelas: cabecalho neutro, linhas respiradas e hover discreto. */
html[data-site-theme] .page-main .table-wrap,
html[data-site-theme] .page-main .table-container,
html[data-site-theme] .page-main .responsive-table {
  overflow: auto;
  border: 1px solid var(--content-line) !important;
  border-radius: var(--content-card-radius) !important;
  background: #fff !important;
}

html[data-site-theme] .page-main table {
  width: 100%;
  border-collapse: collapse;
  background: #fff !important;
  color: #2a3037 !important;
}

html[data-site-theme] .page-main table thead th {
  background: #f2f4f5 !important;
  color: #30363d !important;
  border-bottom: 1px solid var(--content-line-strong) !important;
  font-size: .76rem;
  line-height: 1.25;
  letter-spacing: .045em;
  text-transform: uppercase;
  font-weight: 800;
  white-space: nowrap;
}

html[data-site-theme] .page-main table :is(th, td) {
  padding: 12px 14px !important;
  border-color: #e5e8ea !important;
}

html[data-site-theme] .page-main table tbody tr {
  transition: background 120ms ease;
}

html[data-site-theme] .page-main table tbody tr:hover {
  background: #f8f9fa !important;
}

/* Badges e indicadores: compactos e informativos. */
html[data-site-theme] .page-main :is(.badge, .status-badge, .preview-badge, .pill, .chip) {
  border-radius: 3px !important;
  box-shadow: none !important;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .01em;
}

/* Blocos de metricas recebem mais contraste numerico. */
html[data-site-theme] .page-main :is(.metric, .metric-card, .stat, .stat-card, .summary-card) strong,
html[data-site-theme] .page-main :is(.metric-value, .stat-value, .summary-value, .kpi-value) {
  color: var(--content-ink) !important;
  font-weight: 850 !important;
  letter-spacing: -.035em;
}

/* Separadores e vazios com menos ruido visual. */
html[data-site-theme] .page-main hr {
  border: 0 !important;
  border-top: 1px solid var(--content-line) !important;
}

html[data-site-theme] .page-main :is(.empty-state, .empty, .no-data) {
  background: var(--content-surface-soft) !important;
  border: 1px dashed var(--content-line-strong) !important;
  border-radius: var(--content-card-radius) !important;
  color: var(--content-muted) !important;
}

/* Home: preserva o hero existente, mas deixa seco e integrado ao novo canvas. */
html[data-site-theme] .page-main .home-hero.card {
  border-color: rgba(20, 25, 30, .16) !important;
  border-radius: var(--content-card-radius) !important;
  box-shadow: 0 1px 3px rgba(18, 26, 33, .10) !important;
  overflow: hidden;
}

html[data-site-theme] .page-main .home-shortcuts.card {
  background: #fff !important;
}

html[data-site-theme] .page-main .shortcut-item {
  border-radius: 4px !important;
}

/* Graficos/areas de relatorio ficam em paineis brancos com borda simples. */
html[data-site-theme] .page-main :is(.chart-card, .quota-chart-card, .chart-container, .graph-card) {
  background: #fff !important;
  border: 1px solid var(--content-line) !important;
  border-radius: var(--content-card-radius) !important;
  box-shadow: none !important;
}

/* Modais sao conteudo, mas o header compartilhado continua fora deste escopo. */
html[data-site-theme] body > :is(.modal, .ti-modal, .modal-backdrop) :is(.modal-card, .ti-modal-card) {
  border-radius: 6px !important;
  border: 1px solid var(--content-line-strong) !important;
  box-shadow: 0 24px 70px rgba(18, 26, 33, .22) !important;
}

@media (max-width: 760px) {
  html[data-site-theme] .content-wrap > .page-main {
    padding: 18px 14px 28px !important;
  }

  html[data-site-theme] .page-main > .card {
    padding: 20px 16px !important;
  }

  html[data-site-theme] .page-main h1 {
    font-size: 1.7rem;
  }
}


/* ========================================================================== */
/* Home hero correction: full-width editorial banner with visible image        */
/* Mantem sidebar e cabeçalho intactos; corrige apenas a área de conteúdo.     */
/* ========================================================================== */
html[data-site-theme] body.home-redesign .page-main.home-main {
  --home-hero-bleed-x: clamp(18px, 2.2vw, 34px);
  --home-hero-top-gap: 8px;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card {
  position: relative;
  isolation: isolate;
  margin: calc(-1 * var(--home-hero-top-gap)) calc(-1 * var(--home-hero-bleed-x)) 8px !important;
  min-height: clamp(360px, 55vh, 620px) !important;
  padding: clamp(34px, 5vw, 72px) clamp(24px, 5vw, 64px) clamp(130px, 18vw, 220px) !important;
  border: 0 !important;
  border-radius: 0 0 42px 42px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  background-color: #f8fafc !important;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0) 52%, rgba(255,255,255,.94) 86%, #ffffff 100%),
    linear-gradient(90deg, rgba(7,12,24,.76) 0%, rgba(7,12,24,.46) 34%, rgba(7,12,24,.14) 66%, rgba(7,12,24,.06) 100%),
    var(--home-hero-banner-image),
    linear-gradient(135deg, #0f172a 0%, #164e63 48%, #dbeafe 100%) !important;
  background-size: auto, auto, cover, cover !important;
  background-position: center bottom, left center, center center, center center !important;
  background-repeat: no-repeat !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.18), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,0) 58%, rgba(255,255,255,.88) 88%, #ffffff 100%);
  pointer-events: none;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(130px, 18vw, 220px);
  z-index: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.76) 62%, #ffffff 100%);
  pointer-events: none;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card.has-custom-banner {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0) 52%, rgba(255,255,255,.94) 86%, #ffffff 100%),
    linear-gradient(90deg, rgba(7,12,24,.78) 0%, rgba(7,12,24,.50) 34%, rgba(7,12,24,.16) 66%, rgba(7,12,24,.06) 100%),
    var(--home-hero-banner-image) !important;
  background-size: auto, auto, cover !important;
  background-position: center bottom, left center, center center !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card .hero-overlay {
  position: relative;
  z-index: 1;
  max-width: min(700px, 58vw);
  padding: 0 !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #d8f3ff !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card h1 {
  max-width: 10ch;
  margin: 0 0 18px;
  color: #ffffff !important;
  text-shadow: 0 14px 30px rgba(0,0,0,.30);
  font-size: clamp(3rem, 5.6vw, 6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card .hero-subtitle {
  max-width: 58ch;
  color: rgba(255,255,255,.94) !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.65 !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.22);
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
  position: relative;
  z-index: 2;
  margin-top: clamp(-110px, -10vw, -66px) !important;
}

html[data-site-theme] body.home-redesign .shared-header-home {
  gap: 0 !important;
  min-width: 42px !important;
  padding-inline: 11px !important;
}

html[data-site-theme] body.home-redesign .shared-header-home .shared-header-home-icon {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html[data-site-theme] body.home-redesign .shared-header-home:not(.active) .shared-header-home-icon {
  color: #dbeafe !important;
}

html[data-site-theme] body.home-redesign .shared-header-home .shared-header-home-label {
  display: inline-block !important;
  max-width: 0 !important;
  opacity: 0 !important;
  overflow: hidden;
  white-space: nowrap;
}

html[data-site-theme] body.home-redesign .shared-header-home:hover,
html[data-site-theme] body.home-redesign .shared-header-home:focus-visible {
  gap: 7px !important;
}

html[data-site-theme] body.home-redesign .shared-header-home:hover .shared-header-home-label,
html[data-site-theme] body.home-redesign .shared-header-home:focus-visible .shared-header-home-label {
  max-width: 70px !important;
  opacity: 1 !important;
}

html[data-site-theme] body.home-redesign .shared-header-home.active {
  color: #123d66 !important;
}

html[data-site-theme] body.home-redesign .shared-header-home.active::after {
  background: #ffffff !important;
}

html[data-site-theme] body.home-redesign .shared-header-home.active .shared-header-home-icon,
html[data-site-theme] body.home-redesign .shared-header-home.active .shared-header-home-label {
  color: #123d66 !important;
}

@media (max-width: 980px) {
  html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card {
    margin-left: calc(-1 * min(var(--home-hero-bleed-x), 20px)) !important;
    margin-right: calc(-1 * min(var(--home-hero-bleed-x), 20px)) !important;
    min-height: 320px !important;
    padding: 28px 20px 112px !important;
    border-radius: 0 0 28px 28px !important;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card .hero-overlay {
    max-width: 100%;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card h1 {
    max-width: 12ch;
    font-size: clamp(2.3rem, 8.4vw, 4rem) !important;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
    margin-top: -56px !important;
  }
}

@media (max-width: 680px) {
  html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card {
    padding-bottom: 92px !important;
    min-height: 280px !important;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
    margin-top: -34px !important;
  }
}


/* ========================================================================== */
/* Home hero tuning v2: edge-to-edge, floating shortcuts, canvas-matched fade  */
/* ========================================================================== */
html[data-site-theme] body.home-redesign .page-main.home-main {
  --home-hero-bleed-x: clamp(32px, 3.5vw, 52px);
  overflow-x: clip;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card {
  width: calc(100% + (var(--home-hero-bleed-x) * 2)) !important;
  max-width: none !important;
  margin-left: calc(-1 * var(--home-hero-bleed-x)) !important;
  margin-right: calc(-1 * var(--home-hero-bleed-x)) !important;
  border-radius: 0 0 36px 36px !important;
  background-image:
    linear-gradient(180deg,
      color-mix(in srgb, var(--content-canvas) 0%, transparent) 44%,
      color-mix(in srgb, var(--content-canvas) 58%, transparent) 75%,
      color-mix(in srgb, var(--content-canvas) 88%, transparent) 90%,
      var(--content-canvas) 100%),
    linear-gradient(90deg, rgba(7,12,24,.78) 0%, rgba(7,12,24,.50) 33%, rgba(7,12,24,.16) 65%, rgba(7,12,24,.04) 100%),
    var(--home-hero-banner-image),
    linear-gradient(135deg, #0f172a 0%, #164e63 48%, #dbeafe 100%) !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.16), transparent 18%),
    linear-gradient(180deg,
      rgba(255,255,255,0) 56%,
      color-mix(in srgb, var(--content-canvas) 46%, transparent) 84%,
      var(--content-canvas) 100%) !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::after {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--content-canvas) 0%, transparent) 0%,
    color-mix(in srgb, var(--content-canvas) 62%, transparent) 60%,
    var(--content-canvas) 100%) !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card.has-custom-banner {
  background-image:
    linear-gradient(180deg,
      color-mix(in srgb, var(--content-canvas) 0%, transparent) 44%,
      color-mix(in srgb, var(--content-canvas) 58%, transparent) 75%,
      color-mix(in srgb, var(--content-canvas) 88%, transparent) 90%,
      var(--content-canvas) 100%),
    linear-gradient(90deg, rgba(7,12,24,.80) 0%, rgba(7,12,24,.52) 33%, rgba(7,12,24,.18) 65%, rgba(7,12,24,.04) 100%),
    var(--home-hero-banner-image) !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  margin-top: clamp(-124px, -11vw, -82px) !important;
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts .shortcut-item,
html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts .shortcut-button {
  border: 0 !important;
  background: rgba(255,255,255,.93) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.10), 0 2px 10px rgba(15, 23, 42, 0.05) !important;
  backdrop-filter: blur(8px);
}

html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts .shortcut-item::before,
html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts .shortcut-button::before {
  opacity: .72;
}

@media (max-width: 980px) {
  html[data-site-theme] body.home-redesign .page-main.home-main {
    --home-hero-bleed-x: 22px;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
    margin-top: -62px !important;
  }
}

@media (max-width: 680px) {
  html[data-site-theme] body.home-redesign .page-main.home-main {
    --home-hero-bleed-x: 16px;
  }

  html[data-site-theme] body.home-redesign .page-main.home-main > .home-shortcuts.card {
    margin-top: -38px !important;
  }
}


/* Home hero tuning v3: remove decorative white circle */
html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::before,
html[data-site-theme] body.home-redesign .page-main.home-main > .home-hero.card::after {
  display: none !important;
  content: none !important;
  background: none !important;
}
