/* DEMAND V34: paleta compartilhada. Mantém a estrutura e os componentes. */
:root {
  --demand-bg: #080808;
  --demand-surface: #111111;
  --demand-elevated: #191919;
  --demand-border: #353535;
  --demand-text: #ffffff;
  --demand-muted: #d4d4d4;
  --demand-red: #dc2626;
  --demand-red-hover: #b91c1c;
  --demand-red-soft: #fca5a5;
  --p-bg: var(--demand-bg);
  --p-bg2: #101010;
  --p-surface: var(--demand-surface);
  --p-surface2: var(--demand-elevated);
  --p-surface3: #222222;
  --p-border: var(--demand-border);
  --p-text: var(--demand-text);
  --p-muted: var(--demand-muted);
  --p-purple: var(--demand-red);
  --p-purple2: var(--demand-red-hover);
  --p-purple-soft: var(--demand-red-soft);
  --g-purple: var(--demand-red);
  --g-purple-2: var(--demand-red-hover);
  --g-purple-soft: var(--demand-red-soft);
  --source-purple: var(--demand-red);
  --source-purple-soft: var(--demand-red-soft);
  --ghost-chat-purple: var(--demand-red);
  --ghost-chat-purple2: var(--demand-red-soft);
  --tblr-primary: var(--demand-red);
  --tblr-primary-rgb: 220, 38, 38;
  --tblr-purple: var(--demand-red);
  --tblr-purple-rgb: 220, 38, 38;
  --bs-primary: var(--demand-red);
  --bs-primary-rgb: 220, 38, 38;
}

