/* VF brand polish: internal surfaces only. Original login is deliberately excluded. */
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) {
  --vf-bg: #171329;
  --vf-panel: rgba(39, 32, 61, .88);
  --vf-panel-soft: #201a32;
  --vf-panel-raised: #342944;
  --vf-line: rgba(188, 170, 218, .15);
  --vf-line-strong: rgba(198, 173, 231, .29);
  --vf-ink: #f3effa;
  --vf-muted: #beb3ce;
  --vf-accent: #ccabff;
  --vf-accent-solid: #8c46e5;
  --vf-accent-hover: #aa66f3;
  --vf-magenta: #da4cac;
  --vf-accent-wash: rgba(159, 79, 236, .12);
  --vf-border-active: rgba(186, 114, 245, .62);
  --vf-gradient-primary: linear-gradient(112deg, #763cda 0%, #963bd5 58%, #b83192 100%);
  --vf-gradient-primary-hover: linear-gradient(112deg, #8749e9, #ab45dd 58%, #c63c9e);
  --vf-elevation: 0 8px 24px rgba(5, 2, 13, .18);
  --vf-radius-card: 16px;
  --vf-radius-control: 9px;
  --vf-control-height: 44px;
  --vf-space-1: 8px;
  --vf-space-2: 16px;
  --vf-space-3: 24px;
  --vf-space-4: 32px;
  --vf-page-gutter: clamp(24px, 2.5vw, 40px);
  --primary-hover: var(--vf-accent-hover);
}
body.vf-premium.theme-light:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) {
  --vf-bg: #f5f2fa; --vf-panel: #fff; --vf-panel-soft: #f9f6fd;
  --vf-panel-raised: #eee8f7; --vf-line: rgba(101, 66, 140, .14);
  --vf-line-strong: rgba(101, 66, 140, .28); --vf-ink: #30233f;
  --vf-muted: #71617f; --vf-accent: #823dc0; --vf-magenta: #b32c88;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.primary-btn, .expenses-button.is-primary, .fat-button.is-primary) {
  border-radius: var(--vf-radius-control) !important;
  background: var(--vf-gradient-primary) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.14), 0 4px 12px rgba(91,32,147,.18) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.primary-btn, .expenses-button.is-primary, .fat-button.is-primary):hover:not(:disabled) {
  background: var(--vf-gradient-primary-hover) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.eyebrow, .expenses-kicker, .fat-eyebrow, .planilhas-kicker, .cashback-section-kicker, .accounting-section-kicker) { color: var(--vf-accent) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(input, select, textarea):focus-visible { border-color: var(--vf-border-active) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.primary-btn, .secondary-btn, .expenses-button, .fat-button, .filter-input, .filter-select, .expenses-date-field input, .faturamento-field input) {
  min-height: var(--vf-control-height); box-sizing: border-box;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .fake-field :is(input[type="checkbox"], input[type="radio"]) { min-height: auto; padding: 0; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.planilha-month-card, .planilha-day-card).is-current {
  background: linear-gradient(120deg, rgba(148, 68, 220, .2), rgba(216, 60, 166, .07)), var(--vf-panel) !important;
  border-color: var(--vf-border-active) !important;
  box-shadow: inset 3px 0 var(--vf-magenta), var(--vf-elevation) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.planilha-month-card, .planilha-day-card).is-current span { color: var(--vf-accent) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.admin-panel-tab, .accounting-tab, .config-tab).active {
  background: var(--vf-accent-wash) !important; color: var(--vf-accent) !important; border-color: var(--vf-border-active) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.expenses-day-summary, .fat-composition, .cashback-overview-card) {
  background: linear-gradient(115deg, rgba(145, 65, 214, .08), transparent 65%), var(--vf-panel) !important;
  border-color: var(--vf-line-strong) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.faturamento-kpi-card, .cashback-summary-card, .admin-dashboard-card) {
  border-radius: var(--vf-radius-card) !important;
  box-shadow: inset 0 2px rgba(166, 85, 234, .35), var(--vf-elevation) !important;
}
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.expenses-modal, .modal-content) { border-color: var(--vf-line-strong) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) table th { background: color-mix(in srgb, var(--vf-panel-raised) 92%, var(--vf-accent-solid)) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) #loginScreen.admin-authenticated { background: var(--vf-bg) !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) #loginScreen.admin-authenticated::before,
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) #loginScreen.admin-authenticated::after { content: none !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo > :is(.top-header, .expenses-page-header, .faturamento-executive-header) :is(.eyebrow, .expenses-kicker, .fat-eyebrow) { margin: 0 0 8px !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo > :is(.top-header, .expenses-page-header, .faturamento-executive-header) h1 { margin: 0 !important; font-weight: 600 !important; }
body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo > :is(.top-header, .expenses-page-header, .faturamento-executive-header) .subtitle { margin: 8px 0 0 !important; }
@media (min-width: 901px) {
  /* Legacy template separators must not reserve an anonymous text line before a tab. */
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) :is(.main-panel, .compact-main-stage) { font-size: 0; line-height: 0; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo { font-size: 14px; line-height: 1.55; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .main-panel { min-height: 100dvh !important; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo { padding-inline: 0 !important; padding-top: 0 !important; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .aba-conteudo > :is(.top-header, .expenses-page-header, .faturamento-executive-header) {
    margin-top: 0 !important; padding-top: 0 !important; gap: var(--vf-space-3); align-items: flex-start !important;
  }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn { min-height: 40px !important; border-radius: var(--vf-radius-control) !important; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn.active {
    color: #f2dfff !important;
    background: linear-gradient(105deg, rgba(143,62,225,.27), rgba(207,54,151,.1)) !important;
    border-color: rgba(177,98,231,.35) !important;
    box-shadow: inset 3px 0 #da68bf !important;
  }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn:hover:not(.active) {
    background: var(--vf-accent-wash) !important; color: var(--vf-accent) !important;
  }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn.active :is(.toolbar-nav-icon, .compact-nav-icon) { color: #e998df !important; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .compact-shell-brand-mark { background: linear-gradient(135deg, rgba(149,62,226,.22), rgba(218,76,172,.12)) !important; }
  body.vf-premium:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .compact-shell-brand-kicker { color: var(--vf-ink) !important; }
  body.vf-premium.theme-light:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn.active { color: var(--vf-ink) !important; }
  body.vf-premium.theme-light:where(:not(:has(#loginScreen.active:not(.admin-authenticated)))) .side-panel .nav-btn.active :is(.toolbar-nav-icon, .compact-nav-icon) { color: var(--vf-accent) !important; }
}
