/* Identidade visual oficial — Balcão Digital */
:root {
  --accent: var(--bd-cta);
  --accent-dark: var(--bd-cta-hover);
  --ink: var(--bd-text);
  --muted: var(--bd-text-muted);
  --line: var(--bd-border);
  --surface: var(--bd-surface);
  --sidebar: var(--bd-navy);
  --sidebar-active: var(--bd-cta);
  --font-title: 'Poppins', sans-serif;
  --font-body: 'Inter', sans-serif;
}

html, body, button, input, select, textarea { font-family: var(--font-body) !important; }
h1, h2, h3, h4, h5, h6, .brand, .saas-brand, .bd-brand { font-family: var(--font-title) !important; }
body { color: var(--bd-text); background: var(--bd-background); }
body:not(.public-active) { background: var(--bd-background); }
.screen, .saas-main, .saas-content { background: var(--bd-background); }
.panel, .stat-card, .setting-card, .saas-card, .customer-auth-card, .auth-card {
  border-color: var(--bd-border) !important;
  border-radius: var(--bd-radius-saas) !important;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.button.primary, .bd-button-primary, button.primary {
  border-color: var(--bd-cta) !important;
  background: var(--bd-cta) !important;
  color: #fff !important;
}
.button.primary:hover, .bd-button-primary:hover, button.primary:hover { background: var(--bd-cta-hover) !important; }
.eyebrow { color: var(--bd-cta) !important; letter-spacing: .08em; }

/* Painéis compactos */
.sidebar, .saas-sidebar { background: var(--bd-navy) !important; }
.bd-official-sidebar-brand { display: flex !important; min-height: 56px; align-items: center; }
.bd-official-sidebar-brand img { display: block; width: 154px; max-height: 44px; object-fit: contain; object-position: left center; }
.sidebar .menu-link.active, .saas-sidebar nav a.active {
  background: var(--bd-cta) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(211, 63, 21, .22);
}
.sidebar .menu-link:hover, .saas-sidebar nav a:hover { background: rgba(255,255,255,.09); color: #fff; }
.sidebar .pm-icon, .saas-sidebar .pm-icon { opacity: .96; }
.sidebar .active .pm-icon, .saas-sidebar .active .pm-icon { opacity: 1; }
.topbar { background: rgba(255,255,255,.94) !important; border-color: var(--bd-border) !important; }
.saas-brand { display: grid !important; gap: 6px; padding: 22px 20px 16px !important; }
.saas-brand img { width: 158px; max-height: 46px; object-fit: contain; object-position: left center; }
.saas-brand small { color: rgba(255,255,255,.58) !important; font: 600 9px/1 var(--font-body); letter-spacing: .16em; }
.pm-icon { width: 19px; height: 19px; display: inline-block; flex: 0 0 19px; object-fit: contain; vertical-align: middle; }
.pm-icon-local { filter: none !important; object-fit: contain; }

/* Logo oficial e especialistas Jonas/Aline */
.bd-official-logo { display: inline-flex; align-items: center; }
.bd-official-logo img { display: block; width: 168px; height: auto; max-height: 50px; object-fit: contain; }
.mvp-directory-footer .bd-official-logo img, .customer-auth-promo .bd-official-logo img { width: 176px; }
.auth-brand.bd-official-logo { justify-content: flex-start; margin-bottom: 26px; }
.auth-brand.bd-official-logo img { width: 190px; }
.bd-auth-mascot { position: absolute; right: max(4vw, 32px); bottom: 0; width: min(33vw, 440px); max-height: 74vh; object-fit: contain; object-position: bottom; pointer-events: none; filter: drop-shadow(0 28px 28px rgba(15,23,42,.16)); }
.auth-page { position: relative; overflow: hidden; background: radial-gradient(circle at 80% 25%, rgba(211,63,21,.15), transparent 28%), var(--bd-background) !important; }
.auth-card { position: relative; z-index: 2; }
.customer-auth-promo { position: relative; overflow: hidden; background: var(--bd-navy) !important; }
.bd-customer-mascot { position: absolute; right: -20px; bottom: -6px; width: min(44%, 320px); max-height: 54%; object-fit: contain; object-position: right bottom; opacity: .96; pointer-events: none; }

/* Página institucional */
.bd-landing { font-family: var(--font-body) !important; }
.bd-landing h1, .bd-landing h2, .bd-landing h3 { font-family: var(--font-title); }

/* Catálogo, loja e área do consumidor */
.mvp-directory, .customer-simple-page, .customer-dashboard { background: var(--bd-background) !important; }
.mvp-directory-header { background: rgba(255,255,255,.96) !important; border-color: var(--bd-border) !important; }
.mvp-directory-header .bd-official-logo img, .customer-header .bd-official-logo img { width: 172px; }
.mvp-directory-discovery { background: linear-gradient(115deg, var(--bd-navy), #273652) !important; }
.mvp-directory-categories button.active { background: var(--bd-cta) !important; color: #fff !important; }
.premium-directory .mvp-directory-discovery-copy h1 { color: #fff !important; }
.premium-directory .mvp-directory-discovery-copy > p:last-child { color: #d6e0ec !important; }
.premium-directory .mvp-directory-summary { color: #c8d4e3 !important; }
.premium-directory .mvp-directory-summary b { color: #fff !important; }
.premium-directory .mvp-directory-categories button.active { background: transparent !important; color: var(--dir-blue) !important; }
.premium-directory .mvp-directory-categories button.active > span { background: var(--dir-blue) !important; color: #fff !important; }
.mvp-directory-card, .store-product-card { border-color: var(--bd-border) !important; box-shadow: var(--bd-shadow-card); }
.mvp-directory-footer { background: var(--bd-navy) !important; }
.mvp-mobile-bottom a.active, .mvp-mobile-bottom button.active { color: var(--bd-cta) !important; }

@media (max-width: 900px) {
  .bd-auth-mascot { width: 300px; right: -35px; opacity: .18; }
}

@media (max-width: 720px) {
  .screen, .saas-content { padding-inline: 14px !important; }
  .topbar { padding-inline: 14px !important; }
  .bd-auth-mascot { display: none; }
  .mvp-directory-header .bd-official-logo img, .customer-header .bd-official-logo img { width: 145px; }
  .mvp-directory-categories > div { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .mvp-directory-categories button { flex: 0 0 auto; scroll-snap-align: start; }
  .mvp-mobile-bottom { padding-bottom: max(8px, env(safe-area-inset-bottom)); }
}