:is(body.ghost-admin, body.source-customer, body.ghost-customer, body.demand-install) {
  color-scheme: dark;
  --tblr-body-bg: var(--demand-bg);
  --tblr-body-color: var(--demand-text);
  --tblr-bg-surface: var(--demand-surface);
  --tblr-bg-surface-secondary: var(--demand-elevated);
  --tblr-border-color: var(--demand-border);
  --tblr-secondary-color: var(--demand-muted);
  --tblr-primary: var(--demand-red);
  --tblr-primary-rgb: 220, 38, 38;
  --tblr-link-color: var(--demand-text);
  --tblr-link-hover-color: var(--demand-red-soft);
  background: var(--demand-bg) !important;
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.page, .page-wrapper, .source-tabler-wrapper, .ghost-page-wrapper, .page-body, .footer) {
  background: var(--demand-bg) !important;
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.card, .card-body, .card-header, .card-footer, .customer-hero, .ticket-customer-hero, .modal-content, .dropdown-menu, .offcanvas, .list-group-item, .accordion-item, .accordion-body, .accordion-button) {
  background: var(--demand-surface) !important;
  color: var(--demand-text) !important;
  border-color: var(--demand-border) !important;
  box-shadow: none !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(h1, h2, h3, h4, h5, h6, .page-title, .card-title, .ghost-card-number, .form-label, .nav-link, .navbar-brand, .dropdown-item, .subheader, .page-pretitle, .admin-eyebrow) {
  color: var(--demand-text) !important;
}
.source-customer :is(.customer-hero, .ticket-customer-hero) :is(h1, h2, h3, .page-title, .page-pretitle) {
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.text-secondary, .text-muted, .form-hint, .table-meta, .kpi-hint, .empty-table, .card-subtitle) {
  color: var(--demand-muted) !important;
}
.source-customer .customer-hero :is(p, .text-secondary) { color: var(--demand-muted) !important; }
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.source-customer-nav, .source-tabler-sidebar, .admin-topbar, .ghost-topbar, .customer-navbar) {
  background: #0c0c0c !important;
  color: var(--demand-text) !important;
  border-color: var(--demand-border) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer) :is(.source-customer-brand, .source-admin-brand, .admin-top-user, .customer-quick-action, .customer-logout-icon, .admin-mobile-menu-btn) {
  color: var(--demand-text) !important;
  background-color: transparent;
}
:is(.ghost-admin, .source-customer, .ghost-customer) :is(.source-customer-brand small, .source-admin-brand small, .admin-top-user small, .nav-section-title, .topbar-context) {
  color: var(--demand-muted) !important;
}
.source-tabler-sidebar .nav-link, .source-customer-nav .nav-link { color: var(--demand-text) !important; }
.source-tabler-sidebar .nav-item.active > .nav-link, .source-customer-nav .nav-link.active {
  color: var(--demand-text) !important;
  background: rgba(220, 38, 38, .16) !important;
}
.ghost-admin #sidebar-menu .nav-item.active > .nav-link { background: rgba(220, 38, 38, .16) !important; }
.source-tabler-sidebar .nav-item.active > .nav-link::before { background: var(--demand-red) !important; }
:is(.source-customer, .ghost-admin) :is(.source-admin-mark, .customer-cart-count, .admin-brand-mark, .customer-order-note-icon, .order-message-avatar) {
  background: var(--demand-red) !important;
  color: var(--demand-text) !important;
  box-shadow: none !important;
}
:is(.source-customer, .ghost-admin) :is(.source-customer-avatar, .source-admin-avatar, .profile-avatar-placeholder, .customer-profile-photo-fallback, .customer-card-generic) {
  background: #251010 !important;
  color: var(--demand-text) !important;
  border-color: #763030 !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.form-control, .form-select, .input-group-text, .wysiwyg-editor, .wysiwyg-toolbar, .admin-captcha, .ticket-captcha-box) {
  background: #151515 !important;
  color: var(--demand-text) !important;
  border-color: #464646 !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .form-control::placeholder { color: #b3b3b3 !important; opacity: 1; }
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.form-control, .form-select, .wysiwyg-editor):focus {
  border-color: var(--demand-red) !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .22) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.form-check-input:checked, .btn-primary) {
  background-color: var(--demand-red) !important;
  border-color: var(--demand-red) !important;
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .btn-primary:hover {
  background: var(--demand-red-hover) !important;
  border-color: var(--demand-red-hover) !important;
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.btn-outline-primary, .btn-outline-danger) {
  color: var(--demand-text) !important;
  border-color: var(--demand-red) !important;
  background: transparent !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.btn-outline-primary, .btn-outline-danger):hover {
  background: #401313 !important;
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.btn-outline-secondary, .btn-link) {
  color: var(--demand-text) !important;
  border-color: #575757;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.btn-light, .btn-white, .btn-secondary),
.source-customer .customer-quick-action {
  background: #151515 !important;
  color: var(--demand-text) !important;
  border-color: #575757 !important;
}
.source-customer .customer-quick-action:is(:hover, :focus-visible) {
  background: #351010 !important;
  color: var(--demand-text) !important;
  border-color: var(--demand-red) !important;
}
@media (max-width: 767px) {
  .source-customer .customer-quick-action svg { flex-shrink: 0; }
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) :is(.dropdown-item:hover, .dropdown-item:focus, .accordion-button:not(.collapsed), .page-link.active, .active > .page-link) {
  color: var(--demand-text) !important;
  background: #351010 !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .table {
  --tblr-table-bg: transparent;
  --tblr-table-color: var(--demand-text);
  --tblr-table-border-color: var(--demand-border);
  color: var(--demand-text) !important;
}
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .table :is(td, th) { color: var(--demand-text) !important; border-color: var(--demand-border) !important; }
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .table thead th { background: #181818 !important; color: var(--demand-text) !important; }
:is(.ghost-admin, .source-customer, .ghost-customer, .demand-install) .table tbody tr:hover > * { background: #242424 !important; color: var(--demand-text) !important; box-shadow: none !important; }
.source-customer .table tbody tr:hover .text-secondary { color: var(--demand-muted) !important; }
:is(.source-customer, .ghost-admin) :is(.ticket-message, .order-message-item, .customer-payment-method, .media-drop, .media-drop-body, .customer-order-note, .support-faq .accordion-body) {
  background: #191919 !important;
  color: var(--demand-text) !important;
  border-color: var(--demand-border) !important;
}
.source-customer .ticket-message.from-customer { background: #251010 !important; border-color: #6b2929 !important; }
.source-customer .ticket-message.from-support { background: #191919 !important; border-color: var(--demand-border) !important; }
:is(.source-customer, .ghost-admin) :is(.ticket-message-body, .ticket-message-head, .ticket-message-head strong, .order-message-text, .order-message-head, .promo-coupon-code, .customer-order-note-title, .customer-order-note-text) { color: var(--demand-text) !important; }
:is(.source-customer, .ghost-admin) :is(.ticket-message-head span, .ticket-message-head time, .order-message-head small) { color: var(--demand-muted) !important; }
:is(.source-customer, .ghost-admin) :is(.bg-purple-lt, .bg-blue-lt) { color: var(--demand-text) !important; background: #421515 !important; }
:is(.source-customer, .ghost-admin) :is(.bg-green-lt, .bg-yellow-lt, .bg-secondary-lt) { color: var(--demand-text) !important; background: #292929 !important; }
:is(.source-customer, .ghost-admin) :is(.bg-red-lt, .alert-danger, .alert-warning) { color: var(--demand-text) !important; background: #311111 !important; border-color: #864141 !important; }
:is(.source-customer, .ghost-admin) :is(.alert-success, .alert-info) { color: var(--demand-text) !important; background: #191919 !important; border-color: #626262 !important; }
:is(.source-customer, .ghost-admin) :is(.ticket-upload-box, .ticket-info-note, .image-attachment-status, .customer-order-status) { color: var(--demand-text) !important; background: #191919 !important; border-color: var(--demand-border) !important; }
.source-customer .support-faq :is(.accordion-item, .accordion-button, .accordion-body) { color: var(--demand-text) !important; background: #111111 !important; border-color: var(--demand-border) !important; }
.source-customer .support-faq .accordion-button:not(.collapsed) { background: #351010 !important; color: var(--demand-text) !important; }
:is(.source-customer, .ghost-admin) .demand-attachment-list a { color: var(--demand-text) !important; }
:is(.source-customer, .ghost-admin) .demand-attachment-list a:hover { color: var(--demand-red-soft) !important; }
:is(.source-customer, .ghost-admin) .demand-upload-zone { color: var(--demand-text); border-color: #676767; background: #151515; }
:is(.source-customer, .ghost-admin) .demand-upload-zone:is(:hover, :focus-visible, .is-dragover) { border-color: var(--demand-red) !important; background: #251010 !important; outline-color: var(--demand-red) !important; }
:is(.source-customer, .ghost-admin) .progress-bar { background: var(--demand-red) !important; }

/* Detalhes vermelhos no site público e nas telas de cadastro/checkout. */
.store-body { --bs-link-color: var(--demand-red-soft); --bs-link-hover-color: #ffffff; }
.store-body :is(.btn-primary, .btn-dark, .bg-purple, .checkout-item-qty, .cart-count, .bag-count) { background: var(--demand-red) !important; border-color: var(--demand-red) !important; color: #ffffff !important; }
.store-body :is(.btn-primary, .btn-dark):hover { background: var(--demand-red-hover) !important; border-color: var(--demand-red-hover) !important; }
.store-body .btn-outline-primary { color: #ffffff !important; border-color: var(--demand-red) !important; background: transparent !important; }
.store-body .btn-outline-primary:hover { background: #401313 !important; color: #ffffff !important; }
.store-body :is(.text-purple, .section-kicker, .eyebrow, .oldskool-menu .nav-link.active, .oldskool-menu .nav-link:hover, .checkout-steps .active) { color: #f87171 !important; }
.store-body :is(.form-control:focus, .form-select:focus, .mp-field:focus-within) { border-color: var(--demand-red) !important; box-shadow: 0 0 0 3px rgba(220, 38, 38, .2) !important; }
.store-body .form-check-input:checked { background-color: var(--demand-red) !important; border-color: var(--demand-red) !important; }
.store-body .platform-plan-card-featured { border-color: var(--demand-red) !important; }
.store-body .oldskool-menu .nav-link.active::after { background: var(--demand-red) !important; }

/* Carrinho digital da assinatura, seguindo a paleta do site. */
.store-body .platform-cart .card { background: #111111; border: 1px solid #333333; color: #ffffff; }
.store-body .platform-cart :is(h2,.form-label) { color: #ffffff; }
.store-body .platform-cart .text-secondary { color: #b7b7c7 !important; }
.store-body .platform-cart .btn-outline-secondary { background: transparent; border-color: #666666; color: #ffffff; }
.store-body .platform-cart .btn-outline-secondary:hover { background: #292929; }
.store-body .platform-cart .alert-danger { background: #331010; border-color: #dc2626; color: #ffffff; }

/* O chat compartilha a mesma cor de destaque em todas as telas. */
.ghost-chat-send, .ghost-chat-action, .admin-chat-dock-launch b, .admin-chat-dock-conversation form button { background: var(--demand-red) !important; color: #ffffff !important; }
.ghost-chat-msg.me .ghost-chat-bubble, .admin-mini-msg.admin > div { background: linear-gradient(135deg, #991b1b, #dc2626) !important; border-color: #b94747 !important; color: #ffffff !important; }
.ghost-chat-launcher, .admin-chat-dock-launch, .ghost-chat-panel, .admin-chat-dock-panel { border-color: #763030 !important; }
.ghost-chat-compose textarea:focus, .admin-chat-dock-conversation textarea:focus { border-color: var(--demand-red) !important; box-shadow: 0 0 0 3px rgba(220, 38, 38, .2) !important; }

@media print {
  :is(body.ghost-admin, body.source-customer) { background: #ffffff !important; color: #000000 !important; }
  :is(.ghost-admin, .source-customer) :is(.card, .card-body, .card-header, .card-footer, h1, h2, h3, .page-title, .card-title, .table, .table td, .table th) { background: #ffffff !important; color: #000000 !important; border-color: #cccccc !important; }
}

/* V35: navegação da conta e notificações nos dois cabeçalhos. */
.demand-nav-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.source-customer :is(.customer-account-menu,.customer-shows-menu) > .nav-link { border: 0; background: transparent; font: inherit; cursor: pointer; }
.source-customer :is(.customer-account-menu,.customer-shows-menu).active > .nav-link { background: rgba(220,38,38,.16) !important; }
.source-customer .customer-support-link { gap: 6px; }
.source-customer .customer-account-menu .dropdown-item.active { background: #351010 !important; color: #fff !important; }
.demand-notification-toggle { display: inline-flex !important; align-items: center; justify-content: center; position: relative; width: 38px; height: 38px; padding: 8px !important; }
.demand-notification-toggle .demand-nav-icon { display: block !important; }
.demand-notification-count { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 10px; background: #dc2626; color: #fff; font-size: 9px; line-height: 18px; text-align: center; }
.demand-notifications > .notification-dropdown { position: absolute; top: calc(100% + 8px); right: 0; left: auto; z-index: 1050; max-height: min(460px,70vh); overflow-y: auto; overscroll-behavior: contain; }
:is(.store-body,.source-customer) .notification-dropdown { background: #111 !important; color: #fff !important; border: 1px solid #353535 !important; border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.45); }
.notification-dropdown .dropdown-item { color: #fff !important; overflow-wrap: anywhere; }
.notification-dropdown .dropdown-item:is(:hover,:focus) { background: #351010 !important; }
.demand-notification-heading { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #353535; }
.demand-notification-heading small { color: #d4d4d4; white-space: nowrap; }
.notification-dropdown-item.is-unread { border-left: 3px solid #dc2626; }
.notification-dropdown .notification-dropdown-item { display: block !important; }
.notification-dropdown-item small { color: #d4d4d4 !important; opacity: 1; white-space: nowrap; }
.store-account-toggle > .demand-nav-icon { display: none; }
.demand-notifications-floating { position: fixed !important; left: 12px !important; right: auto !important; bottom: auto !important; transform: none !important; margin: 0 !important; width: calc(100vw - 24px) !important; min-width: 0 !important; max-width: none !important; z-index: 1050; overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 991px) {
  .source-customer .customer-account-menu { width: 100%; }
  .source-customer :is(.customer-account-menu,.customer-shows-menu) > .nav-link { width: 100%; justify-content: space-between; }
  .source-customer .customer-account-menu .dropdown-menu { width: 100%; }
}
@media (max-width: 575px) {
  .store-body .store-panel-shortcut { display: none !important; }
  .store-body .oldskool-nav .nav-sidelinks .nav-link { padding: 6px !important; }
  .store-body .oldskool-nav .nav-sidelinks > li:first-child .nav-link { font-size: 0 !important; }
  .store-account-toggle > span { display: none; }
  .store-account-toggle > .demand-nav-icon { display: inline-block; }
  .notification-modal .modal-dialog { margin: 12px; }
  .notification-modal .modal-content { max-height: calc(100dvh - 24px); overflow-y: auto; }
}
