/**
 * Modo noturno — acompanha o tema do sistema (navegador / celular).
 * Carregado no site público e na Gestão.
 */
html {
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1412;
    --bg-elev: transparent;
    --surface: transparent;
    --border: rgba(180, 210, 198, 0.14);
    --text: #e8efeb;
    --muted: #9aada4;
    --accent: #5fa892;
    --accent-deep: #7bbfaa;
    --accent-soft: #4d8f7c;
    --accent-tint: rgba(95, 168, 146, 0.16);
    --danger: #f87171;
    --danger-tint: rgba(248, 113, 113, 0.14);
    --success: #4ade80;
    --shadow: none;
    --shadow-lg: none;

    --ab-bg: #0f1412;
    --ab-surface: #141916;
    --ab-card: transparent;
    --ab-border: rgba(180, 210, 198, 0.14);
    --ab-text: #e8efeb;
    --ab-muted: #9aada4;
    --ab-accent: #5fa892;
    --ab-accent-deep: #7bbfaa;
    --ab-accent-tint: rgba(95, 168, 146, 0.16);
    --ab-ok: #4ade80;
    --ab-danger: #f87171;
    --ab-sidebar: #0c100e;
    --ab-sidebar-text: #c5d4ce;
    --ab-sidebar-muted: #8aa399;
    --ab-sidebar-hover: rgba(255, 255, 255, 0.06);
    --ab-sidebar-active: #3d7a6a;
    --ab-shadow: none;
    --ab-shadow-soft: none;
    --ab-radius: 14px;
    --ab-radius-sm: 10px;
    --ab-radius-lg: 16px;
    --ab-gap: 14px;
    --ab-gap-lg: 18px;
    --ab-pad: 16px;
    --ab-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --ab-dur: 180ms;
    --ab-dur-slow: 280ms;

    /* Django admin (listagens/formulários) */
    --body-bg: #0f1412;
    --body-fg: #e8efeb;
    --body-quiet-color: #9aada4;
    --body-medium-color: #c5d4ce;
    --body-loud-color: #ffffff;
    --darkened-bg: #1a221f;
    --selected-bg: #151c19;
    --selected-row: rgba(95, 168, 146, 0.18);
    --hairline-color: rgba(180, 210, 198, 0.14);
    --border-color: rgba(180, 210, 198, 0.14);
    --primary: #3d7a6a;
    --primary-fg: #ffffff;
    --link-fg: #7bbfaa;
    --link-hover-color: #8fd0bc;
    --link-selected-fg: #5fa892;
    color-scheme: dark;
  }

  body.marketing {
    --m-bg: #0f1412;
    --m-bg-soft: #151c19;
    --m-surface: #1a221f;
    --m-surface-2: #222b27;
    --m-border: rgba(180, 210, 198, 0.14);
    --m-text: #e8efeb;
    --m-muted: #9aada4;
    --m-accent: #5fa892;
    --m-accent-deep: #7bbfaa;
    --m-accent-soft: rgba(95, 168, 146, 0.18);
    --m-accent-warm: #c4a57a;
    --m-glow: rgba(95, 168, 146, 0.22);

    background:
      radial-gradient(ellipse 90% 55% at 8% -5%, rgba(95, 168, 146, 0.14), transparent 55%),
      radial-gradient(ellipse 70% 45% at 96% 12%, rgba(15, 118, 110, 0.1), transparent 50%),
      radial-gradient(ellipse 60% 40% at 50% 100%, rgba(61, 122, 106, 0.08), transparent 55%),
      linear-gradient(180deg, #121916 0%, #0f1412 40%, #0c100e 100%) !important;
    color: var(--m-text);
  }

  /* —— Site público —— */
  body.marketing .m-header {
    background: rgba(15, 20, 18, 0.88) !important;
  }

  body.marketing .m-header.is-scrolled {
    background: rgba(26, 34, 31, 0.94) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  }

  body.marketing .m-section-alt,
  body.marketing #recursos,
  body.marketing #precos,
  body.marketing #faq,
  body.marketing #beneficios,
  body.marketing #como-comecar,
  body.marketing #na-mao,
  body.marketing #clientes {
    background:
      radial-gradient(ellipse 70% 60% at 12% 20%, rgba(95, 168, 146, 0.1), transparent 55%),
      linear-gradient(180deg, #121916 0%, #0f1412 100%) !important;
  }

  body.marketing .m-nav-toggle,
  body.marketing .m-find-tab,
  body.marketing .m-card,
  body.marketing .m-pricing-card,
  body.marketing .m-price-card,
  body.marketing .m-price-card-compact,
  body.marketing .m-faq details,
  body.marketing .m-feature-card,
  body.marketing .m-feature,
  body.marketing .m-feature-group,
  body.marketing .m-benefit,
  body.marketing .m-start-step,
  body.marketing .m-find-card,
  body.marketing .m-find-ac-list,
  body.marketing .m-plan-tabs,
  body.marketing .m-pricing-more,
  body.marketing .bk-panel,
  body.marketing .bk-hero-card,
  body.marketing .bk-hero-photo-frame,
  body.marketing .bk-tabs,
  body.marketing .bk-service,
  body.marketing .bk-pro,
  body.marketing .bk-review,
  body.marketing .bk-details-panel,
  body.marketing .bk-detail-group,
  body.marketing .bk-social,
  body.marketing .bk-amenity,
  body.marketing .bk-pay,
  body.marketing .bk-option,
  body.marketing .bk-summary,
  body.marketing .bk-done-card,
  body.marketing .bk-deposit-box,
  body.marketing .bk-day,
  body.marketing .bk-slot,
  body.marketing .bk-rating-summary,
  body.marketing .panel,
  body.marketing .auth-card,
  body.marketing .m-include,
  body.marketing .m-start-desk,
  body.marketing .m-start-phone,
  body.marketing .m-phone {
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    border-color: var(--m-border) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
  }

  /* Seções da loja: sem “caixa” atrás do título/lista */
  body.marketing .bk-block,
  body.marketing .bk-shop .bk-block {
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Página pública da loja + agendamento */
  body.marketing .bk-shop,
  body.marketing .bk-book,
  body.marketing .bk-sections {
    color: var(--m-text);
    background: transparent;
  }

  body.marketing .bk-hero,
  body.marketing .bk-shop .bk-hero {
    background:
      radial-gradient(ellipse 55% 48% at 88% 0%, rgba(95, 168, 146, 0.14), transparent 58%),
      linear-gradient(180deg, #151c19 0%, var(--m-bg) 72%) !important;
    border-bottom-color: var(--m-border) !important;
    color: var(--m-text) !important;
  }

  body.marketing .bk-hero-photo-fallback {
    background: linear-gradient(160deg, rgba(95, 168, 146, 0.2) 0%, #151c19 100%) !important;
    color: var(--m-accent-deep) !important;
  }

  body.marketing .bk-shop h1,
  body.marketing .bk-shop h2,
  body.marketing .bk-shop h3,
  body.marketing .bk-hero h1,
  body.marketing .bk-book h1,
  body.marketing .bk-block h2,
  body.marketing .bk-service h3,
  body.marketing .bk-pro strong,
  body.marketing .bk-hero-card-title,
  body.marketing .bk-hero-card-row strong,
  body.marketing .bk-hours-list li strong,
  body.marketing .bk-service-price,
  body.marketing .bk-review-top strong,
  body.marketing .bk-rating-summary strong,
  body.marketing .bk-option-body strong,
  body.marketing .bk-summary strong {
    color: var(--m-text) !important;
  }

  body.marketing .bk-lead,
  body.marketing .bk-meta,
  body.marketing .bk-block-lead,
  body.marketing .bk-hero-card-row span,
  body.marketing .bk-hours-list li span,
  body.marketing .bk-pro span,
  body.marketing .bk-review-meta,
  body.marketing .bk-pix-hint,
  body.marketing .bk-back,
  body.marketing .bk-note,
  body.marketing .bk-review-notes,
  body.marketing .bk-amenity,
  body.marketing .bk-social-label {
    color: var(--m-muted) !important;
  }

  body.marketing .bk-tabs,
  body.marketing .bk-shop .bk-tabs {
    background: var(--m-surface-2, #222b27) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .bk-tabs a,
  body.marketing .bk-shop .bk-tabs a {
    background: transparent !important;
    color: #e8efeb !important;
    border-color: transparent !important;
    font-weight: 700 !important;
  }

  body.marketing .bk-tabs a:hover,
  body.marketing .bk-tabs a:focus,
  body.marketing .bk-shop .bk-tabs a:hover,
  body.marketing .bk-shop .bk-tabs a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }

  body.marketing .bk-tabs a.is-active,
  body.marketing .bk-shop .bk-tabs a.is-active {
    background: var(--m-accent) !important;
    border-color: var(--m-accent) !important;
    color: #ffffff !important;
  }

  body.marketing .bk-day.is-active,
  body.marketing .bk-slot:has(input:checked),
  body.marketing .bk-option:has(input:checked),
  body.marketing .bk-steps li.is-active {
    background: var(--m-accent-soft) !important;
    border-color: rgba(95, 168, 146, 0.45) !important;
    color: var(--m-text) !important;
  }

  body.marketing .bk-avatar {
    background: var(--m-surface-2) !important;
    color: var(--m-text) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .bk-sticky-cta {
    background: rgba(15, 20, 18, 0.92) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .bk-product-photo {
    background: var(--m-bg-soft) !important;
  }

  body.marketing .bk-maps-btn,
  body.marketing .bk-hero-cta .m-btn-ghost {
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .m-feature:hover,
  body.marketing .m-benefit:hover,
  body.marketing .m-price-card.is-highlight,
  body.marketing .m-price-card.is-popular {
    background: var(--m-surface-2) !important;
    border-color: rgba(95, 168, 146, 0.35) !important;
  }

  body.marketing .m-find-tab.is-active,
  body.marketing .m-plan-tab.is-active {
    background: var(--m-accent) !important;
    border-color: transparent !important;
    color: #fff !important;
  }

  body.marketing .m-plan-tab {
    color: var(--m-muted) !important;
  }

  body.marketing .m-pricing-save-pill {
    background: rgba(95, 168, 146, 0.2) !important;
    color: var(--m-accent-deep) !important;
  }

  body.marketing .m-plan-tab.is-active .m-pricing-save-pill {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
  }

  body.marketing .m-faq details {
    background: linear-gradient(165deg, #1a221f 0%, #151c19 100%) !important;
  }

  body.marketing .m-faq summary,
  body.marketing .m-benefit h3,
  body.marketing .m-feature h3,
  body.marketing .m-feature-group-title,
  body.marketing .m-start-step h3,
  body.marketing .m-price-card h3,
  body.marketing .m-section h2,
  body.marketing .m-section h3 {
    color: var(--m-text) !important;
  }

  body.marketing .m-faq details p,
  body.marketing .m-benefit p,
  body.marketing .m-feature p,
  body.marketing .m-start-step p,
  body.marketing .m-section-lead,
  body.marketing .m-pricing-note,
  body.marketing .m-pricing-sublead,
  body.marketing .m-func-list li,
  body.marketing .m-check-list li,
  body.marketing .m-muted,
  body.marketing .muted {
    color: var(--m-muted) !important;
  }

  body.marketing .m-func-list li,
  body.marketing .m-check-list li {
    border-color: var(--m-border) !important;
  }

  body.marketing .m-btn-ghost:not(.m-btn-on-dark),
  body.marketing .m-btn-secondary {
    background: var(--m-surface-2) !important;
    color: var(--m-text) !important;
    border: 1px solid var(--m-border) !important;
  }

  body.marketing .m-btn-ghost:not(.m-btn-on-dark):hover,
  body.marketing .m-btn-secondary:hover {
    background: var(--m-accent-soft) !important;
    border-color: rgba(95, 168, 146, 0.4) !important;
  }

  body.marketing input,
  body.marketing select,
  body.marketing textarea,
  body.marketing .m-find-row input,
  body.marketing .m-find-ac input {
    background: var(--m-surface-2) !important;
    color: var(--m-text) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .m-footer,
  body.marketing .m-back-bar {
    background: rgba(12, 16, 14, 0.96) !important;
    border-color: var(--m-border) !important;
    color: var(--m-muted);
  }

  body.marketing .m-footer a,
  body.marketing .m-nav a {
    color: var(--m-text);
  }

  body.marketing .m-nav-links > a:not(.m-btn) {
    color: var(--m-muted);
  }

  body.marketing .m-nav-links > a:not(.m-btn):hover,
  body.marketing .m-nav-links > a:not(.m-btn).is-active {
    color: var(--m-accent-deep);
    background: rgba(95, 168, 146, 0.14);
  }

  body.marketing .m-nav-links {
    background: var(--m-surface) !important;
    border-color: var(--m-border) !important;
  }

  body.marketing .m-start-num,
  body.marketing .m-benefit-icon,
  body.marketing .m-feature-icon {
    background: var(--m-accent-soft) !important;
    color: var(--m-accent-deep) !important;
  }

  body.marketing .m-price-value,
  body.marketing .m-price-barbers {
    color: var(--m-text) !important;
  }

  body.marketing .m-pricing-featured,
  body.marketing .m-inline-cta .m-btn-ghost {
    border-color: var(--m-border) !important;
  }


  /* —— Auth / cadastro —— */
  html,
  body:has(.auth-wrap) {
    background: var(--bg) !important;
    color: var(--text) !important;
  }

  .auth-wrap {
    background:
      radial-gradient(ellipse 60% 50% at 80% 10%, rgba(95, 168, 146, 0.12), transparent 55%),
      radial-gradient(ellipse 50% 40% at 10% 90%, rgba(15, 118, 110, 0.08), transparent 50%),
      var(--bg) !important;
    color: var(--text);
  }

  .auth-card.panel,
  .auth-card,
  .panel {
    background: var(--surface) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
  }

  .auth-card h1,
  .auth-card label,
  .auth-card .brand,
  .auth-card .brand span {
    color: var(--text) !important;
  }

  .auth-card .muted,
  .auth-footer,
  .auth-footer.muted {
    color: var(--muted) !important;
  }

  .auth-card a {
    color: var(--accent-deep) !important;
  }

  .auth-card input,
  .auth-card textarea,
  .auth-card select,
  .auth-terms-field {
    background: var(--bg-elev) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
  }

  .auth-plan-option {
    background: var(--bg-elev) !important;
    border-color: var(--border) !important;
    color: var(--text);
  }

  .auth-alert {
    background: #3f1d1d !important;
    border-color: #f87171 !important;
    color: #fecaca !important;
  }

  /* —— Gestão (AdminLTE overlay) —— */
  html,
  body,
  body.sidebar-mini,
  .content-wrapper,
  .main-footer,
  .ab-saas-footer,
  .wrapper {
    background: var(--ab-bg) !important;
    color: var(--ab-text) !important;
  }

  .main-header,
  .main-header .navbar,
  .main-header.navbar-white,
  .navbar-white {
    background: var(--ab-surface) !important;
    border-color: var(--ab-border) !important;
    color: var(--ab-text) !important;
  }

  .main-header .nav-link {
    color: var(--ab-text) !important;
  }

  .main-header .nav-link:hover {
    background: var(--ab-accent-tint) !important;
    color: var(--ab-accent-deep) !important;
  }

  .main-header button.nav-link.ab-pwa-notify-btn,
  .main-header button.nav-link.ab-pwa-install-btn {
    color: var(--ab-muted) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .main-header button.nav-link.ab-pwa-notify-btn:hover,
  .main-header button.nav-link.ab-pwa-install-btn:hover {
    color: var(--ab-text) !important;
    background: var(--ab-accent-tint) !important;
  }

  .main-header button.nav-link.ab-pwa-notify-btn[data-state="unsupported"],
  .main-header button.nav-link.ab-pwa-notify-btn[data-state="denied"],
  .main-header button.nav-link.ab-pwa-notify-btn[data-state="error"] {
    color: var(--ab-muted) !important;
    background: #151c19 !important;
    border: 1px solid var(--ab-border) !important;
    box-shadow: none !important;
  }

  .card,
  .ab-account-card,
  .ab-fieldset-card,
  .ab-ops-panel,
  .ab-ops-metric,
  .ab-comanda-metric,
  .ab-comanda-flow,
  .ab-comanda-side,
  .ab-ticket-panel,
  .ab-hist-panel,
  .ab-shop-identity-photo,
  .ab-shop-gallery-card,
  .info-box,
  .small-box,
  .ab-slot-picker,
  .ab-results-card,
  .ab-filter-panel,
  #changelist-filter,
  .module,
  fieldset.module,
  .ab-cal-modal-card,
  .ab-cal-modal-panel,
  .ab-stat,
  .ab-card,
  .ab-ind-card,
  .ab-ind-compare-card,
  .ab-ratings-summary,
  .ab-platform-kpi,
  .ab-tour-card {
    background: transparent !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
    box-shadow: none !important;
  }

  .dropdown-menu,
  .modal-content,
  .login-box .card {
    background: #141916 !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
    box-shadow: var(--shadow, 0 8px 24px rgba(0, 0, 0, 0.35)) !important;
  }

  .ab-fieldset-card .card-header,
  .ab-fieldset-card .card-header.ab-section-head,
  .card-header,
  .ab-loja-section-head,
  .ab-section-head-standalone,
  .card-body {
    background: transparent !important;
    border-color: var(--ab-border) !important;
    color: var(--ab-text) !important;
    box-shadow: none !important;
  }

  .ab-fieldset-card .card-title,
  .card-title,
  .ab-loja-section-head h2,
  .ab-section-head-standalone h2 {
    color: var(--ab-text) !important;
  }

  .ab-fieldset-desc,
  .ab-loja-section-head p,
  .ab-section-head-standalone p,
  .ab-ops-sub,
  .text-muted,
  .ab-muted-note {
    color: var(--ab-muted) !important;
  }

  .form-control,
  .custom-select,
  select.form-control,
  textarea.form-control,
  input.form-control,
  .ab-field input,
  .ab-field select,
  .ab-field textarea,
  .ab-shop-field input,
  .ab-shop-field select,
  .ab-shop-field textarea,
  .ab-account input[type="text"],
  .ab-account input[type="email"],
  .ab-account input[type="tel"],
  .ab-account input[type="number"],
  .ab-account textarea,
  .select2-container--default .select2-selection--single,
  .select2-dropdown {
    background: #121916 !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .form-control:focus,
  .ab-account input:focus,
  .ab-field input:focus {
    border-color: rgba(95, 168, 146, 0.5) !important;
    box-shadow: 0 0 0 3px rgba(95, 168, 146, 0.18) !important;
  }

  .table,
  .table td,
  .table th,
  #result_list,
  #result_list td,
  #result_list th,
  .ab-hist-table,
  .ab-hist-table td,
  .ab-hist-table th {
    background: var(--ab-card) !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .table thead th,
  #result_list thead th {
    background: #151c19 !important;
    color: var(--ab-muted) !important;
  }

  .table-striped tbody tr:nth-of-type(odd),
  #result_list tbody tr:nth-child(odd) {
    background: rgba(255, 255, 255, 0.03) !important;
  }

  .breadcrumb,
  .ab-breadcrumb,
  .ab-change-header {
    background: transparent !important;
    color: var(--ab-muted) !important;
  }

  .btn-default,
  .btn-outline-secondary,
  .btn-secondary,
  a.btn-default,
  a.btn-outline-secondary,
  a.btn-secondary,
  button.btn-default,
  button.btn-outline-secondary,
  button.btn-secondary,
  .ab-link-actions .btn,
  .ab-link-actions button.btn,
  .ab-link-actions a.btn {
    background: var(--ab-surface) !important;
    background-color: var(--ab-surface) !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .btn-default:hover,
  a.btn-default:hover,
  button.btn-default:hover {
    background: var(--ab-accent-tint) !important;
    background-color: var(--ab-accent-tint) !important;
  }

  .ab-photo-circle-frame,
  .ab-photo-circle-media {
    background: #151c19 !important;
    border-color: var(--ab-border) !important;
  }

  .content-header,
  .content {
    color: var(--ab-text) !important;
  }

  /* Ops inline hardcodes */
  .ab-ops-metric,
  .ab-ops-panel,
  .ab-comanda-metric,
  .ab-comanda-flow,
  .ab-comanda-side,
  .ab-ticket-panel,
  .ab-hist-panel,
  .ab-ticket.is-open,
  .ab-ticket.is-warn {
    background: var(--ab-card) !important;
    color: var(--ab-text) !important;
  }

  .ab-ops-metric.is-live,
  .ab-ops-panel.is-accent,
  .ab-comanda-metric.is-live {
    background: linear-gradient(
      180deg,
      rgba(95, 168, 146, 0.2) 0%,
      var(--ab-card) 72%
    ) !important;
    border-color: rgba(95, 168, 146, 0.35) !important;
  }

  .ab-ops-metric.is-warn,
  .ab-ops-panel.is-warn,
  .ab-comanda-metric.is-warn {
    background: linear-gradient(
      180deg,
      rgba(217, 119, 6, 0.16) 0%,
      var(--ab-card) 72%
    ) !important;
    border-color: rgba(217, 119, 6, 0.35) !important;
  }

  .ab-ops-metric-ico,
  .ab-comanda-metric-ico {
    background: rgba(95, 168, 146, 0.18) !important;
    color: var(--ab-accent-deep) !important;
  }

  .ab-ops-live-now {
    background: rgba(95, 168, 146, 0.16) !important;
    border: 1px solid rgba(95, 168, 146, 0.35) !important;
    color: var(--ab-text) !important;
  }

  .ab-ops-live-now strong,
  .ab-mini-list strong,
  .ab-ops-panel-head h2 {
    color: var(--ab-text) !important;
  }

  .ab-ops-live-now span,
  .ab-mini-list small,
  .ab-ops-blank span {
    color: var(--ab-muted) !important;
  }

  .ab-mini-list a {
    color: var(--ab-accent-deep) !important;
  }

  .ab-ops-blank {
    background: #151c19 !important;
    border-color: rgba(180, 210, 198, 0.2) !important;
  }

  .ab-ops-blank > i {
    color: var(--ab-accent-deep) !important;
  }

  .ab-ops-sub,
  .ab-comanda-side-list li,
  .ab-ticket-empty {
    color: var(--ab-muted) !important;
  }

  .ab-comanda-steps > li,
  .ab-comanda-side-list li,
  .ab-ops-panel .ab-ops-empty,
  .ab-ticket-empty {
    background: #151c19 !important;
    border-color: var(--ab-border) !important;
  }

  /* Dashboard: quicknav, calendário, link público */
  .ab-dash-quicknav-item,
  .ab-dash-shortcuts .ab-shortcut,
  .ab-shortcut,
  .ab-dash-cal-btn,
  .ab-dash-cal-day,
  .ab-dash-cal-day.has-items,
  .ab-dash-cal-day.is-selected,
  .ab-dash-cal-filter select,
  .ab-link-card code,
  .ab-public-link code,
  .ab-shop-chip-plan,
  .ab-shop-preview-panel,
  .ab-shop-preview-devices,
  .ab-param-table,
  .ab-param-row {
    background: var(--ab-surface) !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .ab-dash-cal-day.is-out {
    background: var(--ab-bg) !important;
  }

  .ab-dash-cal-day.is-today,
  .ab-dash-cal-day:hover,
  .ab-dash-quicknav-item:hover,
  .ab-dash-cal-btn:hover {
    background: var(--ab-accent-tint) !important;
    border-color: rgba(95, 168, 146, 0.4) !important;
    color: var(--ab-text) !important;
  }

  .ab-dash-cal-title,
  .ab-dash-cal-num,
  .ab-card-head h2,
  .ab-card-head h3 {
    color: var(--ab-text) !important;
  }

  .ab-dash-cal-head > div,
  .ab-dash-cal-filter label,
  .ab-dash-shortcuts .ab-shortcut small,
  .ab-muted-label {
    color: var(--ab-muted) !important;
  }

  .ab-param-row:nth-child(even) {
    background: #151c19 !important;
  }

  .ab-shop-chip-plan.is-active {
    background: var(--ab-accent-tint) !important;
    color: var(--ab-accent-deep) !important;
  }

  .preloader,
  .dark-mode .preloader {
    background: var(--ab-bg) !important;
  }

  /* Agendamento: grade de horário + histórico + ajuda */
  .ab-slot-picker {
    background: transparent !important;
    border-color: var(--ab-border) !important;
    color: var(--ab-text) !important;
    box-shadow: none !important;
  }

  .ab-report-label {
    color: var(--ab-muted) !important;
  }
  .ab-report-bar {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--ab-border) !important;
  }
  .ab-report-bar > i {
    background: linear-gradient(90deg, #3d7a6a, #5fa892) !important;
  }
  .ab-report-bars > li > strong {
    color: var(--ab-text) !important;
  }

  .ab-month-nav {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: var(--ab-border) !important;
  }
  .ab-month-nav-btn {
    color: var(--ab-text) !important;
  }
  .ab-month-nav-btn:hover {
    background: rgba(95, 168, 146, 0.16) !important;
    color: #7bbfaa !important;
  }
  .ab-month-nav-label {
    color: var(--ab-text) !important;
  }
  .ab-day-nav-form input[type="date"] {
    color: var(--ab-text) !important;
    color-scheme: dark;
  }
  .ab-day-nav-form input[type="date"]:focus {
    background: rgba(95, 168, 146, 0.16) !important;
  }
  .ab-home-kpi,
  .ab-home-chart {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: var(--ab-border) !important;
  }
  .ab-home-kpi.is-accent {
    background: linear-gradient(180deg, rgba(95, 168, 146, 0.14), rgba(255, 255, 255, 0.03) 70%) !important;
  }
  .ab-home-kpi-value,
  .ab-home-chart-head h2 {
    color: var(--ab-text) !important;
  }

  .ab-slot-picker-head strong,
  .ab-slot-day,
  .ab-slot-day strong,
  .ab-slot-btn span,
  .ab-history-head h2,
  .ab-history-title {
    color: var(--ab-text) !important;
  }

  .ab-slot-picker-hint,
  .ab-slot-day span,
  .ab-slot-empty,
  .ab-slot-need,
  .ab-history-meta,
  .ab-history-from,
  .ab-history-created,
  .ab-history-head p,
  .ab-history-empty,
  .help,
  .helptext,
  .form-text,
  .form-row .help,
  .form-group .help {
    color: #b7c9c1 !important;
  }

  .ab-slot-selected,
  .ab-history-to {
    color: var(--ab-accent-deep) !important;
  }

  .ab-slot-locked-when strong,
  .ab-appt-summary-when {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(52, 211, 153, 0.4) !important;
  }
  .ab-slot-locked-label {
    color: #b7c9c1 !important;
  }
  .ab-appt-summary-row dt {
    color: #b7c9c1 !important;
  }
  .ab-appt-summary-chip.is-scheduled {
    color: #fbbf24 !important;
    background: rgba(217, 119, 6, 0.12) !important;
    border-color: rgba(251, 191, 36, 0.4) !important;
  }
  .ab-appt-summary-chip.is-confirmed {
    color: #93c5fd !important;
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(147, 197, 253, 0.4) !important;
  }
  .ab-appt-summary-chip.is-completed {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(52, 211, 153, 0.4) !important;
  }
  .ab-appt-summary-chip.is-cancelled {
    color: #cbd5e1 !important;
    background: rgba(148, 163, 184, 0.12) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
  }
  .ab-appt-summary-chip.is-no_show {
    color: #fca5a5 !important;
    background: rgba(248, 113, 113, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.4) !important;
  }
  .ab-appt-summary-chip.is-when {
    color: var(--ab-text) !important;
    background: rgba(95, 168, 146, 0.12) !important;
    border-color: rgba(95, 168, 146, 0.35) !important;
  }

  input.ab-start-locked,
  .ab-start-locked {
    color: var(--ab-text) !important;
    background: rgba(95, 168, 146, 0.12) !important;
    border-color: rgba(95, 168, 146, 0.35) !important;
  }

  .ab-slot-day,
  .ab-slot-btn span {
    background: var(--ab-card) !important;
    border-color: var(--ab-border) !important;
  }

  .ab-slot-day.is-active,
  .ab-slot-day:hover {
    background: rgba(95, 168, 146, 0.18) !important;
    border-color: rgba(95, 168, 146, 0.45) !important;
  }

  .ab-slot-btn.is-active span,
  .ab-slot-btn:has(input:checked) span,
  .ab-slot-btn:hover span {
    background: var(--ab-accent) !important;
    border-color: var(--ab-accent) !important;
    color: #fff !important;
  }

  .ab-history-panel {
    background: var(--ab-card) !important;
    border-color: var(--ab-border) !important;
  }

  .ab-history-dot {
    border-color: #151c19 !important;
  }

  .ab-status-pill {
    background: var(--ab-card) !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .ab-status-pill.is-active.is-scheduled {
    background: rgba(217, 119, 6, 0.22) !important;
    color: #fde68a !important;
    border-color: rgba(217, 119, 6, 0.5) !important;
  }

  .ab-status-action {
    background: rgba(255, 255, 255, 0.04) !important;
    border-width: 1.5px !important;
  }
  .ab-status-action.is-confirm {
    color: #93c5fd !important;
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(147, 197, 253, 0.4) !important;
  }
  .ab-status-action.is-finish {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(52, 211, 153, 0.4) !important;
  }
  .ab-status-action.is-cancel {
    color: #f87171 !important;
    background: rgba(248, 113, 113, 0.1) !important;
    border-color: rgba(248, 113, 113, 0.35) !important;
  }
  .ab-status-action.is-noshow {
    color: #fbbf24 !important;
    background: rgba(251, 191, 36, 0.1) !important;
    border-color: rgba(251, 191, 36, 0.35) !important;
  }
  .ab-status-now-badge.is-scheduled {
    color: #fbbf24 !important;
    background: rgba(217, 119, 6, 0.12) !important;
    border-color: rgba(251, 191, 36, 0.4) !important;
  }
  .ab-status-now-badge.is-confirmed {
    color: #93c5fd !important;
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(147, 197, 253, 0.4) !important;
  }
  .ab-status-now-badge.is-completed {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(52, 211, 153, 0.4) !important;
  }
  .ab-status-now-badge.is-cancelled {
    color: #cbd5e1 !important;
    background: rgba(148, 163, 184, 0.12) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
  }
  .ab-status-now-badge.is-no_show {
    color: #fca5a5 !important;
    background: rgba(248, 113, 113, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.4) !important;
  }

  .form-control,
  .custom-select,
  select.form-control,
  textarea.form-control,
  input.form-control,
  .vTextField,
  .vLargeTextField {
    color: #f1f5f3 !important;
  }

  /* ── Contraste global Gestão (textos hardcoded claros) ── */
  .ab-dash-day-body strong,
  .ab-dash-day-link,
  .ab-cal-modal-card .ab-dash-day-body strong,
  .ab-cal-modal-rows strong,
  .ab-cal-modal-head h2,
  .ab-timeline-item strong,
  .ab-timeline-top strong,
  .ab-appt-client,
  .ab-appt-client a,
  .ab-staff-item strong,
  .ab-stat strong,
  .ab-card strong,
  .ab-card h2,
  .ab-card h3,
  .ab-rank-name,
  .ab-status-legend strong,
  .ab-param-label strong,
  .ab-help-steps strong,
  .ab-help-day ol,
  .ab-help-day li,
  .ab-ind-compare-card strong,
  .ab-ind-card header h2,
  .ab-ind-card strong,
  .ab-ratings-score-num,
  .ab-ratings-barber-pill strong,
  .ab-ratings-detail-dl dd,
  .ab-platform-kpi strong,
  .ab-tour-card,
  .ab-tour-card h2,
  .ab-audit-summary,
  .ab-shop-field--check .ab-check-label,
  .ab-shop-gallery-meta > strong,
  .ab-shop-listed-check strong,
  .ab-plan-current-name,
  .ab-plan-current-meta,
  .ab-plan-price,
  .ab-plan-features li,
  .ab-ticket-main strong,
  .ab-comanda-hero h2,
  .ab-ops-aside h3,
  .ab-ops-aside-list li {
    color: var(--ab-text) !important;
  }

  .ab-dash-day-body small,
  .ab-cal-modal-kicker,
  .ab-cal-modal-empty,
  .ab-cal-modal-rows span,
  .ab-cal-modal-notes,
  .ab-param-label small,
  .ab-param-num,
  .ab-staff-msg-field span,
  .ab-staff-msg-recipients legend,
  .ab-staff-msg-item-body p,
  .ab-help-toc a,
  .ab-ratings-pending-wrap summary,
  .ab-ratings-detail-comment p,
  .ab-ratings-barber-pill,
  .ab-shop-slug-preview code,
  .ab-shop-preview-error p,
  .ab-plan-badge.is-soft,
  .ab-tour-card p,
  .ab-tour-reject,
  .ab-audit-pill,
  .ab-audit-src-system,
  .ab-cal-modal-x {
    color: var(--ab-muted) !important;
  }

  .ab-dash-day-item {
    border-bottom-color: var(--ab-border) !important;
  }

  .ab-dash-day-item.status-confirmed .ab-dash-day-time { color: #8fd0bc !important; }
  .ab-dash-day-item.status-completed .ab-dash-day-time { color: #4ade80 !important; }
  .ab-dash-day-item.status-scheduled .ab-dash-day-time { color: #fbbf24 !important; }
  .ab-dash-day-item.status-no_show .ab-dash-day-time { color: #f87171 !important; }

  .ab-cal-modal-card,
  .ab-cal-modal-panel,
  .ab-stat,
  .ab-card,
  .ab-ind-card,
  .ab-ind-compare-card,
  .ab-ratings-summary,
  .ab-platform-kpi,
  .ab-tour-card {
    background: transparent !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
    box-shadow: none !important;
  }

  .ab-cal-modal-head {
    border-color: var(--ab-border) !important;
  }

  .ab-cal-modal-notes {
    background: #151c19 !important;
  }

  .ab-ticket-time,
  .ab-hist-time,
  .ab-hist-pay-ok,
  .ab-comanda-metric-ico,
  .ab-comanda-step-ico,
  .ab-comanda-kicker,
  .ab-comanda-side-list i,
  .ab-ticket-empty > i,
  .ab-ops-metric-ico,
  .ab-ops-kicker {
    color: var(--ab-accent-deep) !important;
  }

  .ab-saas-nav:not(.is-limit),
  .ab-saas-banner:not(.is-limit) .ab-saas-banner-inner {
    color: var(--ab-accent-deep) !important;
    background: rgba(95, 168, 146, 0.14) !important;
    border-color: rgba(95, 168, 146, 0.35) !important;
  }

  .ab-audit-filters input,
  .ab-audit-filters select {
    background: #121916 !important;
    color: var(--ab-text) !important;
    border-color: var(--ab-border) !important;
  }

  .ab-badge,
  .ab-badge-scheduled,
  .ab-badge-confirmed {
    color: var(--ab-accent-deep) !important;
  }

  .ab-badge-completed {
    color: #4ade80 !important;
  }

  .ab-badge-cancelled {
    color: var(--ab-muted) !important;
  }

  .content-wrapper a,
  .ab-dashboard a:not(.btn),
  .ab-ops a:not(.btn) {
    color: var(--ab-accent-deep);
  }

  .content-wrapper a:hover,
  .ab-dashboard a:not(.btn):hover,
  .ab-ops a:not(.btn):hover {
    color: #a7e0d0;
  }
}
