{"tags":[{"tagId":"d0f44e2e-44ea-46b7-9958-763726d12706","tagTypeId":"custom_tag_type","name":"Global_pop_up_Placard_Theme","description":"Popup constumization","config":{"beforeEndHead":"<style>\r\n/* =========================================================\r\n   PLACARD — GLOBAL POPUPS (ConfirmationPopup / Popup__popup)\r\n   Objetivo: melhorar perceção de limites (overlay + card)\r\n   Fixes:\r\n   - remove separadores/brilhos “brancos”\r\n   - remove pill branca na mensagem\r\n   - dá respiro ao texto (padding + max-width + line-height)\r\n========================================================= */\r\n\r\n:root{\r\n  --pt-popup-bg: #1c1d27;\r\n  --pt-popup-card: #20212b;\r\n  --pt-popup-border: rgba(255,255,255,.10);\r\n  --pt-popup-shadow: 0 26px 80px rgba(0,0,0,.72);\r\n  --pt-popup-text: rgba(255,255,255,.92);\r\n  --pt-popup-muted: rgba(255,255,255,.70);\r\n}\r\n\r\n/* Overlay */\r\n[class*=\"OverLay__overlay\"]{\r\n  background: rgba(0,0,0,.62) !important;\r\n  backdrop-filter: blur(3px);\r\n  -webkit-backdrop-filter: blur(3px);\r\n}\r\n\r\n/* Card do popup */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa{\r\n  background: linear-gradient(180deg, var(--pt-popup-bg), #171821) !important;\r\n  border: 1px solid var(--pt-popup-border) !important;\r\n  border-radius: 18px !important;\r\n  box-shadow: var(--pt-popup-shadow) !important;\r\n  color: var(--pt-popup-text) !important;\r\n  overflow: hidden;\r\n}\r\n\r\n/* Remove linhas/separadores vendor dentro do popup (a causa das “linhas brancas”) */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .popup-modal__inner-content,\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__inner--2Ba,\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__title--2ro,\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__actionButtons--3N7{\r\n  border-top: 0 !important;\r\n  border-bottom: 0 !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n/* Title bar (mesmo vazio, mas sem linha branca “dura”) */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__title--2ro{\r\n  padding: 14px 18px 6px !important;\r\n  min-height: 18px;\r\n  color: var(--pt-popup-text) !important;\r\n  font-weight: 800 !important;\r\n}\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__title--2ro:empty{\r\n  padding: 12px 18px 0 !important;\r\n}\r\n\r\n/* Conteúdo: mais respiro + texto não “pill” */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__inner--2Ba{\r\n  padding: 10px 18px 14px !important;\r\n}\r\n\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .ConfirmationPopup__content--3Du{\r\n  padding: 0 !important;\r\n}\r\n\r\n/* Aqui estava a “pill” branca: neutralizamos background/border e criamos bloco clean */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .ConfirmationPopup__content--3Du article{\r\n  margin: 0 auto !important;\r\n  padding: 10px 12px !important;              /* respiro */\r\n  max-width: 420px;                            /* leitura */\r\n  background: transparent !important;          /* mata pill */\r\n  border: 0 !important;                        /* mata pill */\r\n  border-radius: 0 !important;\r\n  box-shadow: none !important;\r\n\r\n  color: var(--pt-popup-text) !important;\r\n  font-size: 14px !important;\r\n  line-height: 1.45 !important;\r\n  font-weight: 800 !important;\r\n  text-align: center !important;\r\n}\r\n\r\n/* Footer / botões: em vez de linha branca, um divisor suave e coerente */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__actionButtons--3N7{\r\n  padding: 14px 18px 18px !important;\r\n  border-top: 1px solid rgba(255,255,255,.07) !important; /* suave */\r\n  display: flex !important;\r\n  gap: 12px !important;\r\n  justify-content: center !important;\r\n}\r\n\r\n/* Botões */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .popup-modal__button{\r\n  min-width: 140px;\r\n  border-radius: 999px !important;\r\n  font-weight: 900 !important;\r\n  height: 42px !important;\r\n}\r\n\r\n/* Cancelar neutro */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Button__negative--2aE{\r\n  background: rgba(255,255,255,.08) !important;\r\n  color: rgba(255,255,255,.90) !important;\r\n  border: 1px solid rgba(255,255,255,.14) !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n/* Sim verde */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Button__success--27M{\r\n  background: #83DE1A !important;\r\n  color: #0b0c10 !important;\r\n  border: 1px solid #83DE1A !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .Button__negative--2aE:hover{\r\n    background: rgba(255,255,255,.12) !important;\r\n    border-color: rgba(255,255,255,.20) !important;\r\n  }\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .Button__success--27M:hover{\r\n    background: #73c319 !important;\r\n    border-color: #73c319 !important;\r\n  }\r\n}\r\n\r\n/* Mobile */\r\n@media (max-width: 520px){\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa{\r\n    border-radius: 16px !important;\r\n  }\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__inner--2Ba{\r\n    padding: 10px 14px 12px !important;\r\n  }\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__actionButtons--3N7{\r\n    padding: 12px 14px 14px !important;\r\n    gap: 10px !important;\r\n  }\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .popup-modal__button{\r\n    min-width: 0;\r\n    flex: 1 1 0;\r\n  }\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa .ConfirmationPopup__content--3Du article{\r\n    max-width: 100%;\r\n    padding: 10px 10px !important;\r\n  }\r\n}\r\n/* =========================================================\r\n   TUNING — ConfirmationPopup (Placard)\r\n   - Opção A: “pill” mais discreta (radius menor)\r\n   - Mais respiro entre mensagem e botões\r\n========================================================= */\r\n\r\n/* 1) Mensagem: menos “badge/pill” */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa\r\n.ConfirmationPopup__content--3Du article{\r\n  border-radius: 10px !important;      /* Opção A */\r\n  padding: 12px 14px !important;        /* ligeiramente mais confortável */\r\n  max-width: 440px !important;          /* um bocadinho mais largo */\r\n}\r\n\r\n/* 2) Espaço vertical antes do footer/botões */\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa .Popup__inner--2Ba{\r\n  padding-bottom: 18px !important;\r\n}\r\n\r\n/* Mobile: mantém boa leitura */\r\n@media (max-width: 520px){\r\n  .Popup__popup--3RX.ConfirmationPopup__popup--2wa\r\n  .ConfirmationPopup__content--3Du article{\r\n    padding: 12px 12px !important;\r\n    max-width: 100% !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   TUNING FINAL — ConfirmationPopup (Placard)\r\n   - Texto: menos “pesado” (700)\r\n   - Botões: gap ligeiramente menor (10px)\r\n========================================================= */\r\n\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa\r\n.ConfirmationPopup__content--3Du article{\r\n  font-weight: 700 !important;\r\n}\r\n\r\n.Popup__popup--3RX.ConfirmationPopup__popup--2wa\r\n.Popup__actionButtons--3N7{\r\n  gap: 10px !important;\r\n}\r\n\r\n\r\n/* =========================================================\r\n   PLACARD — COMMON POPUPS (ex: logout-notification-popup)\r\n   Objetivo: alinhar com ConfirmationPopup (card + spacing + close)\r\n========================================================= */\r\n\r\n.Popup__popup--3RX.logout-notification-popup{\r\n  background: linear-gradient(180deg, #1c1d27, #171821) !important;\r\n  border: 1px solid rgba(255,255,255,.10) !important;\r\n  border-radius: 18px !important;\r\n  box-shadow: 0 26px 80px rgba(0,0,0,.72) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n  overflow: hidden !important;\r\n}\r\n\r\n/* Title */\r\n.Popup__popup--3RX.logout-notification-popup .Popup__title--2ro{\r\n  padding: 16px 18px 6px !important;\r\n  font-weight: 800 !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n\r\n/* Body */\r\n.Popup__popup--3RX.logout-notification-popup .Popup__inner--2Ba{\r\n  padding: 10px 18px 14px !important;\r\n}\r\n\r\n.Popup__popup--3RX.logout-notification-popup article{\r\n  margin: 0 auto !important;\r\n  max-width: 520px !important;\r\n  padding: 6px 0 !important;\r\n  text-align: center !important;\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-size: 13px !important;\r\n  line-height: 1.45 !important;\r\n  font-weight: 600 !important;\r\n}\r\n\r\n/* Footer */\r\n.Popup__popup--3RX.logout-notification-popup .Popup__actionButtons--3N7{\r\n  padding: 14px 18px 18px !important;\r\n  border-top: 1px solid rgba(255,255,255,.07) !important;\r\n  display: flex !important;\r\n  justify-content: center !important;\r\n}\r\n\r\n/* OK button */\r\n.Popup__popup--3RX.logout-notification-popup .popup-modal__button{\r\n  min-width: 200px;\r\n  height: 42px !important;\r\n  border-radius: 999px !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* Close (X) — aqui é o ponto crítico:\r\n   - ancorar visualmente no topo direito do card\r\n   - mas sem “mexer” noutras instâncias\r\n*/\r\n.Popup__popup--3RX.logout-notification-popup .Icon__closePopup--3xD.Popup__close--3i1{\r\n  position: absolute !important;\r\n  top: 12px !important;\r\n  right: 12px !important;\r\n  z-index: 5 !important;\r\n\r\n  /* look consistente */\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  border-radius: 10px !important;\r\n  background-color: rgba(255,255,255,.06) !important;\r\n}\r\n\r\n/* se o teu fix do X por gradients/mask já existe globalmente, isto só trata posicionamento */\r\n@media (max-width: 520px){\r\n  .Popup__popup--3RX.logout-notification-popup .popup-modal__button{\r\n    min-width: 0;\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   PLACARD — Logout Notification Popup\r\n   Fix: botão OK com verde Placard real\r\n========================================================= */\r\n\r\n.Popup__popup--3RX.logout-notification-popup\r\n.Button__success--27M{\r\n  background-color: #83DE1A !important;   /* verde Placard */\r\n  border-color: #83DE1A !important;\r\n  color: #0b0c10 !important;              /* texto escuro */\r\n  box-shadow: none !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  .Popup__popup--3RX.logout-notification-popup\r\n  .Button__success--27M:hover{\r\n    background-color: #73c319 !important; /* hover Placard */\r\n    border-color: #73c319 !important;\r\n  }\r\n}\r\n\r\n.Popup__popup--3RX.logout-notification-popup\r\n.Button__success--27M:active{\r\n  background-color: #5fa214 !important;   /* active Placard */\r\n  border-color: #5fa214 !important;\r\n}\r\n\r\n/* =========================================================\r\n   PLACARD — COMMON POPUPS (genérico)\r\n   Aplica a popups simples (Popup__popup--3RX) que não sejam Confirmation\r\n========================================================= */\r\n\r\n/* Card base (exclui Confirmation, que já tem theme próprio) */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa){\r\n  background: linear-gradient(180deg, #1c1d27, #171821) !important;\r\n  border: 1px solid rgba(255,255,255,.10) !important;\r\n  border-radius: 18px !important;\r\n  box-shadow: 0 26px 80px rgba(0,0,0,.72) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n  overflow: hidden !important;\r\n}\r\n\r\n/* Title (quando existe; se estiver vazio não cria ruído) */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Popup__title--2ro{\r\n  padding: 16px 18px 6px !important;\r\n  font-weight: 800 !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Popup__title--2ro:empty{\r\n  padding: 12px 18px 0 !important;\r\n}\r\n\r\n/* Body */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Popup__inner--2Ba{\r\n  padding: 10px 18px 14px !important;\r\n}\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) article{\r\n  margin: 0 auto !important;\r\n  max-width: 560px !important;\r\n  padding: 6px 0 !important;\r\n  text-align: center !important;\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-size: 13px !important;\r\n  line-height: 1.45 !important;\r\n  font-weight: 600 !important;\r\n}\r\n\r\n/* Footer */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Popup__actionButtons--3N7{\r\n  padding: 14px 18px 18px !important;\r\n  border-top: 1px solid rgba(255,255,255,.07) !important;\r\n  display: flex !important;\r\n  justify-content: center !important;\r\n}\r\n\r\n/* Botão OK (verde Placard) */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Button__success--27M{\r\n  background-color: #83DE1A !important;\r\n  border-color: #83DE1A !important;\r\n  color: #0b0c10 !important;\r\n  box-shadow: none !important;\r\n}\r\n@media (hover:hover){\r\n  .Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Button__success--27M:hover{\r\n    background-color: #73c319 !important;\r\n    border-color: #73c319 !important;\r\n  }\r\n}\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Button__success--27M:active{\r\n  background-color: #5fa214 !important;\r\n  border-color: #5fa214 !important;\r\n}\r\n\r\n/* Close (X): garante consistência (posicionamento depende do vendor) */\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa) .Icon__closePopup--3xD.Popup__close--3i1{\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  border-radius: 10px !important;\r\n  background-color: rgba(255,255,255,.06) !important;\r\n}\r\n\r\n/* =========================================================\r\n   COMMON POPUPS — Close X (não desaparecer no hover)\r\n   - não mexe em position/top/right/display\r\n   - força desenho do X (independente do vendor)\r\n========================================================= */\r\n\r\n.Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1{\r\n  -webkit-mask: none !important;\r\n  mask: none !important;\r\n  -webkit-mask-image: none !important;\r\n  mask-image: none !important;\r\n\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  border-radius: 10px !important;\r\n\r\n  background:\r\n    linear-gradient(45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n    linear-gradient(-45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n    rgba(255,255,255,.06) !important;\r\n  background-repeat: no-repeat !important;\r\n  background-position: center, center, center !important;\r\n  background-size: 16px 16px, 16px 16px, auto !important;\r\n\r\n  opacity: .92 !important;\r\n  visibility: visible !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  .Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1:hover{\r\n    background:\r\n      linear-gradient(45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n      linear-gradient(-45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n      rgba(255,255,255,.10) !important;\r\n    border-color: rgba(255,255,255,.22) !important;\r\n    opacity: 1 !important;\r\n  }\r\n}\r\n/* =========================================================\r\n   COMMON POPUPS — Informativos (1 botão) → OK como secundário\r\n   (usa estilo “Voltar” do Bet History)\r\n========================================================= */\r\n\r\n.Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa)\r\n.Popup__actionButtons--3N7\r\n.popup-modal__button:only-child.Button__success--27M{\r\n  height: 44px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;  /* igual “Voltar” */\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n  color: #fff !important;\r\n\r\n  font-weight: 800 !important;\r\n  letter-spacing: .01em !important;\r\n  box-shadow: none !important;\r\n  backdrop-filter: blur(6px);\r\n}\r\n\r\n@media (hover:hover){\r\n  .Popup__popup--3RX:not(.ConfirmationPopup__popup--2wa)\r\n  .Popup__actionButtons--3N7\r\n  .popup-modal__button:only-child.Button__success--27M:hover{\r\n    background: rgba(131, 222, 26, 0.18) !important;\r\n    border-color: rgba(131, 222, 26, 0.55) !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   HARDEN — Close X (garantir que não some no hover)\r\n   - cobre ::before/::after (vendor desenha o X aqui em alguns popups)\r\n   - reforça background no hover com máxima especificidade\r\n========================================================= */\r\n\r\n/* 1) Mata qualquer desenho vendor em pseudos */\r\n.Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1::before,\r\n.Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1::after,\r\n.Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1:hover::before,\r\n.Popup__popup--3RX .Icon__closePopup--3xD.Popup__close--3i1:hover::after{\r\n  content: none !important;\r\n  background: none !important;\r\n  background-image: none !important;\r\n  opacity: 1 !important;\r\n  visibility: visible !important;\r\n}\r\n\r\n/* 2) Reforço “final boss” do hover (ganha selectors mais específicos) */\r\n@media (hover:hover){\r\n  .Popup__popup--3RX .Icon__common--18p.Icon__icon--vOf.Icon__closePopup--3xD.Popup__close--3i1:hover{\r\n    -webkit-mask: none !important;\r\n    mask: none !important;\r\n    -webkit-mask-image: none !important;\r\n    mask-image: none !important;\r\n\r\n    background:\r\n      linear-gradient(45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n      linear-gradient(-45deg, transparent 46%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.92) 54%, transparent 54%),\r\n      rgba(255,255,255,.10) !important;\r\n    background-repeat: no-repeat !important;\r\n    background-position: center, center, center !important;\r\n    background-size: 16px 16px, 16px 16px, auto !important;\r\n\r\n    opacity: 1 !important;\r\n    visibility: visible !important;\r\n  }\r\n}\r\n\r\n\r\n</style>\r\n\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"a8753c33-1cc4-4e3d-b769-90473368f3bd","tagTypeId":"custom_tag_type","name":"Legal_pages_Placard_Theme","description":"Placard.pt constumization","config":{"beforeEndHead":"<style id=\"pt-legal-pages-theme-v10\" type=\"text/css\">\r\n/* =========================================================\r\n   PLACARD.PT — LEGAL TEXT PAGES (POLÍTICAS/REGRAS/FAQ)\r\n   THEME V1.0 — Scope: #pt-legal\r\n========================================================= */\r\n\r\n#pt-legal{\r\n  --bg:#16171f;\r\n  --panel:#1c1d27;\r\n  --card:#20212b;\r\n\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.72);\r\n  --muted2:rgba(255,255,255,.58);\r\n\r\n  --green:#83DE1A;\r\n\r\n  --border:rgba(255,255,255,.10);\r\n  --border2:rgba(255,255,255,.16);\r\n\r\n  --danger:#E81F17;\r\n\r\n  --r-lg:18px;\r\n  --r-md:14px;\r\n  --r-sm:10px;\r\n  --r-pill:999px;\r\n\r\n  --shadow:0 18px 55px rgba(0,0,0,.55);\r\n\r\n  color:var(--text);\r\n  font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\r\n  line-height:1.55;\r\n\r\n  max-width: 1040px;\r\n  margin: 0 auto;\r\n  padding: 18px 16px 56px;\r\n}\r\n\r\n#pt-legal *{ box-sizing:border-box; }\r\n#pt-legal a{ color:inherit; text-decoration:none; }\r\n\r\n/* =========================================================\r\n   HERO / INTRO\r\n========================================================= */\r\n#pt-legal .pt-legal__hero{\r\n  background: var(--panel);\r\n  border:1px solid var(--border);\r\n  border-radius: var(--r-lg);\r\n  box-shadow: var(--shadow);\r\n  overflow:hidden;\r\n}\r\n\r\n#pt-legal .pt-legal__hero-top{\r\n  padding: 18px 18px 16px;\r\n  background: linear-gradient(180deg, rgba(22,23,31,.98) 0%, rgba(28,29,39,.96) 100%);\r\n}\r\n\r\n#pt-legal .pt-legal__title{\r\n  margin:0;\r\n  font-size: 28px;\r\n  font-weight: 1000;\r\n  letter-spacing: -.02em;\r\n  line-height: 1.15;\r\n}\r\n\r\n#pt-legal .pt-legal__meta{\r\n  margin-top: 10px;\r\n  display:flex;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n}\r\n\r\n#pt-legal .pt-legal__chip{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  padding: 7px 10px;\r\n  border-radius: var(--r-pill);\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.04);\r\n  color: rgba(255,255,255,.86);\r\n  font-size: 12px;\r\n  font-weight: 900;\r\n  letter-spacing:.01em;\r\n}\r\n\r\n#pt-legal .pt-legal__actions{\r\n  margin-top: 14px;\r\n  display:flex;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n}\r\n\r\n#pt-legal .pt-legal__btn{\r\n  height: 40px;\r\n  padding: 0 14px;\r\n  border-radius: var(--r-pill);\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.03);\r\n  color: rgba(255,255,255,.92);\r\n  font-weight: 900;\r\n  font-size: 13px;\r\n  cursor:pointer;\r\n  transition: transform .12s ease, background .12s ease, border-color .12s ease, opacity .12s ease;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  -webkit-tap-highlight-color:transparent;\r\n}\r\n\r\n#pt-legal .pt-legal__btn:hover{\r\n  background: rgba(255,255,255,.05);\r\n  border-color: rgba(255,255,255,.22);\r\n  transform: translateY(-1px);\r\n}\r\n\r\n#pt-legal .pt-legal__btn:active{ transform: translateY(0); opacity:.95; }\r\n\r\n#pt-legal .pt-legal__lead{\r\n  margin-top: 14px;\r\n  background: rgba(0,0,0,.14);\r\n  border:1px solid rgba(255,255,255,.06);\r\n  border-radius: var(--r-md);\r\n  padding: 14px;\r\n}\r\n\r\n#pt-legal .pt-legal__lead p{ margin: 10px 0; }\r\n#pt-legal .pt-legal__muted{ color: var(--muted); }\r\n\r\n#pt-legal .pt-legal__link{\r\n  color: rgba(131,222,26,.95);\r\n  font-weight: 900;\r\n  text-decoration: underline;\r\n  text-underline-offset: 2px;\r\n}\r\n#pt-legal .pt-legal__link:hover{ opacity:.9; }\r\n\r\n/* Callouts */\r\n#pt-legal .pt-legal__callout{\r\n  margin: 12px 0;\r\n  padding: 12px 12px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(255,255,255,.10);\r\n  background: rgba(255,255,255,.03);\r\n  color: rgba(255,255,255,.88);\r\n  font-weight: 750;\r\n}\r\n#pt-legal .pt-legal__callout--danger{\r\n  border-color: rgba(232,31,23,.30);\r\n  background: rgba(232,31,23,.10);\r\n}\r\n\r\n/* =========================================================\r\n   TOC (opcional)\r\n========================================================= */\r\n#pt-legal .pt-legal__toc{\r\n  margin-top: 16px;\r\n  padding: 14px;\r\n  border-radius: var(--r-md);\r\n  border:1px solid rgba(255,255,255,.08);\r\n  background: rgba(0,0,0,.16);\r\n}\r\n#pt-legal .pt-legal__toc-title{\r\n  font-size: 13px;\r\n  font-weight: 1000;\r\n  letter-spacing: -.01em;\r\n  color: rgba(255,255,255,.92);\r\n}\r\n#pt-legal .pt-legal__toc-grid{\r\n  margin-top: 10px;\r\n  display:grid;\r\n  grid-template-columns: repeat(2, minmax(0, 1fr));\r\n  gap: 8px 10px;\r\n}\r\n#pt-legal .pt-legal__toc-item{\r\n  display:block;\r\n  padding: 9px 10px;\r\n  border-radius: 12px;\r\n  border:1px solid rgba(255,255,255,.08);\r\n  background: rgba(255,255,255,.02);\r\n  color: rgba(255,255,255,.86);\r\n  font-weight: 850;\r\n  font-size: 13px;\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease;\r\n}\r\n#pt-legal .pt-legal__toc-item:hover{\r\n  background: rgba(255,255,255,.04);\r\n  border-color: rgba(255,255,255,.16);\r\n  transform: translateY(-1px);\r\n}\r\n@media (max-width: 720px){\r\n  #pt-legal .pt-legal__toc-grid{ grid-template-columns: 1fr; }\r\n}\r\n\r\n/* =========================================================\r\n   ACCORDIONS\r\n========================================================= */\r\n#pt-legal .pt-legal__accordions{\r\n  margin-top: 14px;\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap: 10px;\r\n}\r\n\r\n#pt-legal .pt-acc{\r\n  border-radius: var(--r-lg);\r\n  border:1px solid rgba(255,255,255,.08);\r\n  background: rgba(255,255,255,.02);\r\n  overflow:hidden;\r\n}\r\n\r\n#pt-legal .pt-acc__btn{\r\n  width:100%;\r\n  border:0;\r\n  background: rgba(0,0,0,.16);\r\n  color: rgba(255,255,255,.92);\r\n  cursor:pointer;\r\n  padding: 14px 14px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap: 10px;\r\n  text-align:left;\r\n  -webkit-tap-highlight-color:transparent;\r\n}\r\n\r\n#pt-legal .pt-acc__btn:focus{ outline:none; }\r\n#pt-legal .pt-acc__btn:focus-visible{\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.22) inset;\r\n}\r\n\r\n#pt-legal .pt-acc__title{\r\n  font-weight: 1000;\r\n  font-size: 14px;\r\n  letter-spacing: -.01em;\r\n}\r\n\r\n#pt-legal .pt-acc__arrow{\r\n  width: 30px;\r\n  height: 30px;\r\n  border-radius: 999px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.04);\r\n  position: relative;\r\n  flex: 0 0 30px;\r\n}\r\n\r\n#pt-legal .pt-acc__arrow:before{\r\n  content:\"\";\r\n  position:absolute;\r\n  top:50%;\r\n  left:50%;\r\n  width: 10px;\r\n  height: 10px;\r\n  border-right: 2px solid rgba(255,255,255,.82);\r\n  border-bottom: 2px solid rgba(255,255,255,.82);\r\n  transform: translate(-50%,-55%) rotate(45deg);\r\n  transition: transform .18s ease;\r\n}\r\n\r\n#pt-legal .pt-acc.is-open .pt-acc__arrow:before{\r\n  transform: translate(-50%,-35%) rotate(225deg);\r\n}\r\n\r\n#pt-legal .pt-acc__panel{\r\n  padding: 14px 14px 16px;\r\n  border-top: 1px solid rgba(255,255,255,.06);\r\n}\r\n\r\n#pt-legal .pt-acc__panel p{\r\n  margin: 10px 0;\r\n  color: rgba(255,255,255,.90);\r\n}\r\n\r\n/* =========================================================\r\n   LISTAS / DEFINIÇÕES\r\n========================================================= */\r\n#pt-legal .pt-legal__list{\r\n  margin: 8px 0 12px;\r\n  padding-left: 18px;\r\n}\r\n#pt-legal .pt-legal__list li{\r\n  margin: 8px 0;\r\n  color: rgba(255,255,255,.88);\r\n}\r\n\r\n#pt-legal .pt-defs{\r\n  margin-top: 12px;\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:10px;\r\n}\r\n\r\n#pt-legal .pt-def{\r\n  border-radius: 14px;\r\n  border:1px solid rgba(255,255,255,.08);\r\n  background: rgba(0,0,0,.14);\r\n  padding: 12px;\r\n}\r\n\r\n#pt-legal .pt-def__k{\r\n  font-weight: 1000;\r\n  color: rgba(255,255,255,.92);\r\n  margin-bottom: 6px;\r\n}\r\n\r\n#pt-legal .pt-def__v{\r\n  color: rgba(255,255,255,.84);\r\n  font-weight: 650;\r\n}\r\n\r\n/* =========================================================\r\n   MOBILE\r\n========================================================= */\r\n@media (max-width: 560px){\r\n  #pt-legal{ padding: 14px 12px 46px; }\r\n  #pt-legal .pt-legal__hero-top{ padding: 14px; }\r\n  #pt-legal .pt-legal__title{ font-size: 22px; }\r\n  #pt-legal .pt-legal__btn{ width: 100%; }\r\n  #pt-legal .pt-legal__actions{ gap:8px; }\r\n  #pt-legal #pt-legal-pdf{ display:none !important; }\r\n}\r\n\r\n\r\n/* =========================================================\r\n   BACK TO TOP (mobile legal pages)\r\n========================================================= */\r\n#pt-legal .pt-legal__backtotop{\r\n  position: fixed;\r\n  left: 50%;\r\n  transform: translateX(-50%);\r\n  bottom: calc(78px + env(safe-area-inset-bottom, 0px));\r\n  z-index: 50;\r\n\r\n  display: none;\r\n  align-items: center;\r\n  justify-content: center;\r\n\r\n  padding: 12px 18px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(255,255,255,.18);\r\n  background: rgba(22,23,31,.92);\r\n  color: rgba(255,255,255,.96);\r\n\r\n  font-size: 14px;\r\n  font-weight: 900;\r\n  letter-spacing: .01em;\r\n\r\n  box-shadow: 0 10px 30px rgba(0,0,0,.45);\r\n  cursor: pointer;\r\n  -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\n#pt-legal .pt-legal__backtotop:active{\r\n  transform: translateX(-50%) scale(.98);\r\n}\r\n\r\n/* Só mobile */\r\n@media (min-width: 561px){\r\n  #pt-legal .pt-legal__backtotop{ display:none !important; }\r\n}\r\n\r\n/* Fix evitar bullets (estilo de UL) em listas alfabéticas */\r\n#pt-legal .pt-legal__list--alpha{\r\n\tlist-style: none !important;\r\n\tpadding-left: 0 !important;\r\n\tmargin-left: 0 !important;\r\n}\r\n#pt-legal .pt-legal__list--alpha > li{\r\n\tposition: relative;\r\n\tpadding-left: 0 !important;\r\n}\r\n#pt-legal .pt-legal__list--alpha > li::marker{\r\n\tfont-weight: 700;\r\n}\r\n\r\n/* Força listas alfa a) b) */\r\n.pt-legal__ol-alpha{\r\n  margin: 8px 0 0 22px;\r\n  padding: 0;\r\n  list-style-position: outside;\r\n  list-style-type: lower-alpha; /* a, b, c */\r\n}\r\n.pt-legal__ol-alpha > li{\r\n  margin: 6px 0;\r\n}\r\n\r\n/* =========================================================\r\n   LISTAS (fix indent + marcadores a) b) dentro dos painéis\r\n========================================================= */\r\n.pt-acc__panel ol{\r\n  margin: 10px 0 14px;\r\n  padding-left: 22px;            /* indent */\r\n}\r\n\r\n.pt-acc__panel ol > li{\r\n  margin: 6px 0;\r\n}\r\n\r\n/* garante espaço entre marker e texto */\r\n.pt-acc__panel ol > li::marker{\r\n  font-weight: 600;\r\n}\r\n\r\n/* Para listas tipo a), usa a) em vez de a. */\r\n.pt-acc__panel ol[type=\"a\"]{\r\n  list-style-type: lower-alpha;\r\n}\r\n.pt-acc__panel ol[type=\"a\"] > li::marker{\r\n  content: counter(list-item, lower-alpha) \") \";\r\n}\r\n\r\n\r\n\r\n</style>\r\n\r\n<script id=\"pt-legal-pages-script-v10_1\">\r\n/* =========================================================\r\n   PLACARD.PT — LEGAL PAGES SCRIPT (Acordeões + TOC)\r\n   V10.1 — init robusto (DOM late + SPA) + anti double-bind\r\n========================================================= */\r\n(function(){\r\n  function init(){\r\n    var root = document.getElementById('pt-legal');\r\n    if(!root) return false;\r\n\r\n    // evita double-bind (SPA / re-render)\r\n    if(root.getAttribute('data-pt-legal-init') === '1') return true;\r\n    root.setAttribute('data-pt-legal-init','1');\r\n\r\n    var accs = Array.prototype.slice.call(root.querySelectorAll('.pt-acc'));\r\n\r\n    function setAcc(acc, open){\r\n      var btn = acc.querySelector('.pt-acc__btn');\r\n      var panel = acc.querySelector('.pt-acc__panel');\r\n      if(!btn || !panel) return;\r\n\r\n      acc.classList.toggle('is-open', !!open);\r\n      btn.setAttribute('aria-expanded', open ? 'true' : 'false');\r\n      panel.style.display = open ? 'block' : 'none';\r\n    }\r\n\r\n    // default open\r\n    var def = (root.getAttribute('data-default') || 'open').toLowerCase();\r\n    var openByDefault = def !== 'closed';\r\n\r\n    // init panels + click\r\n    accs.forEach(function(acc){\r\n      setAcc(acc, openByDefault);\r\n\r\n      var btn = acc.querySelector('.pt-acc__btn');\r\n      if(btn){\r\n        // evita duplo listener se o CMS reciclar nós\r\n        if(btn.getAttribute('data-pt-bound') !== '1'){\r\n          btn.setAttribute('data-pt-bound','1');\r\n          btn.addEventListener('click', function(){\r\n            setAcc(acc, !acc.classList.contains('is-open'));\r\n          });\r\n        }\r\n      }\r\n    });\r\n\r\n    // open/close all — procura SEMPRE dentro do root (não no document)\r\n    var openAllBtn = root.querySelector('#pt-legal-openall,[data-pt-openall]');\r\n    var closeAllBtn = root.querySelector('#pt-legal-closeall,[data-pt-closeall]');\r\n\r\n    if(openAllBtn && openAllBtn.getAttribute('data-pt-bound') !== '1'){\r\n      openAllBtn.setAttribute('data-pt-bound','1');\r\n      openAllBtn.addEventListener('click', function(){\r\n        accs.forEach(function(a){ setAcc(a, true); });\r\n      });\r\n    }\r\n\r\n    if(closeAllBtn && closeAllBtn.getAttribute('data-pt-bound') !== '1'){\r\n      closeAllBtn.setAttribute('data-pt-bound','1');\r\n      closeAllBtn.addEventListener('click', function(){\r\n        accs.forEach(function(a){ setAcc(a, false); });\r\n      });\r\n    }\r\n\r\n    function openAndScrollToId(id){\r\n      if(!id) return;\r\n      var target = document.getElementById(id);\r\n      if(!target) return;\r\n\r\n      var acc = target.classList.contains('pt-acc') ? target : (target.closest ? target.closest('.pt-acc') : null);\r\n      if(acc) setAcc(acc, true);\r\n\r\n      var y = target.getBoundingClientRect().top + window.pageYOffset - 10;\r\n      window.scrollTo({ top: y, behavior: 'smooth' });\r\n    }\r\n\r\n    // TOC links (delegation)\r\n    if(root.getAttribute('data-pt-toc-bound') !== '1'){\r\n      root.setAttribute('data-pt-toc-bound','1');\r\n      root.addEventListener('click', function(e){\r\n        var el = e.target;\r\n        if(!el) return;\r\n\r\n        var a = (el.closest && el.closest('a[href^=\"#\"]')) ? el.closest('a[href^=\"#\"]') : null;\r\n        if(!a) return;\r\n\r\n        var href = a.getAttribute('href');\r\n        if(!href || href.length < 2) return;\r\n\r\n        var id = href.slice(1);\r\n        if(!document.getElementById(id)) return;\r\n\r\n        e.preventDefault();\r\n        openAndScrollToId(id);\r\n      });\r\n    }\r\n\r\n    // hash on load\r\n    if(window.location.hash && window.location.hash.length > 1){\r\n      var id0 = window.location.hash.slice(1);\r\n      setTimeout(function(){ openAndScrollToId(id0); }, 60);\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  // 1) tenta já\r\n  if(init()) return;\r\n\r\n  // 2) DOM ready\r\n  if(document.readyState === 'loading'){\r\n    document.addEventListener('DOMContentLoaded', function(){ init(); }, { once:true });\r\n  }else{\r\n    // DOM já pronto mas conteúdo pode entrar depois (SPA)\r\n    setTimeout(init, 0);\r\n  }\r\n\r\n  // 3) SPA/CMS re-render — observa até encontrar #pt-legal\r\n  var mo = new MutationObserver(function(){\r\n    if(init()){\r\n      // quando inicializar, já não precisamos de observar para sempre\r\n      // mas cuidado: se a SPA destruir e recriar o node, este observer ajuda novamente\r\n    }\r\n  });\r\n  mo.observe(document.documentElement, { childList:true, subtree:true });\r\n\r\n  // 4) extra retries (quando o portal injeta tarde)\r\n  setTimeout(init, 250);\r\n  setTimeout(init, 900);\r\n})();\r\n</script>\r\n\r\n<script id=\"pt-legal-backtotop-script-v1\">\r\n(function(){\r\n  function init(){\r\n    var root = document.getElementById('pt-legal');\r\n    var btn  = document.getElementById('pt-legal-backtotop');\r\n    if(!root || !btn) return false;\r\n\r\n    // evita double bind\r\n    if(btn.getAttribute('data-pt-bound') === '1') return true;\r\n    btn.setAttribute('data-pt-bound','1');\r\n\r\n    function isMobile(){\r\n      return window.matchMedia && window.matchMedia('(max-width: 560px)').matches;\r\n    }\r\n\r\n    function refresh(){\r\n      if(!isMobile()){\r\n        btn.style.display = 'none';\r\n        return;\r\n      }\r\n      btn.style.display = (window.scrollY > 480) ? 'flex' : 'none';\r\n    }\r\n\r\n    btn.addEventListener('click', function(){\r\n      window.scrollTo({ top: 0, behavior: 'smooth' });\r\n    });\r\n\r\n    window.addEventListener('scroll', refresh, { passive:true });\r\n    window.addEventListener('resize', refresh);\r\n\r\n    refresh();\r\n    return true;\r\n  }\r\n\r\n  // tenta já\r\n  if(init()) return;\r\n\r\n  // tenta em DOM ready\r\n  if(document.readyState === 'loading'){\r\n    document.addEventListener('DOMContentLoaded', function(){ init(); }, { once:true });\r\n  }else{\r\n    setTimeout(init, 0);\r\n  }\r\n\r\n  // retries (conteúdo pode entrar tarde)\r\n  var tries = 0;\r\n  var t = setInterval(function(){\r\n    tries++;\r\n    if(init() || tries > 20) clearInterval(t);\r\n  }, 250);\r\n\r\n  // observer (SPA / re-render)\r\n  var mo = new MutationObserver(function(){\r\n    init();\r\n  });\r\n  mo.observe(document.documentElement, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n\r\n\r\n","beforeEndBody":""},"conditionIds":["fcf6fa97-3ee2-4756-83e7-904a113d630e","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"3b6b2669-337c-480a-9919-06063b9c5bc1","tagTypeId":"custom_js","name":"XtremePush Prompt","description":"XtremePush Prompt","config":{"code":"(() => {\r\n    const DISMISS_KEY = 'webpush_prompt_dismissed';\r\n    const ACCEPT_KEY = 'webpush_prompt_accepted';\r\n\r\n    async function ask() {\r\n        console.log('ask() function called');\r\n\r\n        // Check if user has already accepted notifications\r\n        if (localStorage.getItem(ACCEPT_KEY) === '1') {\r\n            console.log('User already accepted push notifications. Skipping prompt.');\r\n            return;\r\n        }\r\n\r\n        await new Promise((resolve) => setTimeout(resolve, 3000));\r\n\r\n        console.log('Displaying push notification popup');\r\n        Playtech.API.popup.showPopup('confirmation', {\r\n            content: 'Receber notificações do Placard.pt?',\r\n            acceptBtnText: 'Aceitar',\r\n            onAccept: () => {\r\n                console.log('User accepted push notifications');\r\n                localStorage.setItem(ACCEPT_KEY, '1'); // Store user acceptance\r\n\r\n                xtremepush('push', 'prompt', {\r\n                    allowCallback: function () {\r\n                        console.log('Push notification allowed');\r\n                        const id = xtremepush('get', 'device_info')?.id;\r\n\r\n                        if (id) {\r\n                            Playtech.API.server.registerPushApplication({\r\n                                pushId: 'xtremepush',\r\n                                deviceId: id,\r\n                                application: 'Web Placard.pt'\r\n                            });\r\n                        } else {\r\n                            console.log('Device ID not found');\r\n                        }\r\n                    },\r\n                    blockCallback: function () {\r\n                        console.log('User blocked push notifications');\r\n                    },\r\n                    dismissCallback: function () {\r\n                        console.log('User dismissed permissions dialog');\r\n                    }\r\n                });\r\n            },\r\n            onDecline: () => {\r\n                console.log('User declined push notifications');\r\n                localStorage.setItem(DISMISS_KEY, '1');\r\n            }\r\n        });\r\n    }\r\n\r\n    function initializeXtremePushConnection() {\r\n        console.log('Initializing XtremePush connection');\r\n        const data = Playtech.fetchUserDetails();\r\n\r\n        xtremepush('set', 'user_id', data.userId);\r\n        xtremepush('event', 'on_sign_in');\r\n\r\n        const properties = {\r\n            'advertiser': 'advertiser',\r\n            'age': 'age',\r\n            'ageVerificationStatus': 'age_verification_status',\r\n            'birthDate': 'birth_date',\r\n            'casinoName': 'casino_name',\r\n            'clientType': 'client_type',\r\n            'contactPreferences': 'contact_preferences',\r\n            'email': 'email',\r\n            'firstName': 'first_name',\r\n            'frozen': 'frozen',\r\n            'lastName': 'last_name',\r\n            'loginName': 'login_name',\r\n            'noBonus': 'no_bonus',\r\n            'previousLoginTime': 'previous_login_time',\r\n            'username': 'username',\r\n            'vipLevel': 'vip_level',\r\n            'wantMail': 'want_mail',\r\n        };\r\n\r\n        for (const [property, name] of Object.entries(properties)) {\r\n            xtremepush('tag', name, data[property]);\r\n        }\r\n    }\r\n\r\n    if (Playtech.API.auth.isLoggedIn) {\r\n        console.log('User is already logged in, initializing XtremePush connection');\r\n        initializeXtremePushConnection();\r\n    }\r\n\r\n    Playtech.on('LOGGED_IN', () => {\r\n        console.log('User logged in');\r\n        initializeXtremePushConnection();\r\n    });\r\n    Playtech.on('LOGGED_IN_FAIL', () => {\r\n        console.log('Login failed');\r\n        xtremepush('event', 'failed_login');\r\n    });\r\n    Playtech.on('LOGGED_OUT', () => {\r\n        console.log('User logged out');\r\n        xtremepush('event', 'on_sign_out');\r\n    });\r\n    Playtech.on('DEPOSIT_COMPLETED', () => {\r\n        console.log('Deposit completed');\r\n        xtremepush('event', 'deposit_completed');\r\n    });\r\n    Playtech.on('DEPOSIT_FAIL', () => {\r\n        console.log('Deposit failed');\r\n        xtremepush('event', 'deposit_fail');\r\n    });\r\n    Playtech.on('GAME_LAUNCH', ([{\r\n        launchType,\r\n        gameCode,\r\n        gameName\r\n    }]) => {\r\n        xtremepush('event', 'game_launch', {\r\n            game: gameCode,\r\n            name: gameName\r\n        });\r\n    });\r\n\r\n    function checkXtremepushReady(attempts = 10) {\r\n        if (typeof xtremepush === 'function') {\r\n            console.log('XtremePush SDK is now ready');\r\n            xtremepush('ready', function () {\r\n                console.log('XtremePush is ready');\r\n\t\t\t\t\r\n\t\t\t\t  const PUSH_DISABLED = true; // TEMP\r\n\r\n\t\t\t\t  if (PUSH_DISABLED) {\r\n\t\t\t\t\tconsole.log('Push disabled (temporary).');\r\n\t\t\t\t\treturn;\r\n\t\t\t\t  }\r\n\r\n                \r\n                const permission = xtremepush('push', 'permission');\r\n\r\n                if (permission === undefined) {\r\n                    console.warn('Permission status returned undefined. SDK might not be initialized properly.');\r\n                }\r\n\r\n                if (permission === 'denied') {\r\n                    console.log('User has blocked push notifications. Displaying alert.');\r\n                    return;\r\n                }\r\n\r\n                if (permission === 'default' && localStorage.getItem(DISMISS_KEY) !== '1') {\r\n                    console.log('User has not dismissed push notifications, prompting...');\r\n                    Playtech.on('LOGGED_IN', ask);\r\n\r\n                    if (Playtech.API.auth.isLoggedIn) {\r\n                        console.log('User is logged in, asking for push notification permission');\r\n                        ask();\r\n                    }\r\n                }\r\n            });\r\n        } else if (attempts > 0) {\r\n            console.log(`Waiting for XtremePush SDK to be ready... Attempts left: ${attempts}`);\r\n            setTimeout(() => checkXtremepushReady(attempts - 1), 1000);\r\n        } else {\r\n            console.error('XtremePush SDK failed to load after multiple attempts.');\r\n        }\r\n    }\r\n\r\n    console.log('Initializing check for XtremePush readiness');\r\n    checkXtremepushReady();\r\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"6866151e-9863-47e5-88cf-fbece876b846","tagTypeId":"custom_tag_type","name":"Deposit_Limits_Placard_Theme","description":"Loss Limits constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — RG DEPOSIT LIMITS (DepositLimits / EditableDropDown)\r\n     THEME V2.0 (PT-DD menu TAGG + input editable)\r\n\r\n     Fixes:\r\n     - Dropdown com o NOSSO estilo (pt-dd menu) em cada campo\r\n     - Mantém input (para escrever valor) + mantém select (compat sistema)\r\n     - Remove seta/vendor dropdown (sem duplicados)\r\n     - € (label visual) à direita, antes do chevron, alinhado\r\n     - Alinhamento total pela régua do CTA (título/labels/fields/hints/CTA)\r\n========================================================= -->\r\n\r\n<style id=\"pt-rg-deposit-limits-theme-v20\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nform.pt-rg-deposit-limits{\r\n  --text: rgba(255,255,255,.92);\r\n  --muted: rgba(255,255,255,.70);\r\n  --muted2: rgba(255,255,255,.56);\r\n\r\n  --green:#83DE1A;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --field-bg: rgba(255,255,255,.03);\r\n  --field-bg-hover: rgba(255,255,255,.04);\r\n\r\n  --border-soft: rgba(255,255,255,.14);\r\n  --border-soft-2: rgba(255,255,255,.18);\r\n\r\n  --menu-bg: #1c1d27;\r\n  --menu-border: rgba(255,255,255,.14);\r\n\r\n  --r-pill: 999px;\r\n  --r-card: 14px;\r\n\r\n  /* rail */\r\n  --rail: 720px;\r\n  --pad-x: 24px;\r\n\r\n  /* SINGLE ALIGNMENT RULER (same as Confirmar) */\r\n  --field-w: 520px;\r\n\r\n  color: var(--text) !important;\r\n  font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n\r\n  max-width: var(--rail) !important;\r\n  margin: 0 auto !important;\r\n  padding: 12px var(--pad-x) 18px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  box-shadow: none !important;\r\n\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  gap: 16px !important;\r\n\r\n  box-sizing: border-box !important;\r\n}\r\nform.pt-rg-deposit-limits *{ box-sizing:border-box; }\r\n\r\n@media (max-width: 900px){\r\n  form.pt-rg-deposit-limits{ --rail: 640px; --pad-x: 20px; --field-w: 480px; }\r\n}\r\n@media (max-width: 640px){\r\n  form.pt-rg-deposit-limits{ --rail: 460px; --pad-x: 14px; --field-w: 100%; }\r\n}\r\n@media (max-width: 420px){\r\n  form.pt-rg-deposit-limits{ --rail: 360px; --pad-x: 12px; }\r\n}\r\n\r\n/* =========================================================\r\n   1) TITLE (center)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .DepositLimits__description--1zm{\r\n  margin: 8px auto 6px !important;\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n\r\n  text-align:center !important;\r\n  font-size: 20px !important;\r\n  font-weight: 750 !important;\r\n  letter-spacing: -0.15px !important;\r\n  line-height: 1.2 !important;\r\n  color: var(--text) !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABELS (same ruler)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .Label__label--MzX{\r\n  display:block !important;\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto 6px !important;\r\n\r\n  font-size: 12.5px !important;\r\n  font-weight: 700 !important;\r\n  color: rgba(255,255,255,.78) !important;\r\n}\r\nform.pt-rg-deposit-limits .Limit__highlight--3AA{\r\n  color: rgba(131,222,26,.92) !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) FIELD PILL (same ruler)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .cms-control-content{\r\n  position: relative !important;\r\n  height: 46px !important;\r\n  display:flex !important;\r\n  align-items:center !important;\r\n\r\n  background: var(--field-bg) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  border-radius: var(--r-pill) !important;\r\n\r\n  /* reserve space for € + chevron */\r\n  padding: 0 78px 0 14px !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, box-shadow .12s ease !important;\r\n\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto !important;\r\n}\r\n@media (hover:hover){\r\n  form.pt-rg-deposit-limits .cms-control-content:hover{\r\n    background: var(--field-bg-hover) !important;\r\n    border-color: var(--border-soft-2) !important;\r\n  }\r\n}\r\nform.pt-rg-deposit-limits .cms-control-content:focus-within{\r\n  border-color: rgba(131,222,26,.55) !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n\r\n/* input */\r\nform.pt-rg-deposit-limits .cms-control-content input[type=\"text\"]{\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  border: 0 !important;\r\n  outline: none !important;\r\n  background: transparent !important;\r\n\r\n  color: rgba(255,255,255,.90) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n\r\n  padding: 0 !important;\r\n}\r\nform.pt-rg-deposit-limits .cms-control-content input::placeholder{\r\n  color: rgba(255,255,255,.46) !important;\r\n  font-weight: 700 !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) Keep select for system (hidden)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .cms-control-content select{\r\n  position:absolute !important;\r\n  inset:0 !important;\r\n  width:100% !important;\r\n  height:100% !important;\r\n  opacity: 0 !important;\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) Remove vendor arrow/icon (no duplicates)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .cms-editable-drop-down-icon{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) € label on RIGHT (purely visual)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .cms-control-content::after{\r\n  content: attr(data-currency-symbol) !important;\r\n  position:absolute !important;\r\n  right: 52px !important;            /* before chevron */\r\n  top: 50% !important;\r\n  transform: translateY(-45%) !important;\r\n\r\n  color: rgba(255,255,255,.62) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 13px !important;\r\n  line-height: 1 !important;\r\n\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   7) PT-DD chevron + menu (TAGG style)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .pt-dd{\r\n  position:absolute !important;\r\n  inset: 0 !important; /* lives inside the field */\r\n  pointer-events:none !important;    /* enable only on toggle/menu */\r\n}\r\n\r\n/* small toggle area (right side), so input stays usable */\r\nform.pt-rg-deposit-limits .pt-dd__toggle{\r\n  position:absolute !important;\r\n  top: 0 !important;\r\n  right: 0 !important;\r\n  height: 46px !important;\r\n  width: 54px !important;\r\n  border: 0 !important;\r\n  background: transparent !important;\r\n  cursor: pointer !important;\r\n\r\n  pointer-events:auto !important;\r\n}\r\n\r\n/* draw chevron */\r\nform.pt-rg-deposit-limits .pt-dd__toggle::before{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  right: 20px !important;\r\n  top: 50% !important;\r\n  transform: translateY(-52%) rotate(45deg) !important;\r\n\r\n  width: 8px !important;\r\n  height: 8px !important;\r\n  border-right: 2px solid rgba(255,255,255,.72) !important;\r\n  border-bottom: 2px solid rgba(255,255,255,.72) !important;\r\n  box-sizing:border-box !important;\r\n}\r\nform.pt-rg-deposit-limits .pt-dd.is-open .pt-dd__toggle::before{\r\n  transform: translateY(-48%) rotate(225deg) !important;\r\n}\r\n\r\n/* menu */\r\nform.pt-rg-deposit-limits .pt-dd__menu{\r\n  position:absolute !important;\r\n  left: 0 !important;\r\n  right: 0 !important;\r\n  top: calc(100% + 8px) !important;\r\n\r\n  background: var(--menu-bg) !important;\r\n  border: 1px solid var(--menu-border) !important;\r\n  border-radius: var(--r-card) !important;\r\n\r\n  padding: 8px !important;\r\n  margin: 0 !important;\r\n\r\n  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;\r\n\r\n  display:none !important;\r\n  z-index: 9999 !important;\r\n\r\n  pointer-events:auto !important;\r\n}\r\nform.pt-rg-deposit-limits .pt-dd.is-open .pt-dd__menu{\r\n  display:block !important;\r\n}\r\n\r\nform.pt-rg-deposit-limits .pt-dd__item{\r\n  width: 100% !important;\r\n  height: 40px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n\r\n  padding: 0 14px !important;\r\n  border-radius: 12px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  text-align:left !important;\r\n\r\n  cursor:pointer !important;\r\n  transition: background .12s ease, color .12s ease, box-shadow .12s ease !important;\r\n}\r\n@media (hover:hover){\r\n  form.pt-rg-deposit-limits .pt-dd__item:hover{\r\n    background: rgba(131,222,26,.10) !important;\r\n    color: rgba(255,255,255,.92) !important;\r\n  }\r\n}\r\nform.pt-rg-deposit-limits .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.14) !important;\r\n  color: #fff !important;\r\n  box-shadow: inset 0 0 0 1px rgba(131,222,26,.45) !important;\r\n}\r\n\r\n/* =========================================================\r\n   8) BOTTOM HINT (same ruler)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .Control__bottomHint--3h8{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 8px auto 0 !important;\r\n\r\n  font-size: 12px !important;\r\n  font-weight: 700 !important;\r\n  color: rgba(255,255,255,.62) !important;\r\n}\r\n\r\n/* =========================================================\r\n   9) CTA (Confirmar) — same ruler (bulletproof)\r\n========================================================= */\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 8px auto 0 !important;\r\n\r\n  display:flex !important;\r\n  justify-content:stretch !important;\r\n}\r\n\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm{\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  min-width: 0 !important;\r\n  flex: 1 1 auto !important;\r\n\r\n  height: 44px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n\r\n  color: #fff !important;\r\n  font-size: 13px !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .005em !important;\r\n\r\n  box-shadow:none !important;\r\n  cursor:pointer !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease, opacity .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  form.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm:hover{\r\n    background: rgba(131, 222, 26, 0.18) !important;\r\n    border-color: rgba(131, 222, 26, 0.60) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .94 !important;\r\n}\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm:focus,\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm:focus-visible{\r\n  outline:none !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\nform.pt-rg-deposit-limits .DepositLimits__controls--2Ff > button.Button__button--1gm[disabled]{\r\n  opacity: .55 !important;\r\n  cursor: not-allowed !important;\r\n  transform: none !important;\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   RG Deposit Limits V2.0 — PT-DD menus per field (SPA-safe)\r\n========================================================= */\r\n(function(){\r\n  var FORM_CLASS = 'pt-rg-deposit-limits';\r\n  var PLACEHOLDER = 'Não definido';\r\n\r\n  function isDepositLimitsForm(form){\r\n    if(!form) return false;\r\n    return !!form.querySelector('.DepositLimits__description--1zm, .cms-deposit-limits-controls, .cms-deposit-limits-limit-input');\r\n  }\r\n  function qsa(root, sel){ return Array.prototype.slice.call((root||document).querySelectorAll(sel)); }\r\n\r\n  function closeAll(except){\r\n    qsa(document, 'form.pt-rg-deposit-limits .pt-dd.is-open').forEach(function(dd){\r\n      if(except && dd === except) return;\r\n      dd.classList.remove('is-open');\r\n    });\r\n  }\r\n\r\n  function sanitizeMoneyKeepText(v){\r\n    v = (v || '');\r\n    if(!/\\d/.test(v)) return v;          // keeps \"Ilimitado\"\r\n    v = v.replace(/\\s+/g,'').replace(/[^\\d.,]/g,'');\r\n    var idx = v.search(/[.,]/);\r\n    if(idx < 0) return v.replace(/[.,]/g,'');\r\n    var head = v.slice(0, idx).replace(/[.,]/g,'');\r\n    var sep  = v.charAt(idx);\r\n    var tail = v.slice(idx + 1).replace(/[.,]/g,'').slice(0,2);\r\n    return head + sep + tail;\r\n  }\r\n\r\n  function buildPtDD(content){\r\n    if(!content || content.__ptDD) return;\r\n\r\n    var input = content.querySelector('input[type=\"text\"]');\r\n    var select = content.querySelector('select');\r\n    if(!input || !select) return;\r\n\r\n    content.__ptDD = true;\r\n\r\n    // placeholder (only when empty)\r\n    if(!input.value){\r\n      input.setAttribute('placeholder', PLACEHOLDER);\r\n    }\r\n\r\n    input.addEventListener('input', function(){\r\n      var before = input.value;\r\n      var after  = sanitizeMoneyKeepText(before);\r\n      if(before !== after) input.value = after;\r\n    });\r\n\r\n    // PT-DD skeleton\r\n    var dd = document.createElement('div');\r\n    dd.className = 'pt-dd';\r\n\r\n    var toggle = document.createElement('button');\r\n    toggle.type = 'button';\r\n    toggle.className = 'pt-dd__toggle';\r\n    toggle.setAttribute('aria-label', 'Abrir opções');\r\n\r\n    var menu = document.createElement('div');\r\n    menu.className = 'pt-dd__menu';\r\n    menu.setAttribute('role','listbox');\r\n\r\n    function rebuild(){\r\n      menu.innerHTML = '';\r\n      Array.prototype.slice.call(select.options).forEach(function(opt){\r\n        var item = document.createElement('button');\r\n        item.type = 'button';\r\n        item.className = 'pt-dd__item';\r\n        item.textContent = opt.textContent;\r\n        item.dataset.value = opt.value;\r\n\r\n        if(select.value === opt.value) item.classList.add('is-active');\r\n\r\n        item.addEventListener('click', function(){\r\n          select.value = opt.value;\r\n          select.dispatchEvent(new Event('change', { bubbles:true }));\r\n\r\n          // reflect to input visually (system still uses select)\r\n          input.value = opt.textContent;\r\n          if(!input.value) input.setAttribute('placeholder', PLACEHOLDER);\r\n\r\n          dd.classList.remove('is-open');\r\n          toggle.focus();\r\n        });\r\n\r\n        menu.appendChild(item);\r\n      });\r\n    }\r\n\r\n    function syncActive(){\r\n      qsa(menu, '.pt-dd__item').forEach(function(i){\r\n        i.classList.toggle('is-active', i.dataset.value === select.value);\r\n      });\r\n    }\r\n\r\n    toggle.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      var isOpen = dd.classList.contains('is-open');\r\n      closeAll(dd);\r\n      dd.classList.toggle('is-open', !isOpen);\r\n      if(!isOpen) rebuild();\r\n    });\r\n\r\n    // close outside\r\n    document.addEventListener('mousedown', function(ev){\r\n      if(!dd.contains(ev.target) && !content.contains(ev.target)) closeAll();\r\n    });\r\n\r\n    // ESC close\r\n    document.addEventListener('keydown', function(ev){\r\n      if(ev.key === 'Escape') closeAll();\r\n    });\r\n\r\n    // vendor updates select (rare) -> sync menu state + input label when it is \"Ilimitado\"\r\n    select.addEventListener('change', function(){\r\n      syncActive();\r\n      // if input empty, mirror the selected text (useful when selecting \"Ilimitado\")\r\n      if(!input.value || input.value === PLACEHOLDER){\r\n        var opt = Array.prototype.slice.call(select.options).find(function(o){ return o.value === select.value; });\r\n        if(opt) input.value = opt.textContent;\r\n      }\r\n    });\r\n\r\n    dd.appendChild(toggle);\r\n    dd.appendChild(menu);\r\n    content.appendChild(dd);\r\n  }\r\n\r\n  function apply(form){\r\n    if(!form || form.__ptDepositBound) return;\r\n    if(!isDepositLimitsForm(form)) return;\r\n\r\n    form.__ptDepositBound = true;\r\n    form.classList.add(FORM_CLASS);\r\n\r\n    // build per field\r\n    qsa(form, '.cms-deposit-limits-limit-input .cms-control-content').forEach(buildPtDD);\r\n  }\r\n\r\n  function scan(){\r\n    document.querySelectorAll('form').forEach(apply);\r\n  }\r\n\r\n  scan();\r\n  var tries = 0, t = setInterval(function(){ scan(); if(++tries>40) clearInterval(t); }, 100);\r\n  new MutationObserver(scan).observe(document.body, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"91c1ca43-a636-4035-970a-03901664c122","tagTypeId":"custom_tag_type","name":"AE_Placard_Theme","description":"Timeout constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — RG SELF-EXCLUSION (Autoexclusão)\r\n     THEME FINAL V1.1 (PT-DD custom dropdown, TAGG aligned)\r\n\r\n     Fixes:\r\n     - Rail/tokens iguais ao Timeout/Deposit Limits\r\n     - Título centrado\r\n     - Dropdown \"Seleciona o período\" em pt-dd (menu Placard)\r\n     - Remove seta vendor (evita duplicados)\r\n     - CTA \"Excluir\" estilo Placard (bulletproof)\r\n     - DEFAULT: seleciona \"3 meses\" (robusto — após vendor init)\r\n========================================================= -->\r\n\r\n<style id=\"pt-rg-self-exclusion-theme-v11\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nform.pt-rg-self-exclusion{\r\n  --text: rgba(255,255,255,.92);\r\n  --muted: rgba(255,255,255,.70);\r\n\r\n  --green:#83DE1A;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --field-bg: rgba(255,255,255,.04);\r\n  --field-bg-hover: rgba(255,255,255,.06);\r\n  --border: rgba(255,255,255,.18);\r\n\r\n  --menu-bg: #1c1d27;\r\n  --menu-border: rgba(255,255,255,.14);\r\n  --menu-item: rgba(255,255,255,.92);\r\n  --menu-item-muted: rgba(255,255,255,.78);\r\n\r\n  --r-pill: 999px;\r\n  --r-card: 14px;\r\n\r\n  --rail: 720px;\r\n  --pad-x: 24px;\r\n  --field-w: 520px;\r\n\r\n  max-width: var(--rail) !important;\r\n  margin: 0 auto !important;\r\n  padding: 14px var(--pad-x) 18px !important;\r\n\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  gap: 16px !important;\r\n\r\n  font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n  color: var(--text) !important;\r\n}\r\nform.pt-rg-self-exclusion *{ box-sizing:border-box; }\r\n\r\n@media (max-width:900px){\r\n  form.pt-rg-self-exclusion{ --field-w: 480px; }\r\n}\r\n@media (max-width:640px){\r\n  form.pt-rg-self-exclusion{ --field-w: 100%; --pad-x: 14px; }\r\n}\r\n\r\n/* =========================================================\r\n   1) TITLE\r\n========================================================= */\r\nform.pt-rg-self-exclusion .SelfExclusion__description--sEl{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 8px auto 6px !important;\r\n\r\n  text-align: center !important;\r\n  font-size: 20px !important;\r\n  font-weight: 750 !important;\r\n  letter-spacing: -0.15px !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABELS\r\n========================================================= */\r\nform.pt-rg-self-exclusion .Label__label--MzX{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto 6px !important;\r\n\r\n  font-size: 12.5px !important;\r\n  font-weight: 800 !important;\r\n  color: var(--muted) !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) HIDE vendor dropdown arrows\r\n========================================================= */\r\nform.pt-rg-self-exclusion .Icon__bottomArrowForDropDowns--1uH,\r\nform.pt-rg-self-exclusion .Icons__dropDownIcon--2WW{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) Vendor control wrapper: keep width/ruler but neutralize\r\n========================================================= */\r\nform.pt-rg-self-exclusion .cms-control-content{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto !important;\r\n\r\n  height: 46px !important;\r\n  position: relative !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  padding: 0 !important;\r\n}\r\n\r\n/* esconde selects (produto e período) visualmente */\r\nform.pt-rg-self-exclusion .cms-control-content select{\r\n  position:absolute !important;\r\n  inset:0 !important;\r\n  width:100% !important;\r\n  height:100% !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) PT-DD (TAGG style)\r\n========================================================= */\r\nform.pt-rg-self-exclusion .pt-dd{\r\n  width: 100% !important;\r\n  position: relative !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .pt-dd__btn{\r\n  width: 100% !important;\r\n  height: 46px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap: 12px !important;\r\n\r\n  padding: 0 16px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: var(--field-bg) !important;\r\n  border: 1px solid var(--border) !important;\r\n\r\n  color: var(--text) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  text-align:left !important;\r\n\r\n  cursor: pointer !important;\r\n  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease !important;\r\n}\r\n@media (hover:hover){\r\n  form.pt-rg-self-exclusion .pt-dd__btn:hover{\r\n    background: var(--field-bg-hover) !important;\r\n    border-color: rgba(255,255,255,.26) !important;\r\n  }\r\n}\r\nform.pt-rg-self-exclusion .pt-dd.is-open .pt-dd__btn,\r\nform.pt-rg-self-exclusion .pt-dd__btn:focus,\r\nform.pt-rg-self-exclusion .pt-dd__btn:focus-visible{\r\n  outline:none !important;\r\n  border-color: rgba(131,222,26,.70) !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .pt-dd__value{\r\n  min-width: 0 !important;\r\n  overflow:hidden !important;\r\n  text-overflow: ellipsis !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .pt-dd__chev{\r\n  flex: 0 0 auto !important;\r\n  width: 18px !important;\r\n  height: 18px !important;\r\n  position: relative !important;\r\n  opacity: .95 !important;\r\n}\r\nform.pt-rg-self-exclusion .pt-dd__chev::before{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  right: 2px !important;\r\n  top: 50% !important;\r\n  transform: translateY(-50%) rotate(45deg) !important;\r\n\r\n  width: 8px !important;\r\n  height: 8px !important;\r\n  border-right: 2px solid rgba(255,255,255,.72) !important;\r\n  border-bottom: 2px solid rgba(255,255,255,.72) !important;\r\n  box-sizing:border-box !important;\r\n}\r\nform.pt-rg-self-exclusion .pt-dd.is-open .pt-dd__chev{\r\n  transform: rotate(180deg) !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .pt-dd__menu{\r\n  position:absolute !important;\r\n  left: 0 !important;\r\n  right: 0 !important;\r\n  top: calc(100% + 8px) !important;\r\n\r\n  background: var(--menu-bg) !important;\r\n  border: 1px solid var(--menu-border) !important;\r\n  border-radius: 14px !important;\r\n\r\n  padding: 8px !important;\r\n  margin: 0 !important;\r\n\r\n  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;\r\n\r\n  display:none !important;\r\n  z-index: 9999 !important;\r\n}\r\nform.pt-rg-self-exclusion .pt-dd.is-open .pt-dd__menu{\r\n  display:block !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .pt-dd__item{\r\n  width: 100% !important;\r\n  height: 40px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n\r\n  padding: 0 14px !important;\r\n  border-radius: 12px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n\r\n  color: var(--menu-item-muted) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  text-align:left !important;\r\n\r\n  cursor:pointer !important;\r\n  transition: background .12s ease, color .12s ease, box-shadow .12s ease !important;\r\n}\r\n@media (hover:hover){\r\n  form.pt-rg-self-exclusion .pt-dd__item:hover{\r\n    background: rgba(131,222,26,.10) !important;\r\n    color: var(--menu-item) !important;\r\n  }\r\n}\r\nform.pt-rg-self-exclusion .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.14) !important;\r\n  color: #fff !important;\r\n  box-shadow: inset 0 0 0 1px rgba(131,222,26,.45) !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) CTA — Placard (bulletproof)\r\n========================================================= */\r\nform.pt-rg-self-exclusion .SelfExclusion__controls--pkv{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 10px auto 0 !important;\r\n\r\n  display:flex !important;\r\n  justify-content:stretch !important;\r\n  align-self: stretch !important;\r\n}\r\n\r\nform.pt-rg-self-exclusion .SelfExclusion__controls--pkv > button.SelfExclusion__submit--i3y.Button__button--1gm.Button__primary--gFC.Button__success--3cJ{\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  min-width: 0 !important;\r\n  flex: 1 1 auto !important;\r\n\r\n  display:block !important;\r\n  margin: 0 !important;\r\n\r\n  height: 44px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n\r\n  color: #fff !important;\r\n  font-size: 13px !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .005em !important;\r\n\r\n  box-shadow: none !important;\r\n  cursor: pointer !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease, opacity .12s ease, box-shadow .12s ease !important;\r\n}\r\n@media (hover:hover){\r\n  form.pt-rg-self-exclusion .SelfExclusion__controls--pkv > button.SelfExclusion__submit--i3y.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:hover{\r\n    background: rgba(131, 222, 26, 0.18) !important;\r\n    border-color: rgba(131, 222, 26, 0.60) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nform.pt-rg-self-exclusion .SelfExclusion__controls--pkv > button.SelfExclusion__submit--i3y.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .94 !important;\r\n}\r\nform.pt-rg-self-exclusion .SelfExclusion__controls--pkv > button.SelfExclusion__submit--i3y.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:focus,\r\nform.pt-rg-self-exclusion .SelfExclusion__controls--pkv > button.SelfExclusion__submit--i3y.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:focus-visible{\r\n  outline:none !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PT-DD Self-Exclusion V1.1 (SPA safe)\r\n   - Cria pt-dd para o select period\r\n   - DEFAULT robusto: força \"3 meses\" após vendor init + após mount do pt-dd\r\n========================================================= */\r\n(function(){\r\n  var FORM_SEL = 'form.cms-self-exclusion-form';\r\n  var FORM_CLASS = 'pt-rg-self-exclusion';\r\n\r\n  function qsa(root, sel){ return Array.prototype.slice.call((root||document).querySelectorAll(sel)); }\r\n\r\n  function closeAll(except){\r\n    qsa(document, FORM_SEL + ' .pt-dd.is-open').forEach(function(dd){\r\n      if(except && dd === except) return;\r\n      dd.classList.remove('is-open');\r\n      dd.setAttribute('aria-expanded','false');\r\n    });\r\n  }\r\n\r\n  function forceDefault3Months(select){\r\n    if(!select) return;\r\n\r\n    var cur = (select.value || '').trim().toLowerCase();\r\n    if(cur === '3 months') return;\r\n\r\n    var opt = Array.prototype.slice.call(select.options).find(function(o){\r\n      var t = (o.textContent || '').trim().toLowerCase();\r\n      var v = (o.value || '').trim().toLowerCase();\r\n      return t === '3 meses' || v === '3 months';\r\n    });\r\n\r\n    if(opt){\r\n      select.value = opt.value;\r\n      select.dispatchEvent(new Event('change', { bubbles:true }));\r\n    }\r\n  }\r\n\r\n  function buildPtDD(content, select){\r\n    if(!content || !select) return;\r\n    if(content.querySelector('.pt-dd')) return;\r\n\r\n    var dd = document.createElement('div');\r\n    dd.className = 'pt-dd';\r\n    dd.setAttribute('role','combobox');\r\n    dd.setAttribute('aria-expanded','false');\r\n\r\n    var btn = document.createElement('button');\r\n    btn.type = 'button';\r\n    btn.className = 'pt-dd__btn';\r\n    btn.setAttribute('aria-haspopup','listbox');\r\n\r\n    var valueSpan = document.createElement('span');\r\n    valueSpan.className = 'pt-dd__value';\r\n\r\n    var chev = document.createElement('span');\r\n    chev.className = 'pt-dd__chev';\r\n\r\n    btn.appendChild(valueSpan);\r\n    btn.appendChild(chev);\r\n\r\n    var menu = document.createElement('div');\r\n    menu.className = 'pt-dd__menu';\r\n    menu.setAttribute('role','listbox');\r\n\r\n    function rebuildItems(){\r\n      menu.innerHTML = '';\r\n      Array.prototype.slice.call(select.options).forEach(function(opt){\r\n        var item = document.createElement('button');\r\n        item.type = 'button';\r\n        item.className = 'pt-dd__item';\r\n        item.textContent = opt.textContent;\r\n        item.dataset.value = opt.value;\r\n\r\n        if(select.value === opt.value) item.classList.add('is-active');\r\n\r\n        item.addEventListener('click', function(){\r\n          select.value = opt.value;\r\n          select.dispatchEvent(new Event('change', { bubbles:true }));\r\n          syncFromSelect();\r\n          closeAll();\r\n          btn.focus();\r\n        });\r\n\r\n        menu.appendChild(item);\r\n      });\r\n    }\r\n\r\n    function syncFromSelect(){\r\n      var val = select.value;\r\n      var opt = Array.prototype.slice.call(select.options).find(function(o){ return o.value === val; });\r\n      valueSpan.textContent = opt ? opt.textContent : (val || '');\r\n\r\n      qsa(menu, '.pt-dd__item').forEach(function(i){\r\n        i.classList.toggle('is-active', i.dataset.value === val);\r\n      });\r\n    }\r\n\r\n    dd.appendChild(btn);\r\n    dd.appendChild(menu);\r\n    content.appendChild(dd);\r\n\r\n    rebuildItems();\r\n    syncFromSelect();\r\n\r\n    btn.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      var isOpen = dd.classList.contains('is-open');\r\n      closeAll(dd);\r\n      dd.classList.toggle('is-open', !isOpen);\r\n      dd.setAttribute('aria-expanded', (!isOpen).toString());\r\n    });\r\n\r\n    btn.addEventListener('keydown', function(e){\r\n      if(e.key === 'Escape'){ closeAll(); return; }\r\n      if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); btn.click(); }\r\n      if(e.key === 'ArrowDown'){\r\n        e.preventDefault();\r\n        closeAll(dd);\r\n        dd.classList.add('is-open');\r\n        dd.setAttribute('aria-expanded','true');\r\n        var first = menu.querySelector('.pt-dd__item');\r\n        if(first) first.focus();\r\n      }\r\n    });\r\n\r\n    menu.addEventListener('keydown', function(e){\r\n      if(e.key === 'Escape'){ closeAll(); btn.focus(); }\r\n    });\r\n\r\n    select.addEventListener('change', function(){\r\n      rebuildItems();\r\n      syncFromSelect();\r\n    });\r\n\r\n    document.addEventListener('mousedown', function(ev){\r\n      if(!dd.contains(ev.target)) closeAll();\r\n    });\r\n\r\n    window.addEventListener('resize', function(){ closeAll(); });\r\n  }\r\n\r\n  function apply(form){\r\n    if(!form || form.__ptSelfExclDone) return;\r\n    if(!form.classList.contains('cms-self-exclusion-form') && !form.querySelector('.SelfExclusion__description--sEl')) return;\r\n\r\n    form.__ptSelfExclDone = true;\r\n    form.classList.add(FORM_CLASS);\r\n\r\n    var periodSelect = form.querySelector('select[name=\"period\"]');\r\n    var periodContent = periodSelect && periodSelect.closest('.cms-control-content');\r\n\r\n    if(periodSelect){\r\n      // 1) deixa o vendor fazer o setup\r\n      setTimeout(function(){ forceDefault3Months(periodSelect); }, 0);\r\n\r\n      // 2) cria o dropdown custom\r\n      buildPtDD(periodContent, periodSelect);\r\n\r\n      // 3) garante novamente após mount\r\n      setTimeout(function(){ forceDefault3Months(periodSelect); }, 50);\r\n    }\r\n  }\r\n\r\n  function scan(){ qsa(document, FORM_SEL).forEach(apply); }\r\n\r\n  scan();\r\n  var tries=0, t=setInterval(function(){ scan(); if(++tries>40) clearInterval(t); }, 100);\r\n  new MutationObserver(scan).observe(document.body,{childList:true,subtree:true});\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"ac533b54-e080-4e01-b63a-4e10a6f6c2a0","tagTypeId":"custom_tag_type","name":"IBAN_Upload_Placard_Theme","description":"IBAN upload constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — PAYMENT METHOD DOC VALIDATION (Jumio / hub2)\r\n     Theme V1.2 — CONSOLIDADO (ALINHADO COM TAG_ID_VALIDATION_JUMIO)\r\n========================================================= -->\r\n\r\n<style type=\"text/css\">\r\n/* =========================================================\r\n   0) BASE — card Placard (igual ao ID validation)\r\n========================================================= */\r\nsection.jumio-container.placard-kyc-upload{\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.72);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#73c319;\r\n  --green-active:#5fa214;\r\n  --green-ring:rgba(131,222,26,.28);\r\n\r\n  --radius-lg:18px;\r\n  --radius-pill:999px;\r\n\r\n  --shadow:0 18px 55px rgba(0,0,0,.55);\r\n  --border-soft:rgba(255,255,255,.10);\r\n\r\n  max-width: 720px;\r\n  margin: 18px auto;\r\n  padding: 18px 16px;\r\n  box-sizing: border-box;\r\n\r\n  background: linear-gradient(180deg, rgba(28,29,39,.92) 0%, rgba(32,33,43,1) 100%);\r\n  border: 1px solid var(--border-soft);\r\n  border-radius: var(--radius-lg);\r\n  box-shadow: var(--shadow);\r\n  text-align: center;\r\n  color: var(--text);\r\n}\r\n\r\n/* =========================================================\r\n   1) COPY — mesmo “tom” do ID validation\r\n========================================================= */\r\nsection.jumio-container.placard-kyc-upload .pt-kyc-intro{\r\n  margin: 0;\r\n}\r\n\r\n/* título pequeno (não “headline”) */\r\nsection.jumio-container.placard-kyc-upload .pt-kyc-title{\r\n  margin: 0 0 12px;\r\n  color: var(--text);\r\n  font: 700 14px/1.35 system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\r\n}\r\n\r\n/* esconder o texto duplicado do vendor */\r\nsection.jumio-container.placard-kyc-upload #Placard-BS-uploaded big,\r\nsection.jumio-container.placard-kyc-upload #Placard-BS-not-uploaded big{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) CTA — igual ao ID validation (sem bold)\r\n========================================================= */\r\nsection.jumio-container.placard-kyc-upload #placard-jumio-secondary-upload,\r\nsection.jumio-container.placard-kyc-upload .placard-jumio-secondary-upload{\r\n  appearance:none;\r\n  -webkit-appearance:none;\r\n\r\n  margin-top: 14px;\r\n  height: 46px;\r\n  min-width: 240px;\r\n  padding: 0 22px;\r\n\r\n  border: 0 !important;\r\n  border-radius: var(--radius-pill) !important;\r\n\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n\r\n  /* 🔑 igual ao ID validation: 600, não bold */\r\n  font: 600 14px/1 system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\r\n  letter-spacing: .01em;\r\n\r\n  cursor: pointer;\r\n  box-shadow: 0 5px 14px rgba(0,0,0,.60);\r\n  transition: transform .12s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;\r\n}\r\n\r\n@media (hover:hover){\r\n  section.jumio-container.placard-kyc-upload #placard-jumio-secondary-upload:hover,\r\n  section.jumio-container.placard-kyc-upload .placard-jumio-secondary-upload:hover{\r\n    background: var(--green-hover) !important;\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 8px 20px rgba(0,0,0,.70);\r\n  }\r\n}\r\n\r\nsection.jumio-container.placard-kyc-upload #placard-jumio-secondary-upload:active,\r\nsection.jumio-container.placard-kyc-upload .placard-jumio-secondary-upload:active{\r\n  background: var(--green-active) !important;\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\n\r\nsection.jumio-container.placard-kyc-upload #placard-jumio-secondary-upload:focus-visible,\r\nsection.jumio-container.placard-kyc-upload .placard-jumio-secondary-upload:focus-visible{\r\n  outline: none;\r\n  box-shadow: 0 0 0 2px var(--green-ring), 0 6px 16px rgba(0,0,0,.45);\r\n}\r\n\r\n/* =========================================================\r\n   3) IFRAME — layout estável\r\n========================================================= */\r\nsection.jumio-container.placard-kyc-upload .iframe-container{\r\n  width: 100% !important;\r\n  margin: 16px auto 0 !important;\r\n  box-sizing: border-box;\r\n}\r\n\r\nsection.jumio-container.placard-kyc-upload .iframe-jumio{\r\n  width: 100% !important;\r\n  min-height: 520px;\r\n  border: 0;\r\n  border-radius: 16px;\r\n  overflow: hidden;\r\n\r\n  background: rgba(0,0,0,.18);\r\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);\r\n}\r\n\r\n/* Mobile */\r\n@media (max-width: 768px){\r\n  section.jumio-container.placard-kyc-upload{\r\n    padding: 16px 14px;\r\n    margin: 14px auto;\r\n  }\r\n  section.jumio-container.placard-kyc-upload #placard-jumio-secondary-upload,\r\n  section.jumio-container.placard-kyc-upload .placard-jumio-secondary-upload{\r\n    width: 100%;\r\n    max-width: 360px;\r\n    min-width: 0;\r\n  }\r\n  section.jumio-container.placard-kyc-upload .iframe-jumio{\r\n    min-height: 560px;\r\n  }\r\n}\r\n</style>\r\n\r\n<script>\r\n(function(){\r\n  var TITLE = 'Clica no botão abaixo para iniciares o envio do documento';\r\n  var BTN   = 'Iniciar';\r\n\r\n  function ensureTitle(host){\r\n    var uploaded = host.querySelector('#Placard-BS-uploaded');\r\n    var notUploaded = host.querySelector('#Placard-BS-not-uploaded');\r\n\r\n    // escolhe o primeiro que existe (não altera o hidden logic do vendor)\r\n    var block = uploaded || notUploaded;\r\n    if(!block) return false;\r\n\r\n    // já existe o nosso intro?\r\n    var intro = block.querySelector('.pt-kyc-intro');\r\n    if(!intro){\r\n      intro = document.createElement('div');\r\n      intro.className = 'pt-kyc-intro';\r\n\r\n      var h = document.createElement('div');\r\n      h.className = 'pt-kyc-title';\r\n      h.textContent = TITLE;\r\n\r\n      intro.appendChild(h);\r\n\r\n      // inject BEFORE do <big> (sem destruir markup)\r\n      var big = block.querySelector('big');\r\n      if(big) block.insertBefore(intro, big);\r\n      else block.insertBefore(intro, block.firstChild);\r\n    } else {\r\n      var h2 = intro.querySelector('.pt-kyc-title');\r\n      if(h2 && h2.textContent.trim() !== TITLE) h2.textContent = TITLE;\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  function ensureButton(host){\r\n    var btn = host.querySelector('#placard-jumio-secondary-upload');\r\n    if(btn && btn.textContent.trim() !== BTN){\r\n      btn.textContent = BTN;\r\n    }\r\n  }\r\n\r\n  function apply(){\r\n    var host = document.querySelector('section.jumio-container');\r\n    if(!host) return false;\r\n\r\n    if(!host.classList.contains('placard-kyc-upload')){\r\n      host.classList.add('placard-kyc-upload');\r\n    }\r\n\r\n    var ok = ensureTitle(host);\r\n    ensureButton(host);\r\n\r\n    // não mexer em inline styles a cada tick (performance)\r\n    return ok;\r\n  }\r\n\r\n  // tentativa imediata\r\n  if (apply()) return;\r\n\r\n  // retries curtos e poucos (melhor performance)\r\n  var tries = 0;\r\n  var t = setInterval(function(){\r\n    tries++;\r\n    if (apply() || tries >= 12) clearInterval(t); // ~3s max\r\n  }, 250);\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"834324ef-ca32-45bf-ad87-7606d58ec489","tagTypeId":"custom_tag_type","name":"Jumio_ID_Validation_Placard_Theme","description":"ID validation constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — IDENTITY VERIFICATION (hub2)\r\n     Theme V1.3 — CONSOLIDADO\r\n     - Base Placard\r\n     - Estado \"ID validada\":\r\n         • esconde bloco informativo de cima (dentro do mesmo web content)\r\n         • adiciona badge polegar verde\r\n========================================================= -->\r\n\r\n<style type=\"text/css\">\r\n/* =========================================================\r\n   0) BASE — card Placard (1x apenas)\r\n========================================================= */\r\nform.cms-identity-verification-form{\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.72);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#73c319;\r\n  --green-active:#5fa214;\r\n  --green-ring:rgba(131,222,26,.28);\r\n\r\n  --radius-lg:18px;\r\n  --radius-pill:999px;\r\n\r\n  --shadow:0 18px 55px rgba(0,0,0,.55);\r\n  --border-soft:rgba(255,255,255,.10);\r\n\r\n  max-width: 720px;\r\n  margin: 18px auto;\r\n  padding: 18px 16px;\r\n  box-sizing: border-box;\r\n\r\n  background: linear-gradient(180deg, rgba(28,29,39,.92) 0%, rgba(32,33,43,1) 100%);\r\n  border: 1px solid var(--border-soft);\r\n  border-radius: var(--radius-lg);\r\n  box-shadow: var(--shadow);\r\n  text-align: center;\r\n}\r\n\r\n/* Título redundante (mantém DOM p/ vendor) */\r\nform.cms-identity-verification-form .Document__description--21s{\r\n  display:none !important;\r\n}\r\n\r\n/* Texto */\r\nform.cms-identity-verification-form .Document__status--38F{\r\n  color: var(--text);\r\n  font: 700 14px/1.35 system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\r\n}\r\nform.cms-identity-verification-form .Document__status--38F span{\r\n  color: inherit !important;\r\n}\r\n\r\n/* CTA (quando existe) */\r\nform.cms-identity-verification-form button.Document__button--2xB{\r\n  appearance:none;\r\n  -webkit-appearance:none;\r\n\r\n  margin-top: 14px;\r\n  height: 46px;\r\n  min-width: 240px;\r\n  padding: 0 22px;\r\n\r\n  border: 0 !important;\r\n  border-radius: var(--radius-pill) !important;\r\n\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n\r\n  font: 600 14px/1 system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\r\n  letter-spacing: .01em;\r\n\r\n  cursor: pointer;\r\n  box-shadow: 0 5px 14px rgba(0,0,0,.6);\r\n  transition: transform .12s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;\r\n}\r\n@media (hover:hover){\r\n  form.cms-identity-verification-form button.Document__button--2xB:hover{\r\n    background: var(--green-hover) !important;\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 8px 20px rgba(0,0,0,.7);\r\n  }\r\n}\r\nform.cms-identity-verification-form button.Document__button--2xB:active{\r\n  background: var(--green-active) !important;\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\nform.cms-identity-verification-form button.Document__button--2xB:focus-visible{\r\n  outline: none;\r\n  box-shadow: 0 0 0 2px var(--green-ring), 0 6px 16px rgba(0,0,0,.45);\r\n}\r\n\r\n/* Mobile */\r\n@media (max-width: 768px){\r\n  form.cms-identity-verification-form{\r\n    padding: 16px 14px;\r\n    margin: 14px auto;\r\n  }\r\n  form.cms-identity-verification-form button.Document__button--2xB{\r\n    width: 100%;\r\n    max-width: 360px;\r\n    min-width: 0;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   1) VERIFIED STATE — aplicado no \"scope\" do web content\r\n========================================================= */\r\n\r\n/* Esconde o bloco informativo superior *apenas dentro deste scope* */\r\n.pt-id-verified-scope .pt-rg-intro{\r\n  display:none !important;\r\n}\r\n\r\n/* Mensagem “validada” com badge */\r\n.pt-id-verified-scope form.cms-identity-verification-form{\r\n  padding: 22px 16px;\r\n}\r\n\r\n.pt-id-verified-scope form.cms-identity-verification-form .Document__status--38F{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 10px;\r\n  font: 800 14px/1.25 system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\r\n}\r\n\r\n.pt-id-verified-scope form.cms-identity-verification-form .Document__status--38F::before{\r\n  content:\"👍\";\r\n  width: 30px;\r\n  height: 30px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n\r\n  border-radius: 999px;\r\n  background: rgba(131,222,26,.18);\r\n  border: 1px solid rgba(131,222,26,.45);\r\n  box-shadow: 0 0 0 2px rgba(131,222,26,.10);\r\n\r\n  font-size: 16px;\r\n  line-height: 1;\r\n}\r\n</style>\r\n\r\n<script>\r\n(function(){\r\n  function norm(s){ return (s||\"\").toLowerCase().replace(/\\s+/g,\" \").trim(); }\r\n\r\n  function isVerifiedForm(form){\r\n    var statusEl = form.querySelector('.Document__status--38F');\r\n    if(!statusEl) return false;\r\n\r\n    var statusTxt = norm(statusEl.textContent);\r\n    var hasButton = !!form.querySelector('button[type=\"submit\"], .Document__button--2xB');\r\n\r\n    return !hasButton && (\r\n      statusTxt.indexOf('a tua identidade está validada') !== -1 ||\r\n      statusTxt.indexOf('a tua identidade esta validada') !== -1 ||\r\n      statusTxt.endsWith('está validada') ||\r\n      statusTxt.endsWith('esta validada')\r\n    );\r\n  }\r\n\r\n  function findLocalIntro(form){\r\n    // 1) tenta o content root/portlet (mais provável no hub2)\r\n    var root =\r\n      form.closest('.portlet__content') ||\r\n      form.closest('.portlet') ||\r\n      form.closest('[data-portlet-title]') ||\r\n      form.closest('[data-react-portlet-id]') ||\r\n      form.closest('[data-portlet-type]') ||\r\n      document;\r\n\r\n    // intro dentro do mesmo portlet/content\r\n    var intro = root.querySelector('.pt-rg-intro');\r\n    if(intro) return intro;\r\n\r\n    // 2) fallback: procura o intro mais “próximo acima” no DOM\r\n    // (muitas vezes o bloco informativo está antes do form)\r\n    var walker = form;\r\n    for(var i=0; i<8 && walker; i++){\r\n      var prev = walker.previousElementSibling;\r\n      while(prev){\r\n        if(prev.classList && prev.classList.contains('pt-rg-intro')) return prev;\r\n        // pode estar dentro de um wrapper\r\n        var nested = prev.querySelector && prev.querySelector('.pt-rg-intro');\r\n        if(nested) return nested;\r\n        prev = prev.previousElementSibling;\r\n      }\r\n      walker = walker.parentElement;\r\n    }\r\n\r\n    // 3) último recurso: primeiro intro da página (evita se houver mais de um)\r\n    // Só usar se tiveres a certeza de que há apenas 1.\r\n    // return document.querySelector('.pt-rg-intro') || null;\r\n\r\n    return null;\r\n  }\r\n\r\n  function apply(){\r\n    var form = document.querySelector('form.cms-identity-verification-form');\r\n    if(!form) return;\r\n\r\n    var verified = isVerifiedForm(form);\r\n\r\n    // class para styling do badge (mantém)\r\n    var scope = form.closest('.portlet__content') || form.closest('.portlet') || form.parentElement;\r\n    if(scope){\r\n      scope.classList.toggle('pt-id-verified-scope', verified);\r\n    }\r\n\r\n    // esconder/mostrar o bloco informativo correto\r\n    var intro = findLocalIntro(form);\r\n    if(intro){\r\n      // guardamos o estado anterior para conseguir reverter\r\n      if(intro.dataset.ptPrevDisplay == null){\r\n        intro.dataset.ptPrevDisplay = intro.style.display || \"\";\r\n      }\r\n      intro.style.display = verified ? \"none\" : intro.dataset.ptPrevDisplay;\r\n    }\r\n  }\r\n\r\n  // initial\r\n  apply();\r\n\r\n  // SPA updates\r\n  var mo = new MutationObserver(function(){ apply(); });\r\n  mo.observe(document.documentElement, { childList:true, subtree:true });\r\n\r\n  // fallback leve\r\n  setInterval(apply, 1500);\r\n})();\r\n</script>\r\n\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"13ac1f99-4482-44f1-bbe4-da22056a2062","tagTypeId":"custom_tag_type","name":"Kill_Jumio_Initial_Popup","description":"Loss Limits constumization","config":{"beforeEndHead":"<style></style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD — Jumio Verify Popup: auto \"Validar depois\" + unlock UI\r\n   - Evita ecrã bloqueado (backdrop / scroll-lock / focus trap)\r\n   - Só atua no popup de \"Validação de dados pessoais\"\r\n========================================================= */\r\n(function () {\r\n  var POPUP_SEL = '.jumio-verify-popup';\r\n  var TITLE_SEL = '.Popup__title--2ro, .popup-modal__title';\r\n  var BTN_SEL   = 'button';\r\n\r\n  function text(el){\r\n    return (el && el.textContent || '').replace(/\\s+/g,' ').trim();\r\n  }\r\n\r\n  function isTargetPopup(popup){\r\n    if (!popup) return false;\r\n    var title = popup.querySelector(TITLE_SEL);\r\n    return title && /Validação de dados pessoais/i.test(text(title));\r\n  }\r\n\r\n  function clickLater(popup){\r\n    var btns = popup.querySelectorAll(BTN_SEL);\r\n    for (var i=0; i<btns.length; i++){\r\n      if (/Validar depois/i.test(text(btns[i]))){\r\n        btns[i].click();\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  function hardCleanup(popup){\r\n    // Remove o popup do DOM (fallback)\r\n    try{ if (popup && popup.parentNode) popup.parentNode.removeChild(popup); }catch(e){}\r\n\r\n    // Remove backdrops comuns (variam por build)\r\n    var backdrops = document.querySelectorAll(\r\n      '.popup-modal__backdrop, .Popup__backdrop--*, [class*=\"Popup__backdrop\"], [class*=\"Modal__backdrop\"]'\r\n    );\r\n    for (var i=0; i<backdrops.length; i++){\r\n      try{ backdrops[i].parentNode && backdrops[i].parentNode.removeChild(backdrops[i]); }catch(e){}\r\n    }\r\n\r\n    // Desbloqueia scroll (vendor costuma aplicar overflow hidden / classes)\r\n    document.documentElement.style.overflow = '';\r\n    document.body.style.overflow = '';\r\n    document.body.style.position = '';\r\n    document.body.style.top = '';\r\n    document.body.classList.remove('modal-open','is-modal-open','no-scroll','lock-scroll');\r\n  }\r\n\r\n  function handle(){\r\n    var popup = document.querySelector(POPUP_SEL);\r\n    if (!popup || !isTargetPopup(popup)) return;\r\n\r\n    // 1) clica \"Validar depois\"\r\n    var ok = clickLater(popup);\r\n\r\n    // 2) se por algum motivo não fechou, força cleanup\r\n    setTimeout(function(){\r\n      var stillThere = document.querySelector(POPUP_SEL);\r\n      if (stillThere && isTargetPopup(stillThere)) {\r\n        hardCleanup(stillThere);\r\n      } else if (!ok) {\r\n        // mesmo que tenha desaparecido, alguns builds deixam backdrop/scroll-lock\r\n        hardCleanup(null);\r\n      }\r\n    }, 120);\r\n  }\r\n\r\n  // Scan inicial\r\n  handle();\r\n\r\n  // Observer (porque o popup entra async)\r\n  var obs = new MutationObserver(function(){ handle(); });\r\n  obs.observe(document.body, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"8a366ff2-181b-4d10-aaea-e307e0e1df33","tagTypeId":"custom_tag_type","name":"Timeout_Placard_Theme","description":"Timeout constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — RG TIMEOUT (Timeout / Select)\r\n     THEME FINAL V2.1 (PT-DD custom dropdown, TAGG aligned)\r\n\r\n     Fixes:\r\n     - Dropdown estilo TAGG (pt-dd) com menu custom\r\n     - \"não definido\" com padding correto (não cola)\r\n     - CTA Confirmar alinhado com o dropdown (mesma régua / width) — BULLETPROOF\r\n     - Mantém <select> original (compat) + dispara change\r\n========================================================= -->\r\n\r\n<style id=\"pt-rg-timeout-theme-v21\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nform.pt-rg-timeout{\r\n  --text: rgba(255,255,255,.92);\r\n  --muted: rgba(255,255,255,.70);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#73c319;\r\n  --green-active:#5fa214;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --field-bg: rgba(255,255,255,.04);\r\n  --field-bg-hover: rgba(255,255,255,.06);\r\n  --border: rgba(255,255,255,.18);\r\n\r\n  --menu-bg: #1c1d27;\r\n  --menu-border: rgba(255,255,255,.14);\r\n  --menu-item: rgba(255,255,255,.92);\r\n  --menu-item-muted: rgba(255,255,255,.78);\r\n\r\n  --r-pill: 999px;\r\n  --r-card: 14px;\r\n\r\n  --rail: 720px;\r\n  --pad-x: 24px;\r\n  --field-w: 520px;\r\n\r\n  max-width: var(--rail) !important;\r\n  margin: 0 auto !important;\r\n  padding: 14px var(--pad-x) 18px !important;\r\n\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  gap: 16px !important;\r\n\r\n  font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n  color: var(--text) !important;\r\n}\r\nform.pt-rg-timeout *{ box-sizing:border-box; }\r\n\r\n@media (max-width:900px){\r\n  form.pt-rg-timeout{ --field-w: 480px; }\r\n}\r\n@media (max-width:640px){\r\n  form.pt-rg-timeout{ --field-w: 100%; --pad-x: 14px; }\r\n}\r\n\r\n/* =========================================================\r\n   1) TITLE\r\n========================================================= */\r\nform.pt-rg-timeout .Timeout__description--3h0{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 8px auto 6px !important;\r\n\r\n  text-align: center !important;\r\n  font-size: 20px !important;\r\n  font-weight: 750 !important;\r\n  letter-spacing: -0.15px !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABEL\r\n========================================================= */\r\nform.pt-rg-timeout .Label__label--MzX{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto 6px !important;\r\n\r\n  font-size: 12.5px !important;\r\n  font-weight: 800 !important;\r\n  color: var(--muted) !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) HIDE vendor icons (check + arrow)\r\n========================================================= */\r\nform.pt-rg-timeout .Icon__formFieldValid--3E3,\r\nform.pt-rg-timeout .Icon__bottomArrowForDropDowns--1uH,\r\nform.pt-rg-timeout .Icons__dropDownIcon--2WW{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) Keep vendor control wrapper but neutralize\r\n========================================================= */\r\nform.pt-rg-timeout .cms-control-content{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto !important;\r\n\r\n  height: 46px !important;\r\n  position: relative !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  padding: 0 !important;\r\n}\r\n\r\n/* Esconde o <select> visualmente (mantém no DOM p/ vendor) */\r\nform.pt-rg-timeout .cms-control-content select{\r\n  position:absolute !important;\r\n  inset:0 !important;\r\n  width:100% !important;\r\n  height:100% !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) PT-DD (TAGG style) — botão + menu\r\n========================================================= */\r\nform.pt-rg-timeout .pt-dd{\r\n  width: 100% !important;\r\n  position: relative !important;\r\n}\r\n\r\nform.pt-rg-timeout .pt-dd__btn{\r\n  width: 100% !important;\r\n  height: 46px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap: 12px !important;\r\n\r\n  padding: 0 16px !important; /* margem p/ “não definido” */\r\n  border-radius: var(--r-pill) !important;\r\n\r\n  background: var(--field-bg) !important;\r\n  border: 1px solid var(--border) !important;\r\n\r\n  color: var(--text) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  text-align:left !important;\r\n\r\n  cursor: pointer !important;\r\n  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  form.pt-rg-timeout .pt-dd__btn:hover{\r\n    background: var(--field-bg-hover) !important;\r\n    border-color: rgba(255,255,255,.26) !important;\r\n  }\r\n}\r\n\r\nform.pt-rg-timeout .pt-dd.is-open .pt-dd__btn,\r\nform.pt-rg-timeout .pt-dd__btn:focus,\r\nform.pt-rg-timeout .pt-dd__btn:focus-visible{\r\n  outline: none !important;\r\n  border-color: rgba(131,222,26,.70) !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n\r\n/* texto */\r\nform.pt-rg-timeout .pt-dd__value{\r\n  min-width: 0 !important;\r\n  overflow:hidden !important;\r\n  text-overflow: ellipsis !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* chevron */\r\nform.pt-rg-timeout .pt-dd__chev{\r\n  flex: 0 0 auto !important;\r\n  width: 18px !important;\r\n  height: 18px !important;\r\n  position: relative !important;\r\n  opacity: .95 !important;\r\n}\r\nform.pt-rg-timeout .pt-dd__chev::before{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  right: 2px !important;\r\n  top: 50% !important;\r\n  transform: translateY(-50%) rotate(45deg) !important;\r\n\r\n  width: 8px !important;\r\n  height: 8px !important;\r\n  border-right: 2px solid rgba(255,255,255,.72) !important;\r\n  border-bottom: 2px solid rgba(255,255,255,.72) !important;\r\n  box-sizing:border-box !important;\r\n}\r\nform.pt-rg-timeout .pt-dd.is-open .pt-dd__chev{\r\n  transform: rotate(180deg) !important;\r\n}\r\n\r\n/* menu */\r\nform.pt-rg-timeout .pt-dd__menu{\r\n  position:absolute !important;\r\n  left: 0 !important;\r\n  right: 0 !important;\r\n  top: calc(100% + 8px) !important;\r\n\r\n  background: var(--menu-bg) !important;\r\n  border: 1px solid var(--menu-border) !important;\r\n  border-radius: var(--r-card) !important;\r\n\r\n  padding: 8px !important;\r\n  margin: 0 !important;\r\n\r\n  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;\r\n\r\n  display:none !important;\r\n  z-index: 9999 !important;\r\n}\r\nform.pt-rg-timeout .pt-dd.is-open .pt-dd__menu{\r\n  display:block !important;\r\n}\r\n\r\n/* items */\r\nform.pt-rg-timeout .pt-dd__item{\r\n  width: 100% !important;\r\n  height: 40px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n\r\n  padding: 0 14px !important;\r\n  border-radius: 12px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n\r\n  color: var(--menu-item-muted) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  text-align:left !important;\r\n\r\n  cursor:pointer !important;\r\n  transition: background .12s ease, color .12s ease, box-shadow .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  form.pt-rg-timeout .pt-dd__item:hover{\r\n    background: rgba(131,222,26,.10) !important;\r\n    color: var(--menu-item) !important;\r\n  }\r\n}\r\n\r\nform.pt-rg-timeout .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.14) !important;\r\n  color: #fff !important;\r\n  box-shadow: inset 0 0 0 1px rgba(131,222,26,.45) !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) CTA (Confirmar) — SAME RULER (bulletproof)\r\n========================================================= */\r\nform.pt-rg-timeout .Timeout__controls--1x7{\r\n  width: var(--field-w) !important;\r\n  max-width: 100% !important;\r\n  margin: 10px auto 0 !important;\r\n\r\n  display: flex !important;\r\n  justify-content: stretch !important;\r\n  align-self: stretch !important;\r\n\r\n  text-align: left !important;\r\n}\r\n\r\n/* botão com seletor forte para ganhar ao vendor */\r\nform.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ{\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  min-width: 0 !important;\r\n  flex: 1 1 auto !important;\r\n\r\n  display: block !important;\r\n  margin: 0 !important;\r\n\r\n  height: 44px !important;\r\n  border-radius: var(--r-pill) !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n\r\n  color: #fff !important;\r\n  font-size: 13px !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .005em !important;\r\n\r\n  box-shadow: none !important;\r\n  cursor: pointer !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease, opacity .12s ease, box-shadow .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  form.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:hover{\r\n    background: rgba(131, 222, 26, 0.18) !important;\r\n    border-color: rgba(131, 222, 26, 0.60) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nform.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .94 !important;\r\n}\r\nform.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:focus,\r\nform.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ:focus-visible{\r\n  outline:none !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\nform.pt-rg-timeout .Timeout__controls--1x7 > button.Timeout__submit--2OJ.Button__button--1gm.Button__primary--gFC.Button__success--3cJ[disabled]{\r\n  opacity: .55 !important;\r\n  cursor: not-allowed !important;\r\n  transform: none !important;\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PT-DD Timeout V2.1 (SPA safe)\r\n   - Cria dropdown custom (pt-dd) a partir do select\r\n   - Mantém select original e dispara change\r\n   - Click outside / ESC / basic keyboard\r\n========================================================= */\r\n(function(){\r\n  var FORM_SEL = 'form.cms-timeout-form';\r\n  var FORM_CLASS = 'pt-rg-timeout';\r\n\r\n  function qsa(root, sel){ return Array.prototype.slice.call((root||document).querySelectorAll(sel)); }\r\n\r\n  function closeAll(except){\r\n    qsa(document, FORM_SEL + ' .pt-dd.is-open').forEach(function(dd){\r\n      if(except && dd === except) return;\r\n      dd.classList.remove('is-open');\r\n      dd.setAttribute('aria-expanded','false');\r\n    });\r\n  }\r\n\r\n  function buildDropdown(form){\r\n    if(!form || form.__ptTimeoutDD) return;\r\n\r\n    var content = form.querySelector('.cms-control-content');\r\n    var select = content && content.querySelector('select[name=\"period\"]');\r\n    if(!content || !select) return;\r\n\r\n    form.__ptTimeoutDD = true;\r\n    form.classList.add(FORM_CLASS);\r\n\r\n    if(content.querySelector('.pt-dd')) return;\r\n\r\n    var dd = document.createElement('div');\r\n    dd.className = 'pt-dd';\r\n    dd.setAttribute('role','combobox');\r\n    dd.setAttribute('aria-expanded','false');\r\n\r\n    var btn = document.createElement('button');\r\n    btn.type = 'button';\r\n    btn.className = 'pt-dd__btn';\r\n    btn.setAttribute('aria-haspopup','listbox');\r\n\r\n    var valueSpan = document.createElement('span');\r\n    valueSpan.className = 'pt-dd__value';\r\n\r\n    var chev = document.createElement('span');\r\n    chev.className = 'pt-dd__chev';\r\n\r\n    btn.appendChild(valueSpan);\r\n    btn.appendChild(chev);\r\n\r\n    var menu = document.createElement('div');\r\n    menu.className = 'pt-dd__menu';\r\n    menu.setAttribute('role','listbox');\r\n\r\n    function rebuildItems(){\r\n      menu.innerHTML = '';\r\n      var opts = Array.prototype.slice.call(select.options);\r\n\r\n      opts.forEach(function(opt){\r\n        if(opt.disabled && (opt.value === '' || opt.classList.contains('hidden'))) return;\r\n\r\n        var item = document.createElement('button');\r\n        item.type = 'button';\r\n        item.className = 'pt-dd__item';\r\n        item.textContent = opt.textContent;\r\n        item.dataset.value = opt.value;\r\n\r\n        if(select.value === opt.value) item.classList.add('is-active');\r\n\r\n        item.addEventListener('click', function(){\r\n          select.value = opt.value;\r\n          select.dispatchEvent(new Event('change', { bubbles:true }));\r\n          syncFromSelect();\r\n          closeAll();\r\n          btn.focus();\r\n        });\r\n\r\n        menu.appendChild(item);\r\n      });\r\n    }\r\n\r\n    function syncFromSelect(){\r\n      var val = select.value;\r\n      var label = '';\r\n\r\n      if(!val){\r\n        var ph = Array.prototype.slice.call(select.options).find(function(o){ return o.value === '' && o.disabled; });\r\n        label = ph ? ph.textContent : 'não definido';\r\n      } else {\r\n        var opt = Array.prototype.slice.call(select.options).find(function(o){ return o.value === val; });\r\n        label = opt ? opt.textContent : val;\r\n      }\r\n\r\n      valueSpan.textContent = label;\r\n\r\n      qsa(menu, '.pt-dd__item').forEach(function(i){\r\n        i.classList.toggle('is-active', i.dataset.value === val);\r\n      });\r\n    }\r\n\r\n    dd.appendChild(btn);\r\n    dd.appendChild(menu);\r\n    content.appendChild(dd);\r\n\r\n    rebuildItems();\r\n    syncFromSelect();\r\n\r\n    btn.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      var isOpen = dd.classList.contains('is-open');\r\n      closeAll(dd);\r\n      dd.classList.toggle('is-open', !isOpen);\r\n      dd.setAttribute('aria-expanded', (!isOpen).toString());\r\n    });\r\n\r\n    btn.addEventListener('keydown', function(e){\r\n      if(e.key === 'Escape'){ closeAll(); return; }\r\n      if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); btn.click(); }\r\n      if(e.key === 'ArrowDown'){\r\n        e.preventDefault();\r\n        closeAll(dd);\r\n        dd.classList.add('is-open');\r\n        dd.setAttribute('aria-expanded','true');\r\n        var first = menu.querySelector('.pt-dd__item');\r\n        if(first) first.focus();\r\n      }\r\n    });\r\n\r\n    menu.addEventListener('keydown', function(e){\r\n      if(e.key === 'Escape'){ closeAll(); btn.focus(); }\r\n    });\r\n\r\n    select.addEventListener('change', function(){\r\n      rebuildItems();\r\n      syncFromSelect();\r\n    });\r\n\r\n    document.addEventListener('mousedown', function(ev){\r\n      if(!dd.contains(ev.target)) closeAll();\r\n    });\r\n\r\n    window.addEventListener('resize', function(){ closeAll(); });\r\n  }\r\n\r\n  function scan(){ qsa(document, FORM_SEL).forEach(buildDropdown); }\r\n\r\n  scan();\r\n  var tries = 0, t = setInterval(function(){ scan(); if(++tries>40) clearInterval(t); }, 100);\r\n  new MutationObserver(scan).observe(document.body, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"6632e58f-af44-43ed-bc1b-e56ab57ebd78","tagTypeId":"custom_tag_type","name":"Loss_limits_Placard_Theme","description":"Loss Limits constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n  PLACARD.PT — RG LOSS LIMITS (cms-rg-limits) — FINAL V1.2 (SINGLE SOURCE)\r\n  - Rail único (sem card exterior)\r\n  - Título + inputs + botão na MESMA régua (left aligned)\r\n  - Inputs com largura lógica em desktop\r\n  - € à direita (visual-only)\r\n  - Placeholder: \"Não definido\"\r\n========================================================= -->\r\n\r\n<style id=\"pt-rg-loss-limits-theme-v12\">\r\nform.cms-rg-limits{\r\n  --text: rgba(255,255,255,.92);\r\n  --muted: rgba(255,255,255,.70);\r\n\r\n  --green:#83DE1A;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --field-bg: rgba(255,255,255,.03);\r\n  --field-bg-hover: rgba(255,255,255,.04);\r\n  --border-soft: rgba(255,255,255,.14);\r\n  --border-soft-2: rgba(255,255,255,.18);\r\n\r\n  --r-pill: 999px;\r\n\r\n  /* um rail só */\r\n  --rail: 720px;\r\n  --pad-x: 24px;\r\n\r\n  color: var(--text) !important;\r\n  font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n\r\n  /* layout */\r\n  max-width: var(--rail) !important;\r\n  margin: 0 auto !important;\r\n  padding: 12px var(--pad-x) 18px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  box-shadow: none !important;\r\n\r\n  display: flex !important;\r\n  flex-direction: column !important;\r\n  gap: 16px !important;\r\n\r\n  box-sizing: border-box !important;\r\n}\r\nform.cms-rg-limits *{ box-sizing: border-box; }\r\n\r\n@media (max-width: 900px){\r\n  form.cms-rg-limits{ --rail: 640px; --pad-x: 20px; }\r\n}\r\n@media (max-width: 640px){\r\n  form.cms-rg-limits{ --rail: 460px; --pad-x: 14px; }\r\n}\r\n@media (max-width: 420px){\r\n  form.cms-rg-limits{ --rail: 360px; --pad-x: 12px; }\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   TÍTULO (mesma régua dos inputs/botão)\r\n--------------------------------------------------------- */\r\nform.cms-rg-limits .Limits__title--1Y6{\r\n  margin: 8px 0 6px !important;\r\n  text-align: left !important;         /* <— isto resolve o desalinhamento percebido */\r\n  font-weight: 800 !important;\r\n  letter-spacing: -.15px !important;\r\n  line-height: 1.2 !important;\r\n  font-size: 22px !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   CONTROL WRAPPER\r\n--------------------------------------------------------- */\r\nform.cms-rg-limits .Limits__control--1Xc{\r\n  margin: 0 !important;\r\n}\r\nform.cms-rg-limits .Control__control--2X-{\r\n  margin: 0 !important;\r\n  padding: 0 !important;               /* mata offsets vendor */\r\n}\r\n\r\n/* label */\r\nform.cms-rg-limits .Label__label--MzX{\r\n  display:block !important;\r\n  margin: 0 0 8px !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  color: rgba(255,255,255,.88) !important;\r\n}\r\n\r\n/* wrapper do input (tem data-currency-symbol) */\r\nform.cms-rg-limits .cms-control-content{\r\n  position: relative !important;\r\n  height: 46px !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n\r\n  background: var(--field-bg) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  border-radius: var(--r-pill) !important;\r\n\r\n  padding: 0 44px 0 14px !important;   /* espaço p/ € à direita */\r\n  transition: background .12s ease, border-color .12s ease, box-shadow .12s ease !important;\r\n\r\n  /* largura lógica (desktop/tablet) */\r\n  width: 420px !important;\r\n  max-width: 100% !important;\r\n}\r\n@media (hover:hover){\r\n  form.cms-rg-limits .cms-control-content:hover{\r\n    background: var(--field-bg-hover) !important;\r\n    border-color: var(--border-soft-2) !important;\r\n  }\r\n}\r\n/* Mobile: full width */\r\n@media (max-width: 640px){\r\n  form.cms-rg-limits .cms-control-content{\r\n    width: 100% !important;\r\n  }\r\n}\r\n\r\n/* € à direita (visual only) */\r\nform.cms-rg-limits .cms-control-content::after{\r\n  content: attr(data-currency-symbol);\r\n  position: absolute;\r\n  right: 14px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  color: rgba(255,255,255,.60);\r\n  font-weight: 900;\r\n  font-size: 14px;\r\n  pointer-events: none;\r\n}\r\n\r\n/* input */\r\nform.cms-rg-limits .cms-control-content input[type=\"text\"]{\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  border: 0 !important;\r\n  outline: none !important;\r\n  background: transparent !important;\r\n\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-size: 15px !important;\r\n  font-weight: 800 !important;\r\n\r\n  padding: 0 !important;\r\n}\r\n\r\n/* placeholder */\r\nform.cms-rg-limits .cms-control-content input::placeholder{\r\n  color: rgba(255,255,255,.42) !important;\r\n  font-weight: 800 !important;\r\n}\r\n\r\n/* focus */\r\nform.cms-rg-limits .cms-control-content:focus-within{\r\n  border-color: rgba(131,222,26,.55) !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n\r\n/* esconder ticks/checks vendor */\r\nform.cms-rg-limits .cms-control-content::before{ content:none !important; display:none !important; }\r\nform.cms-rg-limits .cms-control-content svg,\r\nform.cms-rg-limits .cms-control-content i,\r\nform.cms-rg-limits .cms-control-content [class*=\"Valid\"],\r\nform.cms-rg-limits .cms-control-content [class*=\"valid\"],\r\nform.cms-rg-limits .cms-control-content [class*=\"Check\"],\r\nform.cms-rg-limits .cms-control-content [class*=\"check\"]{\r\n  display:none !important;\r\n}\r\n\r\n/* pending limits */\r\nform.cms-rg-limits .cms-rg-pending-limits:empty{ display:none !important; }\r\n\r\n/* ---------------------------------------------------------\r\n   CTA — secundário, mas alinhado à mesma régua\r\n--------------------------------------------------------- */\r\nform.cms-rg-limits .Limits__submit--3Pq{\r\n  width: 100% !important;              /* ocupa o rail inteiro */\r\n  margin: 12px 0 0 !important;\r\n\r\n  height: 46px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n\r\n  color: #fff !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .01em !important;\r\n\r\n  box-shadow: none !important;\r\n  cursor: pointer !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease, opacity .12s ease !important;\r\n}\r\n@media (hover:hover){\r\n  form.cms-rg-limits .Limits__submit--3Pq:hover{\r\n    background: rgba(131, 222, 26, 0.18) !important;\r\n    border-color: rgba(131, 222, 26, 0.60) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nform.cms-rg-limits .Limits__submit--3Pq:active{ transform: translateY(0) !important; opacity:.92 !important; }\r\nform.cms-rg-limits .Limits__submit--3Pq:focus,\r\nform.cms-rg-limits .Limits__submit--3Pq:focus-visible{\r\n  outline: none !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n}\r\n</style>\r\n\r\n<style id=\"pt-rg-loss-limits-desktop-polish-v13\">\r\n/* =========================================================\r\n   FINAL POLISH V1.3\r\n   - Botão com a mesma largura dos inputs em desktop\r\n   - Título menos bold (mais Placard)\r\n========================================================= */\r\n\r\n/* 1) Título: menos pesado + ligeiro ajuste de tamanho */\r\nform.cms-rg-limits .Limits__title--1Y6{\r\n  font-weight: 700 !important;     /* antes: 800 */\r\n  letter-spacing: -0.1px !important;\r\n  font-size: 21px !important;      /* ligeiramente mais contido */\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n\r\n/* 2) Desktop: botão com largura igual às caixas */\r\n@media (min-width: 641px){\r\n  /* garante que usamos a mesma largura \"lógica\" que o input */\r\n  form.cms-rg-limits .Limits__submit--3Pq{\r\n    width: 420px !important;\r\n    max-width: 100% !important;\r\n    margin-left: 0 !important;     /* alinhado à régua */\r\n    margin-right: 0 !important;\r\n  }\r\n\r\n  /* se preferires centrado no rail (recomendado para CTA) */\r\n  form.cms-rg-limits .Limits__submit--3Pq{\r\n    margin-left: auto !important;\r\n    margin-right: auto !important;\r\n  }\r\n}\r\n\r\n/* 3) Tablet intermédio: acompanha o input (360px) */\r\n@media (min-width: 641px) and (max-width: 900px){\r\n  form.cms-rg-limits .Limits__submit--3Pq{\r\n    width: 360px !important;\r\n  }\r\n}\r\n\r\n/* 4) Mobile: continua full width */\r\n@media (max-width: 640px){\r\n  form.cms-rg-limits .Limits__submit--3Pq{\r\n    width: 100% !important;\r\n  }\r\n}\r\n</style>\r\n\r\n<!-- =========================================================\r\n  PLACARD.PT — RG LOSS LIMITS — TYPOGRAPHY PATCH V1.0\r\n  Ajusta título, labels, input e CTA para ficar “menos grande/bold”\r\n========================================================= -->\r\n<style id=\"pt-rg-loss-limits-typography-patch-v10\">\r\n/* TÍTULO: menos grande e menos pesado */\r\nform.cms-rg-limits .Limits__title--1Y6{\r\n  font-size: 20px !important;\r\n  font-weight: 750 !important;     /* baixa de 800/900 */\r\n  letter-spacing: -0.15px !important;\r\n  margin: 8px auto 10px !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n@media (max-width: 520px){\r\n  form.cms-rg-limits .Limits__title--1Y6{\r\n    font-size: 18px !important;\r\n    font-weight: 750 !important;\r\n  }\r\n}\r\n\r\n/* LABELS: mais discretas (size menor + menos branco) */\r\nform.cms-rg-limits .Label__label--MzX{\r\n  font-size: 12.5px !important;\r\n  font-weight: 700 !important;\r\n  color: rgba(255,255,255,.78) !important;\r\n  margin: 0 0 6px !important;\r\n}\r\n\r\n/* INPUT: menos “pesado” e ligeiramente mais pequeno */\r\nform.cms-rg-limits .cms-control-content{\r\n  height: 44px !important;         /* um notch mais baixo (estilo consistente) */\r\n}\r\nform.cms-rg-limits .cms-control-content input[type=\"text\"]{\r\n  font-size: 14px !important;\r\n  font-weight: 700 !important;\r\n  letter-spacing: 0 !important;\r\n  color: rgba(255,255,255,.90) !important;\r\n}\r\n\r\n/* Placeholder “Não definido”: mais leve */\r\nform.cms-rg-limits .cms-control-content input::placeholder{\r\n  font-weight: 650 !important;\r\n  color: rgba(255,255,255,.46) !important;\r\n}\r\n\r\n/* Símbolo €: ligeiramente mais discreto */\r\nform.cms-rg-limits .cms-control-content::after{\r\n  font-size: 13px !important;\r\n  font-weight: 800 !important;\r\n  color: rgba(255,255,255,.56) !important;\r\n}\r\n\r\n/* CTA: menos alto/menos bold e alinhado com “secundário” */\r\nform.cms-rg-limits .Limits__submit--3Pq{\r\n  height: 44px !important;\r\n  font-size: 13px !important;\r\n  font-weight: 800 !important;     /* baixa do “gritado” */\r\n  letter-spacing: .005em !important;\r\n}\r\n\r\n/* Se estiveres a limitar o botão à largura dos inputs, mantém isso.\r\n   (não mexo aqui em width; só tipografia/altura) */\r\n</style>\r\n\r\n\r\n\r\n<script>\r\n/* =========================================================\r\n  Helper V1.3 (SPA-safe)\r\n  - placeholder: \"Não definido\" mesmo em re-render SPA\r\n  - sanitização: mantém só número + 1 separador decimal\r\n========================================================= */\r\n(function(){\r\n  var PLACEHOLDER = 'Não definido';\r\n  var fields = ['day','week','month'];\r\n\r\n  function sanitize(v){\r\n    v = (v || '').replace(/\\s+/g,'');\r\n    v = v.replace(/[^\\d.,]/g,'');\r\n    var firstSep = v.search(/[.,]/);\r\n    if(firstSep === -1) return v;\r\n    var head = v.slice(0, firstSep);\r\n    var tail = v.slice(firstSep + 1).replace(/[.,]/g,'');\r\n    var sep = v.charAt(firstSep);\r\n    return head + sep + tail;\r\n  }\r\n\r\n  function applyToForm(form){\r\n    if(!form || form.__ptRgBound) return;\r\n    form.__ptRgBound = true;\r\n\r\n    fields.forEach(function(name){\r\n      var inp = form.querySelector('input[name=\"'+name+'\"]');\r\n      if(!inp) return;\r\n\r\n      // força placeholder\r\n      inp.setAttribute('placeholder', PLACEHOLDER);\r\n\r\n      // sanitização\r\n      inp.addEventListener('input', function(){\r\n        var s = sanitize(inp.value);\r\n        if(inp.value !== s) inp.value = s;\r\n      });\r\n\r\n      // se o vendor mexer no placeholder/value\r\n      var moInp = new MutationObserver(function(){\r\n        if(inp.value === '' && inp.getAttribute('placeholder') !== PLACEHOLDER){\r\n          inp.setAttribute('placeholder', PLACEHOLDER);\r\n        }\r\n      });\r\n      moInp.observe(inp, { attributes:true, attributeFilter:['placeholder','value'] });\r\n    });\r\n  }\r\n\r\n  function scanAndApply(){\r\n    document.querySelectorAll('form.cms-rg-limits').forEach(applyToForm);\r\n  }\r\n\r\n  // 1) tenta já\r\n  scanAndApply();\r\n\r\n  // 2) retry curto para apanhar render assíncrono\r\n  var tries = 0;\r\n  var maxTries = 40; // ~4s (100ms)\r\n  var t = setInterval(function(){\r\n    scanAndApply();\r\n    tries++;\r\n    if(tries >= maxTries) clearInterval(t);\r\n  }, 100);\r\n\r\n  // 3) observa SPA / re-render (inputs substituídos)\r\n  var mo = new MutationObserver(function(){\r\n    scanAndApply();\r\n  });\r\n  mo.observe(document.body, { childList:true, subtree:true });\r\n\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"78522706-a3e7-4c8b-8e03-428d870cc0e4","tagTypeId":"custom_tag_type","name":"Change_Password_Placard_Theme","description":"Transactions history constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — CHANGE PASSWORD (Playtech) — THEME V1.4 (FINAL CLEAN)\r\n     - Scope forte (CHANGE_PASSWORD_LOGGED)\r\n     - Rail comum (inputs + CTA alinhados e centrados)\r\n     - Inputs pill Placard + focus ring\r\n     - Labels persistentes (inject)\r\n     - Remove underline/line vendor + remove V/tick vendor (formFieldValid)\r\n     - Wrapper flex estável (input não encolhe)\r\n     - Eye chip sempre visível + ícone CSS (sem sprites)\r\n     - CTA \"Alterar\" = estilo EXACTO do \"Voltar\" (secondary)\r\n========================================================= -->\r\n\r\n<style id=\"pt-change-password-theme-v14\">\r\n/* =========================================================\r\n   0) TOKENS + SCOPE\r\n========================================================= */\r\nbody.pt-change-password{\r\n  --placard-bg:#16171f;\r\n  --placard-panel:#1c1d27;\r\n  --placard-card:#20212b;\r\n\r\n  --text:rgba(255,255,255,.92);\r\n  --muted2:rgba(255,255,255,.58);\r\n\r\n  --green:#83DE1A;\r\n  --green-ring:rgba(131,222,26,.28);\r\n\r\n  --line:rgba(255,255,255,.12);\r\n\r\n  --radius-pill:18px;\r\n  --shadow-soft: 0 10px 30px rgba(0,0,0,.35);\r\n}\r\n\r\n/* Âncora */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]{\r\n  color: var(--text);\r\n  --pt-rail: 360px; /* rail que resolveu o offset */\r\n}\r\n\r\n/* =========================================================\r\n   1) RAIL / LAYOUT\r\n========================================================= */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .ChangeForm__columns--10T{\r\n  display:block !important;\r\n  width:100% !important;\r\n}\r\n\r\n/* centrar a coluna do form no rail */\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.ChangeForm__column--1kd{\r\n  width: min(var(--pt-rail), 100%) !important;\r\n  margin-left: auto !important;\r\n  margin-right: auto !important;\r\n}\r\n\r\n/* cada control ocupa o rail */\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Control__control--2X-{\r\n  width:100% !important;\r\n  margin: 0 0 14px 0 !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABEL PERSISTENTE (inject)\r\n========================================================= */\r\nbody.pt-change-password .pt-field-label{\r\n  display:block;\r\n  font-size: 12px;\r\n  line-height: 1.2;\r\n  letter-spacing: .2px;\r\n  color: var(--muted2);\r\n  margin: 0 0 8px 6px;\r\n  user-select: none;\r\n}\r\n\r\n/* =========================================================\r\n   3) REMOVER ADORNOS VENDOR (linha/underline + tick “V”)\r\n========================================================= */\r\n/* underline/linha via pseudo-elements */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .cms-control-content::before,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .cms-control-content::after,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Control__content--22a::before,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Control__content--22a::after{\r\n  content:none !important;\r\n  display:none !important;\r\n}\r\n\r\n/* underline via border/box-shadow */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .cms-control-content,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Control__content--22a{\r\n  border-bottom: 0 !important;\r\n  box-shadow: none !important;\r\n  background-image: none !important;\r\n}\r\n\r\n/* tick verde / validação */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n  .cms-control-content [class*=\"formFieldValid\"],\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n  .cms-control-content [class*=\"FormFieldValid\"],\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n  .cms-control-content .showBounceIn{\r\n  display:none !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n  width:0 !important;\r\n  height:0 !important;\r\n  margin:0 !important;\r\n  padding:0 !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) WRAPPER FLEX (input + eye chip)\r\n========================================================= */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .cms-control-content,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Control__content--22a{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  gap: 10px !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) INPUT PILL\r\n========================================================= */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] input.components__input--6hP{\r\n  flex: 1 1 auto !important;\r\n  min-width: 0 !important;\r\n\r\n  width:100% !important;\r\n  min-height: 44px !important;\r\n  border-radius: var(--radius-pill) !important;\r\n  padding: 12px 16px !important;\r\n\r\n  background: rgba(255,255,255,.06) !important;\r\n  border: 1px solid var(--line) !important;\r\n  color: var(--text) !important;\r\n\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n\r\n  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;\r\n  -webkit-text-fill-color: var(--text);\r\n}\r\n\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] input.components__input--6hP::placeholder{\r\n  color: rgba(255,255,255,.55) !important;\r\n}\r\n\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .cms-control-content:focus-within input.components__input--6hP{\r\n  background: rgba(255,255,255,.08) !important;\r\n  border-color: rgba(131,222,26,.55) !important;\r\n  box-shadow: 0 0 0 4px var(--green-ring) !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) EYE CHIP — sempre visível — ícone CSS\r\n========================================================= */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7{\r\n  width: 36px !important;\r\n  height: 36px !important;\r\n  flex: 0 0 36px !important;\r\n\r\n  border-radius: 12px !important;\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  background: rgba(255,255,255,.06) !important;\r\n\r\n  display:inline-flex !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n\r\n  position: relative !important;\r\n  overflow: hidden !important;\r\n\r\n  cursor:pointer !important;\r\n  user-select:none !important;\r\n\r\n  opacity: 1 !important;\r\n  visibility: visible !important;\r\n\r\n  /* mata sprites/masks vendor */\r\n  background-image: none !important;\r\n  -webkit-mask: none !important;\r\n  mask: none !important;\r\n  filter: none !important;\r\n\r\n  /* esconder glyph interno */\r\n  color: transparent !important;\r\n  font-size: 0 !important;\r\n\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease !important;\r\n}\r\n\r\n/* remove markup interno se existir */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7 svg,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7 use,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7 i,\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7 span{\r\n  display:none !important;\r\n}\r\n\r\n/* eye outline */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7::before{\r\n  content:\"\" !important;\r\n  width: 18px !important;\r\n  height: 11px !important;\r\n  border: 2px solid rgba(255,255,255,.92) !important;\r\n  border-radius: 999px !important;\r\n  box-sizing: border-box !important;\r\n  display:block !important;\r\n}\r\n\r\n/* pupil default (filled) */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7::after{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  width: 6px !important;\r\n  height: 6px !important;\r\n  border-radius: 999px !important;\r\n  background: rgba(255,255,255,.92) !important;\r\n}\r\n\r\n/* visible state (pt-eye-visible): pupil hollow */\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7.pt-eye-visible::after{\r\n  background: transparent !important;\r\n  border: 2px solid rgba(255,255,255,.92) !important;\r\n  width: 6px !important;\r\n  height: 6px !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7:hover{\r\n    background: rgba(255,255,255,.10) !important;\r\n    border-color: rgba(255,255,255,.24) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7:active{\r\n  background: rgba(255,255,255,.14) !important;\r\n  transform: translateY(0) !important;\r\n}\r\nbody.pt-change-password form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"] .Icon__formFieldEye--1b7:focus{\r\n  outline:none !important;\r\n  border-color: rgba(131,222,26,.55) !important;\r\n  box-shadow: 0 0 0 4px var(--green-ring) !important;\r\n}\r\n\r\n/* =========================================================\r\n   7) CTA “ALTERAR” — estilo EXACTO do “Voltar” (secondary)\r\n========================================================= */\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Controls__controlsContainer--2O6{\r\n  width: 100% !important;\r\n  margin-top: 18px !important;\r\n  padding: 0 !important;\r\n\r\n  display:flex !important;\r\n  justify-content: center !important;\r\n  align-items: center !important;\r\n}\r\n\r\n/* botão: reset + estilo Voltar + largura contida */\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Controls__controlsContainer--2O6 > button{\r\n  all: unset !important;\r\n  box-sizing: border-box !important;\r\n\r\n  height: 44px !important;\r\n  width: min(320px, 100%) !important;\r\n  padding: 0 18px !important;\r\n\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n  border-radius: 999px !important;\r\n\r\n  color: #fff !important;\r\n  font-size: 16px !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .01em !important;\r\n  line-height: 1 !important;\r\n\r\n  box-shadow: none !important;\r\n  backdrop-filter: blur(6px);\r\n\r\n  cursor: pointer !important;\r\n  user-select: none !important;\r\n\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;\r\n}\r\n\r\n/* span interno sem mexer no baseline */\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Controls__controlsContainer--2O6 > button > span{\r\n  display: inline-block !important;\r\n  line-height: 1 !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-change-password\r\n  form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n  .Controls__controlsContainer--2O6 > button:hover{\r\n    background: rgba(131, 222, 26, 0.20) !important;\r\n    border-color: rgba(131, 222, 26, 0.60) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Controls__controlsContainer--2O6 > button:active{\r\n  background: rgba(131, 222, 26, 0.24) !important;\r\n  transform: translateY(0) !important;\r\n}\r\nbody.pt-change-password\r\nform[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]\r\n.Controls__controlsContainer--2O6 > button:focus{\r\n  outline: none !important;\r\n  box-shadow: 0 0 0 4px rgba(131,222,26,.28) !important;\r\n}\r\n\r\n/* =========================================================\r\n   8) ERROS (best effort)\r\n========================================================= */\r\nbody.pt-change-password .pt-field-error{\r\n  margin: 8px 0 0 6px;\r\n  font-size: 12px;\r\n  color: rgba(255,255,255,.78);\r\n}\r\n</style>\r\n\r\n<script id=\"pt-change-password-theme-v14-js\">\r\n(function(){\r\n  \"use strict\";\r\n\r\n  function qs(sel, root){ return (root || document).querySelector(sel); }\r\n  function qsa(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\r\n\r\n  function ensureScope(){\r\n    var form = qs('form[data-form-name=\"CHANGE_PASSWORD_LOGGED\"]');\r\n    if(!form) return null;\r\n    if(!document.body.classList.contains('pt-change-password')){\r\n      document.body.classList.add('pt-change-password');\r\n    }\r\n    return form;\r\n  }\r\n\r\n  function injectLabels(form){\r\n    var map = {\r\n      password1: \"Palavra-passe atual\",\r\n      password0: \"Nova palavra-passe\",\r\n      password0_confirmation: \"Confirmar palavra-passe\"\r\n    };\r\n\r\n    var inputs = qsa('input.components__input--6hP[type=\"password\"], input.components__input--6hP[type=\"text\"]', form);\r\n    inputs.forEach(function(input){\r\n      var name = (input.getAttribute('name') || '').trim();\r\n      var labelText = map[name];\r\n\r\n      if(!labelText){\r\n        var ph = (input.getAttribute('placeholder') || '').toLowerCase();\r\n        if(ph.indexOf('atual') > -1) labelText = map.password1;\r\n        else if(ph.indexOf('confirma') > -1) labelText = map.password0_confirmation;\r\n        else if(ph.indexOf('nova') > -1) labelText = map.password0;\r\n      }\r\n      if(!labelText) return;\r\n\r\n      var control = input.closest('.Control__control--2X-') || input.parentElement;\r\n      if(!control) return;\r\n      if(qs('.pt-field-label', control)) return;\r\n\r\n      var content = input.closest('.cms-control-content') || input.parentElement;\r\n      if(!content) return;\r\n\r\n      var label = document.createElement('div');\r\n      label.className = 'pt-field-label';\r\n      label.textContent = labelText;\r\n\r\n      control.insertBefore(label, content);\r\n    });\r\n  }\r\n\r\n  function syncEyeStates(form){\r\n    var eyes = qsa('.Icon__formFieldEye--1b7', form);\r\n    eyes.forEach(function(eye){\r\n      var wrap = eye.closest('.cms-control-content') || eye.parentElement;\r\n      if(!wrap) return;\r\n\r\n      var input = qs('input.components__input--6hP', wrap);\r\n      if(!input) return;\r\n\r\n      var update = function(){\r\n        var isVisible = (input.getAttribute('type') === 'text');\r\n        if(isVisible) eye.classList.add('pt-eye-visible');\r\n        else eye.classList.remove('pt-eye-visible');\r\n\r\n        try{\r\n          eye.setAttribute('aria-label', isVisible ? 'Esconder' : 'Mostrar');\r\n        }catch(e){}\r\n      };\r\n\r\n      update();\r\n\r\n      var mo = new MutationObserver(function(muts){\r\n        for(var i=0;i<muts.length;i++){\r\n          if(muts[i].type === 'attributes' && muts[i].attributeName === 'type'){\r\n            update();\r\n            break;\r\n          }\r\n        }\r\n      });\r\n      mo.observe(input, { attributes:true });\r\n\r\n      eye.addEventListener('click', function(){\r\n        window.setTimeout(update, 0);\r\n        window.setTimeout(update, 50);\r\n      }, true);\r\n    });\r\n  }\r\n\r\n  function run(){\r\n    var form = ensureScope();\r\n    if(!form) return;\r\n    injectLabels(form);\r\n    syncEyeStates(form);\r\n  }\r\n\r\n  run();\r\n  var obs = new MutationObserver(function(){ run(); });\r\n  obs.observe(document.documentElement, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"91ad1a0c-b6bc-47ed-b7d1-4ae6554d1cd4","tagTypeId":"custom_tag_type","name":"COMM_Chat_Placard_Theme","description":"Chat constumization","config":{"beforeEndHead":"<style type=\"text/css\">\r\n/* =========================================================\r\n   PLACARD.PT — CHAT WINDOW THEME (Playtech React Chat)\r\n   FINAL — limpo, anotado e estável (CSS + JS safe)\r\n\r\n   Objetivos:\r\n   - Scoping: só Chat Window (evitar leaks no site)\r\n   - Risco mínimo: não alterar estrutura do vendor\r\n   - Acabamento: divisores recortados + input sem overlap + scroll Placard\r\n   - Mobile: “sheet” com input sempre visível\r\n\r\n   Nota:\r\n   - Mantém seletores vendor + fallback pt-*\r\n========================================================= */\r\n\r\n/* =========================================================\r\n   0) DESIGN TOKENS\r\n========================================================= */\r\n:root{\r\n  --placard-bg: #16171f;\r\n  --panel:      #1c1d27;\r\n\r\n  --text:   rgba(255,255,255,.92);\r\n  --title:  #f4f6ff;\r\n  --muted:  rgba(255,255,255,.70);\r\n  --muted2: rgba(255,255,255,.55);\r\n\r\n  --green:  #83DE1A;\r\n\r\n  --radius-lg: 16px;\r\n  --radius-md: 14px;\r\n  --radius-chip: 10px;\r\n\r\n  --border-soft: rgba(255,255,255,.10);\r\n  --border-chip: rgba(255,255,255,.16);\r\n  --chip-bg: rgba(255,255,255,.06);\r\n  --chip-bg-hover: rgba(255,255,255,.10);\r\n  --chip-border-hover: rgba(255,255,255,.22);\r\n\r\n  --shadow-window: 0 18px 60px rgba(0,0,0,.65);\r\n\r\n  /* “Recortes” para linhas não passarem por trás dos botões */\r\n  --close-safe-right: 56px; /* área reservada para o X */\r\n  --send-safe-right:  86px; /* área reservada para o botão enviar */\r\n}\r\n\r\n/* =========================================================\r\n   1) WINDOW / CONTAINER\r\n========================================================= */\r\n.pt-chat-window-container,\r\n.app-react-components-Chat-ChatWindow-ChatWindow-index__container,\r\n.app-react-components-Chat-ChatWindow-ChatWindow-index__chat{\r\n  background: var(--panel) !important;\r\n  color: var(--text) !important;\r\n\r\n  border-radius: var(--radius-lg) !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n  box-shadow: var(--shadow-window) !important;\r\n\r\n  overflow: hidden !important;\r\n  box-sizing: border-box !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) HEADER\r\n   - Linha divisória desenhada por ::after, recortada no X\r\n========================================================= */\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatWindowHeader,\r\n.pt-chat-window-header{\r\n  background: linear-gradient(180deg, rgba(22,23,31,.98) 0%, rgba(28,29,39,.92) 100%) !important;\r\n  position: relative !important;\r\n  border-bottom: none !important; /* substituído por ::after */\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatWindowHeader::after,\r\n.pt-chat-window-header::after{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  left: 14px !important;\r\n  right: var(--close-safe-right) !important; /* recorte p/ não passar no X */\r\n  bottom: 0 !important;\r\n  height: 1px !important;\r\n  background: rgba(255,255,255,.08) !important;\r\n  pointer-events: none !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatTitle,\r\n.pt-chat-window-header-title{\r\n  color: var(--title) !important;\r\n  font-weight: 1000 !important;\r\n  letter-spacing: -.2px !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) CLOSE (X) — chip Placard (CSS)\r\n   - posicionamento estável (não mexer no DOM)\r\n========================================================= */\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose,\r\n.pt-chat-window-header-close{\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n\r\n  border-radius: var(--radius-chip) !important;\r\n  border: 1px solid var(--border-chip) !important;\r\n  background: var(--chip-bg) !important;\r\n\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  cursor: pointer !important;\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;\r\n\r\n  background-image: none !important;\r\n\r\n  position: absolute !important;\r\n  top: 10px !important;\r\n  right: 10px !important;\r\n  z-index: 2 !important;\r\n  box-sizing: border-box !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose::before,\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose::after,\r\n.pt-chat-window-header-close::before,\r\n.pt-chat-window-header-close::after{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  top:50% !important;\r\n  left:50% !important;\r\n  width:14px !important;\r\n  height:2px !important;\r\n  background: rgba(255,255,255,.92) !important;\r\n  transform-origin:center !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose::before,\r\n.pt-chat-window-header-close::before{\r\n  transform: translate(-50%,-50%) rotate(45deg) !important;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose::after,\r\n.pt-chat-window-header-close::after{\r\n  transform: translate(-50%,-50%) rotate(-45deg) !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose:hover,\r\n.pt-chat-window-header-close:hover{\r\n  background: var(--chip-bg-hover) !important;\r\n  border-color: var(--chip-border-hover) !important;\r\n  transform: translateY(-1px) !important;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatClose:active,\r\n.pt-chat-window-header-close:active{\r\n  transform: translateY(0) !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) CONTENT / OFFLINE\r\n========================================================= */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n.pt-chat-window-content-holder{\r\n  color: var(--text) !important;\r\n  min-height: 0 !important;\r\n}\r\n\r\n/* mensagens de sistema (offline/admin system) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-AdminSystemMessages-index__adminSystemMessage,\r\n.pt-chat-window-admin-system-message{\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-weight: 800 !important;\r\n  line-height: 1.35 !important;\r\n}\r\n\r\n/* esconder ícone do offline/system (DIV ou img/svg) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-AdminSystemMessage-index__icon,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__adminIcon,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__adminIcon *,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-AdminSystemMessages-index__adminSystemMessage img,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-AdminSystemMessages-index__adminSystemMessage svg{\r\n  display: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) DIVIDER “Bem vindo...” (centrado e discreto)\r\n========================================================= */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__divider,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__welcome,\r\n.pt-chat-window-divider{\r\n  color: rgba(255,255,255,.55) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 12px !important;\r\n  letter-spacing: .2px !important;\r\n  opacity: .85 !important;\r\n  margin-top: 26px !important;\r\n  margin-bottom: 12px !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) BUBBLES (clean, sem triângulos)\r\n========================================================= */\r\n\r\n/* tipografia base dentro das bubbles */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBody,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-ChatMessage-index__chatMessage,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble *{\r\n  font-size: 14px !important;\r\n  line-height: 1.35 !important;\r\n}\r\n\r\n/* bubble base */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble{\r\n  border-radius: var(--radius-md) !important;\r\n  padding: 10px 12px !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  box-shadow: 0 10px 24px rgba(0,0,0,.26) !important;\r\n  position: relative !important;\r\n  box-sizing: border-box !important;\r\n}\r\n\r\n/* remover tails/triângulos do vendor */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble::before,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble::after,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__tail,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__arrow,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__pointer{\r\n  content: none !important;\r\n  display: none !important;\r\n}\r\n\r\n/* admin bubble (clara) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__admin\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble{\r\n  background: rgba(255,255,255,.92) !important;\r\n  color: #0b0c10 !important;\r\n  border-color: rgba(0,0,0,.10) !important;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__admin\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBody{\r\n  color: #0b0c10 !important;\r\n}\r\n\r\n/* user bubble (dark com hint verde) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__player\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble{\r\n  background: rgba(255,255,255,.06) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n  border-color: rgba(131,222,26,.22) !important;\r\n}\r\n\r\n/* timestamps — garantir visibilidade (inclui admin bubble) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__timestamp,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__time,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-ChatMessage-index__time{\r\n  font-size: 11px !important;\r\n  line-height: 1 !important;\r\n  font-weight: 800 !important;\r\n  color: rgba(255,255,255,.55) !important;\r\n  opacity: 1 !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__admin\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__timestamp,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__admin\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__time{\r\n  color: rgba(0,0,0,.52) !important;\r\n}\r\n\r\n/* avatar */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__iconWrapper img[alt=\"avatar\"]{\r\n  width: 40px !important;\r\n  height: 40px !important;\r\n  border-radius: 999px !important;\r\n  opacity: .95 !important;\r\n  filter: saturate(.9) contrast(1.05) !important;\r\n}\r\n\r\n/* nickname */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__nickName{\r\n  color: rgba(255,255,255,.70) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 12px !important;\r\n}\r\n\r\n/* =========================================================\r\n   7) INPUT (acabamento final)\r\n   - linha recortada (não passa atrás do botão)\r\n   - textarea mais curto (não vai por baixo do botão)\r\n   - botão com “halo” a mascarar qualquer linha residual\r\n========================================================= */\r\n.pt-chat-window-input-container,\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container{\r\n  position: relative !important;\r\n  background: transparent !important;\r\n  border-top: none !important;\r\n  padding: 12px 12px 14px 12px !important;\r\n  box-sizing: border-box !important;\r\n}\r\n\r\n/* linha do topo do input (recortada para o botão) */\r\n.pt-chat-window-input-container::before,\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container::before{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  left: 14px !important;\r\n  right: var(--send-safe-right) !important;\r\n  top: 0 !important;\r\n  height: 1px !important;\r\n  background: rgba(255,255,255,.08) !important;\r\n  pointer-events: none !important;\r\n}\r\n\r\n/* textarea real do vendor (common TextArea) */\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\ntextarea.app-react-components-common-TextArea-index__textArea{\r\n  background: rgba(255,255,255,.06) !important;\r\n  border: 1px solid rgba(255,255,255,.14) !important;\r\n  border-radius: 14px !important;\r\n\r\n  color: rgba(255,255,255,.92) !important;\r\n  -webkit-text-fill-color: rgba(255,255,255,.92) !important;\r\n\r\n  min-height: 48px !important;\r\n  font-size: 15px !important;\r\n  line-height: 1.35 !important;\r\n\r\n  /* ✅ a caixa fica mais curta */\r\n  width: calc(100% - 66px) !important;\r\n  margin-right: 66px !important;\r\n\r\n  padding: 12px 14px !important;\r\n  box-sizing: border-box !important;\r\n\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n  resize: none !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\ntextarea.app-react-components-common-TextArea-index__textArea::placeholder{\r\n  color: rgba(255,255,255,.55) !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\ntextarea.app-react-components-common-TextArea-index__textArea:focus{\r\n  border-color: rgba(131,222,26,.45) !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.14) !important;\r\n}\r\n\r\n/* botão enviar */\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn{\r\n  position: absolute !important;\r\n  right: 14px !important;\r\n  bottom: 14px !important;\r\n  z-index: 3 !important;\r\n\r\n  width: 44px !important;\r\n  height: 44px !important;\r\n  min-width: 44px !important;\r\n\r\n  border-radius: 999px !important;\r\n  border: 1px solid rgba(0,0,0,.15) !important;\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  /* sombra + halo (mascara linhas residuais atrás do botão) */\r\n  box-shadow:\r\n    0 10px 22px rgba(0,0,0,.40),\r\n    0 0 0 8px var(--panel) !important;\r\n\r\n  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, opacity .15s ease !important;\r\n  padding: 0 !important;\r\n  margin: 0 !important;\r\n  box-sizing: border-box !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn:hover{\r\n  background: #76cc18 !important;\r\n  transform: translateY(-1px) !important;\r\n  box-shadow:\r\n    0 14px 30px rgba(0,0,0,.55),\r\n    0 0 0 8px var(--panel) !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .96 !important;\r\n}\r\n\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn:disabled{\r\n  background: rgba(131,222,26,.35) !important;\r\n  border-color: rgba(255,255,255,.10) !important;\r\n  box-shadow: 0 0 0 8px var(--panel) !important;\r\n  transform: none !important;\r\n  cursor: not-allowed !important;\r\n  opacity: .7 !important;\r\n}\r\n\r\n/* se o ícone do botão for svg */\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn svg{\r\n  width: 20px !important;\r\n  height: 20px !important;\r\n  display: block !important;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn svg path,\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn svg polyline,\r\n.app-react-components-Chat-ChatWindow-ChatWindowInput-index__container\r\nbutton.app-react-components-Chat-ChatWindow-ChatWindowInput-index__btn svg line{\r\n  stroke: #0b0c10 !important;\r\n  fill: #0b0c10 !important;\r\n  stroke-width: 2.25 !important;\r\n}\r\n\r\n/* =========================================================\r\n   8) SCROLLBAR (content/messages)\r\n========================================================= */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages,\r\n.pt-chat-window-content-holder{\r\n  scrollbar-width: thin;\r\n  scrollbar-color: rgba(255,255,255,.22) rgba(255,255,255,.06);\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content::-webkit-scrollbar,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages::-webkit-scrollbar,\r\n.pt-chat-window-content-holder::-webkit-scrollbar{\r\n  width: 8px;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content::-webkit-scrollbar-track,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages::-webkit-scrollbar-track,\r\n.pt-chat-window-content-holder::-webkit-scrollbar-track{\r\n  background: rgba(255,255,255,.06);\r\n  border-radius: 999px;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content::-webkit-scrollbar-thumb,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages::-webkit-scrollbar-thumb,\r\n.pt-chat-window-content-holder::-webkit-scrollbar-thumb{\r\n  background: rgba(255,255,255,.18);\r\n  border-radius: 999px;\r\n}\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content::-webkit-scrollbar-thumb:hover,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages::-webkit-scrollbar-thumb:hover,\r\n.pt-chat-window-content-holder::-webkit-scrollbar-thumb:hover{\r\n  background: rgba(255,255,255,.24);\r\n}\r\n\r\n/* =========================================================\r\n   9) MOBILE — sheet + INPUT sempre visível + sem deslocamento\r\n========================================================= */\r\n@media (max-width: 768px){\r\n\r\n  /* janela: fixa e com altura dinâmica (dvh) */\r\n  .pt-chat-window-container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__chat{\r\n    position: fixed !important;\r\n    left: 10px !important;\r\n    right: 10px !important;\r\n    top: 70px !important;\r\n    bottom: calc(67px + env(safe-area-inset-bottom) + 10px) !important;\r\n\r\n    height: calc(100dvh - 70px - (67px + env(safe-area-inset-bottom) + 10px)) !important;\r\n\r\n    display: flex !important;\r\n    flex-direction: column !important;\r\n    min-height: 0 !important;\r\n\r\n    overflow: hidden !important;\r\n    overflow-x: hidden !important;\r\n    transform: none !important;\r\n  }\r\n\r\n  /* header e input não crescem */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowHeader-index__chatWindowHeader{\r\n    flex: 0 0 auto !important;\r\n  }\r\n  .app-react-components-Chat-ChatWindow-ChatWindowInput-index__container{\r\n    flex: 0 0 auto !important;\r\n    transform: none !important;\r\n  }\r\n\r\n  /* content: é aqui que acontece o scroll */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages,\r\n  .pt-chat-window-content-holder{\r\n    flex: 1 1 auto !important;\r\n    min-height: 0 !important;\r\n    overflow: auto !important;\r\n    -webkit-overflow-scrolling: touch !important;\r\n  }\r\n\r\n  /* evitar que wrappers internos criem largura > 100% */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__contentHolder,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowInput-index__container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowInput-index__form,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowInput-index__controls-container{\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    box-sizing: border-box !important;\r\n  }\r\n\r\n  /* bubble não pode forçar overflow */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__messageBubble{\r\n    max-width: calc(100% - 56px) !important; /* respeita avatar/margens */\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   MOBILE — hard center (resolve “deslocado para a direita”)\r\n   Cola no FIM do CSS\r\n========================================================= */\r\n@media (max-width: 768px){\r\n  .pt-chat-window-container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__chat{\r\n    left: 50% !important;\r\n    right: auto !important;\r\n\r\n    /* 100vw evita \"containing block\" marado */\r\n    width: calc(100vw - 20px) !important;\r\n    max-width: calc(100vw - 20px) !important;\r\n\r\n    transform: translateX(-50%) !important;\r\n    margin: 0 !important;\r\n  }\r\n}\r\n\r\n\r\n/* =========================================================\r\n   iOS SAFETY PATCH (low-risk)\r\n   - estabiliza scroll interno\r\n   - garante que o input não fica tapado\r\n========================================================= */\r\n\r\n@supports (-webkit-touch-callout: none) {\r\n\r\n  /* 1) scroll suave dentro do content */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages,\r\n  .pt-chat-window-content-holder{\r\n    -webkit-overflow-scrolling: touch !important;\r\n  }\r\n\r\n  /* 2) “padding” extra no fundo do content para o home indicator/teclado\r\n        (não mexe na posição do input, só evita última mensagem ficar escondida) */\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__content,\r\n  .app-react-components-Chat-ChatWindow-ChatWindowContent-index__messages{\r\n    padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;\r\n  }\r\n\r\n  /* 3) Garantir que a janela não ganha overflow horizontal por “rubber band” */\r\n  .pt-chat-window-container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__container,\r\n  .app-react-components-Chat-ChatWindow-ChatWindow-index__chat{\r\n    overscroll-behavior: contain !important;\r\n  }\r\n}\r\n\r\n.pt-chat-window-container .pt-chat-window-company-logo{\r\n display:none;\r\n}\r\n\r\n/* =========================================================\r\n   CHAT — LINKS (ESTÁVEIS, SEM HOVER)\r\n   Filosofia: conversa > navegação\r\n========================================================= */\r\n\r\n#inboxContainer a,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content a{\r\n  color: #83DE1A !important;          /* Placard green */\r\n  text-decoration: underline !important;\r\n  text-decoration-thickness: 1px;\r\n  text-underline-offset: 2px;\r\n  font-weight: 800;\r\n}\r\n\r\n/* Neutraliza qualquer hover herdado */\r\n#inboxContainer a:hover,\r\n#inboxContainer a:active,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content a:hover,\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-index__content a:active{\r\n  color: #83DE1A !important;\r\n  text-decoration-thickness: 1px;\r\n  background: transparent !important;\r\n}\r\n\r\n/* Bubble clara (admin) — ligeiramente mais sóbrio */\r\n.app-react-components-Chat-ChatWindow-ChatWindowContent-NormalMessage-index__admin a{\r\n  color: #6FC715 !important;\r\n}\r\n\r\n\r\n\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD — Close menu/sheet when Chat Window opens (SAFE)\r\n   - Não bloqueia scroll/body\r\n   - Fecha usando botão de close existente (click), não via classes\r\n   - Observa apenas mudanças de DOM (childList/subtree)\r\n========================================================= */\r\n(function () {\r\n  function isVisible(el){\r\n    if (!el) return false;\r\n    try{\r\n      var st = window.getComputedStyle(el);\r\n      if (!st) return false;\r\n      if (st.display === 'none' || st.visibility === 'hidden' || st.opacity === '0') return false;\r\n      var r = el.getBoundingClientRect();\r\n      return r.width > 0 && r.height > 0;\r\n    }catch(e){\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function clickIfVisible(selector){\r\n    try{\r\n      var el = document.querySelector(selector);\r\n      if (!isVisible(el)) return false;\r\n      el.click();\r\n      return true;\r\n    }catch(e){\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function isChatOpen(){\r\n    var el =\r\n      document.querySelector('.pt-chat-window-container') ||\r\n      document.querySelector('.app-react-components-Chat-ChatWindow-ChatWindow-index__container') ||\r\n      document.querySelector('.app-react-components-Chat-ChatWindow-ChatWindow-index__chat');\r\n\r\n    return isVisible(el);\r\n  }\r\n\r\n  var scheduled = false;\r\n  function run(){\r\n    scheduled = false;\r\n    if (!isChatOpen()) return;\r\n\r\n    /* best effort: fecha sheet mobile e menu desktop */\r\n    clickIfVisible('.mobile-sheet .sheet-close');\r\n    clickIfVisible('.sheet-close');\r\n    clickIfVisible('.user-menu .user-menu__close');\r\n    clickIfVisible('.user-menu__close');\r\n  }\r\n\r\n  function schedule(){\r\n    if (scheduled) return;\r\n    scheduled = true;\r\n    requestAnimationFrame(run);\r\n  }\r\n\r\n  schedule();\r\n\r\n  var obs = new MutationObserver(function(){ schedule(); });\r\n  obs.observe(document.body, { childList: true, subtree: true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"99d32fc5-5cd7-4c81-b549-d55e369f307e","tagTypeId":"custom_tag_type","name":"Transactions_history_Placard_Theme","description":"Transactions history constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — TRANSACTION HISTORY (Playtech) — THEME V1.6 (TAGG-LINE + READ-ONLY + CUSTOM PERIOD DROPDOWN PORTAL)\r\n     Linha visual: TAGG (histórico apostas/casino)\r\n     Estado: LISTA SEM DETALHE (bloqueia accordion)\r\n\r\n     Fixes V1.6:\r\n       - Período: dropdown 100% custom (pt-dd) + MENU EM PORTAL (append ao <body>)\r\n         => nunca fica “atrás” nem é cortado por overflow/stacking contexts\r\n       - Mantém <select> original para compatibilidade (dispara change)\r\n       - Exportar secondary alinhado\r\n       - Tabs: 3 colunas mesma largura\r\n       - Lista clean + read-only\r\n       - Label normalizer (mappings aprovados)\r\n========================================================= -->\r\n\r\n<style id=\"pt-transaction-history-theme-v16\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history{\r\n  --placard-bg:#16171f;\r\n  --placard-panel:#1c1d27;\r\n  --placard-card:#20212b;\r\n\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.70);\r\n  --muted2:rgba(255,255,255,.58);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#76cc18;\r\n\r\n  --border-soft:rgba(255,255,255,.10);\r\n  --border:rgba(255,255,255,.18);\r\n  --line:rgba(255,255,255,.06);\r\n\r\n  --r-lg:16px;\r\n  --r-md:14px;\r\n  --r-pill:999px;\r\n\r\n  --shadow:0 18px 60px rgba(0,0,0,.55);\r\n\r\n  color: var(--text);\r\n  background: transparent !important;\r\n}\r\n\r\n/* =========================================================\r\n   1) LARGURA / RESPIRAÇÃO (TAGG)\r\n========================================================= */\r\n@media (min-width: 961px){\r\n  body.pt-transaction-history .form_name_transaction-history{\r\n    max-width: 980px;\r\n    margin-left:auto !important;\r\n    margin-right:auto !important;\r\n    padding-left:18px !important;\r\n    padding-right:18px !important;\r\n  }\r\n}\r\n\r\n/* wrappers */\r\nbody.pt-transaction-history .form_name_transaction-history .form__fieldset,\r\nbody.pt-transaction-history .form_name_transaction-history .fn-transaction-history{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border: 1px solid rgba(255,255,255,.08) !important;\r\n  border-radius: var(--r-lg) !important;\r\n  box-shadow: 0 14px 40px rgba(0,0,0,.38) !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .form__fieldset{\r\n  padding: 14px !important;\r\n  margin-bottom: 14px !important;\r\n\r\n  /* IMPORTANTE: não cortar menus (mesmo que usemos portal) */\r\n  overflow: visible !important;\r\n  position: relative !important;\r\n  z-index: 3 !important;\r\n}\r\n@media (min-width: 980px){\r\n  body.pt-transaction-history .form_name_transaction-history .form__fieldset{ padding: 16px !important; }\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .fn-transaction-history{\r\n  overflow: hidden !important;\r\n  position: relative !important;\r\n  z-index: 1 !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABELS\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .field__label label,\r\nbody.pt-transaction-history .form_name_transaction-history .fieldset__legend{\r\n  color: var(--muted) !important;\r\n  font-weight: 800 !important;\r\n  font-size: 12px !important;\r\n  letter-spacing: -.1px !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .field__label{ margin-bottom: 6px !important; }\r\n\r\n/* =========================================================\r\n   3) NEUTRALIZAR “valid state” / ícones vendor no topo\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .Control__valid--3D7,\r\nbody.pt-transaction-history .form_name_transaction-history [class*=\"Control__valid\"]{\r\n  box-shadow: none !important;\r\n  outline: none !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .Icon__formFieldValid--3E3,\r\nbody.pt-transaction-history .form_name_transaction-history [class*=\"Icon__formFieldValid\"]{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) BOTÕES (Aplicar / Exportar / Ver mais)\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .btn{\r\n  height: 42px !important;\r\n  border-radius: var(--r-pill) !important;\r\n  padding: 0 16px !important;\r\n\r\n  font-weight: 1000 !important;\r\n  font-size: 13px !important;\r\n\r\n  display:inline-flex !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n\r\n  border: 1px solid rgba(255,255,255,.14) !important;\r\n  background: rgba(255,255,255,.04) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n\r\n  box-shadow: none !important;\r\n  text-transform: none !important;\r\n\r\n  transition: transform .12s ease, background .15s ease, opacity .15s ease, border-color .15s ease !important;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .form_name_transaction-history .btn:hover{\r\n    background: rgba(255,255,255,.06) !important;\r\n    border-color: rgba(255,255,255,.22) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .btn:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .95 !important;\r\n}\r\n\r\n/* Aplicar (primário) */\r\nbody.pt-transaction-history .form_name_transaction-history .portlet__actions .btn{\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n  border: 1px solid rgba(131,222,26,.15) !important;\r\n  box-shadow: 0 10px 24px rgba(0,0,0,.35) !important;\r\n  min-width: 150px !important;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .form_name_transaction-history .portlet__actions .btn:hover{\r\n    background: var(--green-hover) !important;\r\n    border-color: rgba(131,222,26,.15) !important;\r\n  }\r\n}\r\n\r\n/* Exportar (secondary) */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_export_history{ margin-top: 10px !important; }\r\nbody.pt-transaction-history .form_name_transaction-history .fn-export-link.btn{\r\n  width: 100% !important;\r\n  height: 42px !important;\r\n  background: rgba(255,255,255,.03) !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n  color: rgba(255,255,255,.86) !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) TABS — 3 COLUNAS (MESMA LARGURA) + UNDERLINE\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier{\r\n  display: grid !important;\r\n  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\r\n  gap: 0 !important;\r\n  padding: 12px 14px 0 !important;\r\n  background: rgba(0,0,0,.10) !important;\r\n  border-bottom: 1px solid rgba(255,255,255,.08) !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col{\r\n  height: 44px !important;\r\n  width: 100% !important;\r\n\r\n  display: flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  padding: 0 10px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  border-radius: 0 !important;\r\n\r\n  color: rgba(255,255,255,.75) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 13px !important;\r\n\r\n  position: relative !important;\r\n  cursor: pointer !important;\r\n  user-select: none !important;\r\n\r\n  overflow: hidden !important;\r\n  text-overflow: ellipsis !important;\r\n  white-space: nowrap !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col + .tabs-col{\r\n  border-left: 1px solid rgba(255,255,255,.06) !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  left: 18%;\r\n  right: 18%;\r\n  bottom: 0;\r\n  height: 2px;\r\n  border-radius: 2px;\r\n  background: transparent;\r\n  opacity: 0;\r\n  transform: scaleX(.65);\r\n  transform-origin: center;\r\n  transition: transform .15s ease, background .15s ease, opacity .15s ease;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col:hover{ color: rgba(255,255,255,.90) !important; }\r\n  body.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col:hover::after{\r\n    background: rgba(255,255,255,.18);\r\n    opacity: 1;\r\n    transform: scaleX(.85);\r\n  }\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col.active{\r\n  color: rgba(255,255,255,.95) !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .tabs-nav--cashier .tabs-col.active::after{\r\n  background: rgba(131,222,26,.85);\r\n  opacity: 1;\r\n  transform: scaleX(1);\r\n}\r\n\r\n/* =========================================================\r\n   6) LISTA (READ-ONLY, CLEAN)\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .transactions{\r\n  list-style:none !important;\r\n  margin:0 !important;\r\n  padding: 8px 14px 14px !important;\r\n  background: transparent !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .transactions__item{\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  border-radius: 0 !important;\r\n  box-shadow: none !important;\r\n  margin: 0 !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__header{\r\n  position: relative !important;\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap: 12px !important;\r\n\r\n  padding: 14px 12px !important;\r\n  border-bottom: 1px solid var(--line) !important;\r\n  border-radius: 12px !important;\r\n\r\n  background: transparent !important;\r\n  color: var(--text) !important;\r\n  text-decoration:none !important;\r\n\r\n  transition: background .15s ease, transform .12s ease !important;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__header:hover{\r\n    background: rgba(255,255,255,.03) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .transactions__item:last-child .info-list__header{\r\n  border-bottom: 0 !important;\r\n}\r\n\r\n/* matar pseudo/chevrons do vendor */\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__collapse-extended::before,\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__collapse-extended::after,\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__header::before,\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__header::after{\r\n  content: none !important;\r\n  display: none !important;\r\n}\r\n\r\n/* read-only: sem interação no header */\r\nbody.pt-transaction-history .form_name_transaction-history .transactions__item .fn-accordion-target{\r\n  pointer-events: none !important;\r\n  cursor: default !important;\r\n}\r\n/* detalhe sempre escondido */\r\nbody.pt-transaction-history .form_name_transaction-history .transactions__item .fn-accordion-body{\r\n  display: none !important;\r\n}\r\n\r\nbody.pt-transaction-history .form_name_transaction-history .val_type_type{\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 1000 !important;\r\n  letter-spacing: -.2px !important;\r\n  font-size: 13.5px !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .info-list__field_type_value{\r\n  text-align:right !important;\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 13.5px !important;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .val_type_complex-sub{\r\n  margin-top: 4px !important;\r\n  color: var(--muted2) !important;\r\n  font-size: 11px !important;\r\n  font-weight: 800 !important;\r\n  white-space: nowrap !important;\r\n}\r\n@media (max-width: 640px){\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__header{\r\n    flex-wrap: wrap !important;\r\n    align-items: flex-start !important;\r\n  }\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_value{\r\n    width: 100% !important;\r\n    text-align: left !important;\r\n    margin-top: 6px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   7) LOAD MORE\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .fn-show-more{ padding: 0 14px 16px !important; }\r\nbody.pt-transaction-history .form_name_transaction-history .fn-load-more{\r\n  width: 100% !important;\r\n  background: rgba(255,255,255,.03) !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n}\r\n\r\n/* =========================================================\r\n   8) ÍCONES (off por default via class no body)\r\n========================================================= */\r\nbody.pt-transaction-history.pt-hide-tx-icons .form_name_transaction-history .micon_text{\r\n  display: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   9) A11Y focus\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .fn-accessibility-element:focus-visible{\r\n  outline: 2px solid rgba(131,222,26,.45) !important;\r\n  outline-offset: 2px !important;\r\n  border-radius: var(--r-md) !important;\r\n}\r\n\r\n/* =========================================================\r\n   10) MICRO-FIXES (bootstrap cols/rows)\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .row{ margin-left: 0 !important; margin-right: 0 !important; }\r\nbody.pt-transaction-history .form_name_transaction-history [class*=\"col-\"]{ padding-left: 0 !important; padding-right: 0 !important; }\r\n\r\n/* =========================================================\r\n   11) PERÍODO — UI custom (pt-dd) + PORTAL MENU\r\n   Nota: o MENU é inserido no <body> via JS (pt-dd__menu--portal)\r\n========================================================= */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period{\r\n  position: relative !important;\r\n  z-index: 10 !important;\r\n}\r\n\r\n/* esconder UI do js-select só no campo período */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .js-select__display{\r\n  display: none !important;\r\n}\r\n\r\n/* pt-dd (no campo período) */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd{\r\n  position: relative !important;\r\n  display:block !important;\r\n  width: 100% !important;\r\n}\r\n\r\n/* select fica no DOM mas não apanha clique */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd select{\r\n  position:absolute !important;\r\n  inset:0 !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n  -webkit-appearance:none !important;\r\n     -moz-appearance:none !important;\r\n          appearance:none !important;\r\n  background-image:none !important;\r\n}\r\n\r\n/* botão pill */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd__btn{\r\n  height: 42px;\r\n  width: 100%;\r\n  border-radius: var(--r-pill);\r\n  border: 1px solid var(--border);\r\n  background: rgba(255,255,255,.04);\r\n  color: rgba(255,255,255,.92);\r\n\r\n  padding: 0 42px 0 14px;\r\n  font-weight: 1000;\r\n  font-size: 13px;\r\n  text-align:left;\r\n\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n\r\n  cursor:pointer;\r\n  transition: transform .12s ease, background .15s ease, border-color .15s ease;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd__btn:hover{\r\n    background: rgba(255,255,255,.06);\r\n    border-color: rgba(255,255,255,.26);\r\n    transform: translateY(-1px);\r\n  }\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd__btn:active{\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd__btn:focus-visible{\r\n  outline:none !important;\r\n  border-color: rgba(131,222,26,.85) !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.18) !important;\r\n}\r\n\r\n/* chevron */\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd__chev{\r\n  width: 7px; height: 7px;\r\n  border-right: 1.8px solid rgba(255,255,255,.75);\r\n  border-bottom: 1.8px solid rgba(255,255,255,.75);\r\n  transform: rotate(45deg);\r\n  transition: transform .18s ease, border-color .15s ease;\r\n  flex: 0 0 auto;\r\n}\r\nbody.pt-transaction-history .form_name_transaction-history .field_name_period .pt-dd.is-open .pt-dd__chev{\r\n  transform: rotate(-135deg);\r\n  border-right-color: var(--green);\r\n  border-bottom-color: var(--green);\r\n}\r\n\r\n/* MENU PORTAL (inserido no <body>) */\r\nbody.pt-transaction-history .pt-dd__menu--portal{\r\n  position: fixed !important;\r\n  z-index: 2147483647 !important;\r\n\r\n  background: var(--placard-panel);\r\n  border: 1px solid rgba(255,255,255,.12);\r\n  border-radius: 14px;\r\n  box-shadow: var(--shadow);\r\n  overflow:hidden;\r\n\r\n  padding: 6px;\r\n}\r\n\r\n/* item */\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item{\r\n  width:100%;\r\n  border: 1px solid rgba(255,255,255,0);\r\n  background: transparent;\r\n  color: rgba(255,255,255,.90);\r\n\r\n  padding: 10px 12px;\r\n  border-radius: 10px;\r\n\r\n  font-weight: 900;\r\n  font-size: 13px;\r\n  text-align:left;\r\n\r\n  cursor:pointer;\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease;\r\n}\r\n@media (hover:hover){\r\n  body.pt-transaction-history .pt-dd__menu--portal .pt-dd__item:hover{\r\n    background: rgba(255,255,255,.05);\r\n    border-color: rgba(255,255,255,.18);\r\n    transform: translateY(-1px);\r\n  }\r\n}\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item:active{\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.12);\r\n  border-color: rgba(131,222,26,.30);\r\n  color: rgba(255,255,255,.95);\r\n}\r\n\r\n\r\n/* =========================================================\r\n   PATCH — DROPDOWN (PERÍODO) SEM TRANSPARÊNCIA\r\n   Cola no fim do CSS\r\n========================================================= */\r\n\r\n/* 1) menu 100% opaco (sem alpha, sem blur/backdrop) */\r\nbody.pt-transaction-history .pt-dd__menu--portal{\r\n  background: #1c1d27 !important;           /* opaco */\r\n  opacity: 1 !important;\r\n  backdrop-filter: none !important;\r\n  -webkit-backdrop-filter: none !important;\r\n}\r\n\r\n/* 2) garantir que nenhum “overlay” interno tem alpha */\r\nbody.pt-transaction-history .pt-dd__menu--portal *{\r\n  opacity: 1 !important;\r\n}\r\n\r\n/* 3) itens: hover/active podem ter alpha (ok), mas não o fundo base */\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item{\r\n  background: transparent !important;       /* base limpa */\r\n}\r\n\r\n\r\n/* =========================================================\r\n   PATCH — DROPDOWN (PERÍODO): VERDE NO HOVER/ACTIVE (SEM TRANSPARÊNCIA)\r\n========================================================= */\r\n\r\n/* Menu opaco (mantém) */\r\nbody.pt-transaction-history .pt-dd__menu--portal{\r\n  background: #1c1d27 !important;\r\n  opacity: 1 !important;\r\n  backdrop-filter: none !important;\r\n  -webkit-backdrop-filter: none !important;\r\n}\r\n\r\n/* Items: reset do \"transparent\" anterior */\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item{\r\n  background: transparent !important;\r\n  border: 1px solid rgba(255,255,255,0) !important;\r\n  color: rgba(255,255,255,.90) !important;\r\n}\r\n\r\n/* Hover com “linha/caixa” verde (TAGG-like) */\r\n@media (hover:hover){\r\n  body.pt-transaction-history .pt-dd__menu--portal .pt-dd__item:hover{\r\n    background: rgba(131,222,26,.10) !important;\r\n    border-color: rgba(131,222,26,.35) !important;\r\n    color: rgba(255,255,255,.95) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n\r\n/* Active (selecionado) ainda mais evidente */\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.14) !important;\r\n  border-color: rgba(131,222,26,.40) !important;\r\n  color: rgba(255,255,255,.98) !important;\r\n}\r\n\r\n/* Active/focus por teclado */\r\nbody.pt-transaction-history .pt-dd__menu--portal .pt-dd__item:focus-visible{\r\n  outline: none !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.18) !important;\r\n  border-color: rgba(131,222,26,.50) !important;\r\n}\r\n\r\n\r\n</style>\r\n\r\n<style id=\"pt-transaction-history-mobile-layout-fix-v2\">\r\n/* =========================================================\r\n   FIX MOBILE — sem overlaps + texto completo\r\n   - header vira GRID 2 colunas\r\n   - título pode partir linha\r\n   - valor fica sempre na direita\r\n   - data/sub fica por baixo (sem pisar)\r\n========================================================= */\r\n@media (max-width: 640px){\r\n\r\n  /* cada item vira grid */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__header{\r\n    display: grid !important;\r\n    grid-template-columns: 1fr auto !important;\r\n    column-gap: 12px !important;\r\n    row-gap: 6px !important;\r\n    align-items: start !important;\r\n\r\n    /* remove qualquer layout “estranho” do vendor */\r\n    flex-wrap: nowrap !important;\r\n  }\r\n\r\n  /* força campos para não terem widths/posicionamentos marados */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field{\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  /* ESQUERDA: título */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_type{\r\n    grid-column: 1 !important;\r\n    grid-row: 1 !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  body.pt-transaction-history .form_name_transaction-history .val_type_type{\r\n    display: block !important;\r\n    white-space: normal !important;\r\n    overflow: visible !important;\r\n    text-overflow: clip !important;\r\n    word-break: break-word !important;\r\n    line-height: 1.25 !important;\r\n  }\r\n\r\n  /* DIREITA: valor (sempre no topo direito) */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_value{\r\n    grid-column: 2 !important;\r\n    grid-row: 1 !important;\r\n    width: auto !important;\r\n    text-align: right !important;\r\n    margin: 0 !important;\r\n    align-self: start !important;\r\n    white-space: nowrap !important;\r\n  }\r\n\r\n  /* SUB (data/extra): fica por baixo, à esquerda (ou seja, não colide com o valor) */\r\n  body.pt-transaction-history .form_name_transaction-history .val_type_complex-sub{\r\n    grid-column: 1 / -1 !important;\r\n    grid-row: 2 !important;\r\n    margin-top: 0 !important;\r\n    white-space: nowrap !important;\r\n    overflow: hidden !important;\r\n    text-overflow: ellipsis !important;\r\n  }\r\n\r\n  /* se o vendor meter spans com ellipsis dentro do campo do título */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_type *{\r\n    white-space: normal !important;\r\n    overflow: visible !important;\r\n    text-overflow: clip !important;\r\n  }\r\n\r\n  /* segurança: neutraliza floats/absolutos que causem overlap */\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_value,\r\n  body.pt-transaction-history .form_name_transaction-history .info-list__field_type_type{\r\n    float: none !important;\r\n    position: static !important;\r\n  }\r\n}\r\n</style>\r\n\r\n\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD.PT — TRANSACTION HISTORY (V1.6) — iOS/SPA SAFE PATCH (UPDATED)\r\n   - scope class + icons off\r\n   - read-only accordion hard block\r\n   - Período: pt-dd + PORTAL MENU (append ao body)\r\n   - FIX iOS: reinit quando o root é recriado / BFCache / SPA\r\n   - FIX DESKTOP: buildPeriodDropdown wrapper-agnostic (não depende de .js-select)\r\n========================================================= */\r\n(function(){\r\n  var BODY_CLASS = 'pt-transaction-history';\r\n  if (!document.body.classList.contains(BODY_CLASS)) document.body.classList.add(BODY_CLASS);\r\n\r\n  // default: esconder ícones por linha (remove se quiseres voltar a mostrar)\r\n  document.body.classList.add('pt-hide-tx-icons');\r\n\r\n  // em SPA/iOS não podemos “matar” init para sempre com um boolean.\r\n  // guard: se já existe, chamamos reinit() e saímos.\r\n  var FLAG = '__ptTxHistoryV16Bound';\r\n  if (window[FLAG] && typeof window[FLAG].reinit === 'function'){\r\n    window[FLAG].reinit();\r\n    return;\r\n  }\r\n\r\n  function getRoot(){\r\n    return document.querySelector('.form_name_transaction-history');\r\n  }\r\n\r\n  /* ---------------------------\r\n     READ-ONLY: bloquear accordion\r\n  --------------------------- */\r\n  function isRowHeader(el){\r\n    return el && el.closest && el.closest('.form_name_transaction-history .fn-accordion-target');\r\n  }\r\n  function kill(e){\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    if (e.stopImmediatePropagation) e.stopImmediatePropagation();\r\n  }\r\n  document.addEventListener('click', function(e){\r\n    if (isRowHeader(e.target)) kill(e);\r\n  }, true);\r\n  document.addEventListener('keydown', function(e){\r\n    if (!isRowHeader(e.target)) return;\r\n    var k = e.key || e.code;\r\n    if (k === 'Enter' || k === ' ' || k === 'Spacebar' || k === 'Space') kill(e);\r\n  }, true);\r\n\r\n  function cleanOpenStates(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n    var items = root.querySelectorAll('.transactions__item.fn-accordion');\r\n    for (var i=0;i<items.length;i++){\r\n      items[i].classList.remove('open','opened','active','pt-row-open','pt-acc-open');\r\n      var header = items[i].querySelector('.fn-accordion-target');\r\n      if (header) header.setAttribute('aria-expanded', 'false');\r\n    }\r\n  }\r\n\r\n  /* ---------------------------\r\n     PERÍODO: dropdown custom + portal menu\r\n  --------------------------- */\r\n  var portalMenu = null;\r\n  var portalOwner = null;\r\n  var onScrollResize = null;\r\n\r\n  function normalize(txt){\r\n    return (txt || '').replace(/\\s+/g,' ').replace(/\\u00A0/g,' ').trim();\r\n  }\r\n\r\n  function closePortal(){\r\n    if (portalOwner){\r\n      portalOwner.classList.remove('is-open');\r\n      var b = portalOwner.querySelector('.pt-dd__btn');\r\n      if (b) b.setAttribute('aria-expanded','false');\r\n    }\r\n    portalOwner = null;\r\n\r\n    if (portalMenu && portalMenu.parentNode) portalMenu.parentNode.removeChild(portalMenu);\r\n    portalMenu = null;\r\n\r\n    if (onScrollResize){\r\n      window.removeEventListener('scroll', onScrollResize, true);\r\n      window.removeEventListener('resize', onScrollResize, true);\r\n      onScrollResize = null;\r\n    }\r\n  }\r\n\r\n  function positionPortal(btn, menu){\r\n    if (!btn || !menu) return;\r\n    var r = btn.getBoundingClientRect();\r\n    var gap = 8;\r\n    var maxH = Math.max(180, Math.floor(window.innerHeight * 0.55));\r\n\r\n    menu.style.left = Math.round(r.left) + 'px';\r\n    menu.style.top  = Math.round(r.bottom + gap) + 'px';\r\n    menu.style.width = Math.round(r.width) + 'px';\r\n    menu.style.maxHeight = maxH + 'px';\r\n    menu.style.overflowY = 'auto';\r\n\r\n    // se não couber para baixo, tenta para cima\r\n    var menuRect = menu.getBoundingClientRect();\r\n    if (menuRect.bottom > window.innerHeight - 10){\r\n      var top = Math.max(10, Math.round(r.top - gap - menuRect.height));\r\n      menu.style.top = top + 'px';\r\n    }\r\n  }\r\n\r\n  function openPortal(dd, btn, sel, labelEl){\r\n    closePortal();\r\n\r\n    dd.classList.add('is-open');\r\n    btn.setAttribute('aria-expanded','true');\r\n\r\n    portalMenu = document.createElement('div');\r\n    portalMenu.className = 'pt-dd__menu--portal';\r\n    portalMenu.setAttribute('role','listbox');\r\n\r\n    Array.prototype.slice.call(sel.options).forEach(function(opt){\r\n      var it = document.createElement('button');\r\n      it.type = 'button';\r\n      it.className = 'pt-dd__item';\r\n      it.textContent = normalize(opt.text);\r\n      it.dataset.value = opt.value;\r\n      if (opt.value === sel.value) it.classList.add('is-active');\r\n\r\n      it.addEventListener('click', function(){\r\n        sel.value = opt.value;\r\n        sel.dispatchEvent(new Event('change', { bubbles:true }));\r\n\r\n        if (labelEl) labelEl.textContent = normalize(opt.text);\r\n        closePortal();\r\n      });\r\n\r\n      portalMenu.appendChild(it);\r\n    });\r\n\r\n    document.body.appendChild(portalMenu);\r\n    portalOwner = dd;\r\n\r\n    positionPortal(btn, portalMenu);\r\n\r\n    onScrollResize = function(){\r\n      if (!portalMenu) return;\r\n      positionPortal(btn, portalMenu);\r\n    };\r\n    window.addEventListener('scroll', onScrollResize, true);\r\n    window.addEventListener('resize', onScrollResize, true);\r\n  }\r\n\r\n  // ✅ UPDATED: wrapper-agnostic build (mount dentro de .field_name_period)\r\n  function buildPeriodDropdown(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    var field = root.querySelector('.field_name_period');\r\n    if (!field) return;\r\n\r\n    // select pode estar em wrappers diferentes conforme desktop/mobile\r\n    var sel =\r\n      field.querySelector('select[name=\"period\"]') ||\r\n      field.querySelector('select') ||\r\n      root.querySelector('select[name=\"period\"]');\r\n\r\n    if (!sel) return;\r\n\r\n    // se já existe pt-dd funcional, não refaz\r\n    if (sel.dataset.ptDdBuilt === '1' && field.querySelector('.pt-dd__btn')) return;\r\n\r\n    try{\r\n      // garantir container pt-dd dentro do field (sempre no mesmo sítio)\r\n      var dd = field.querySelector(':scope > .pt-dd');\r\n      if (!dd){\r\n        dd = document.createElement('div');\r\n        dd.className = 'pt-dd';\r\n        // inserir no topo do field (abaixo da label)\r\n        field.insertBefore(dd, field.firstChild);\r\n      }\r\n\r\n      // mover select para dentro do dd (mantém compat + change)\r\n      if (sel.parentNode !== dd){\r\n        dd.insertBefore(sel, dd.firstChild);\r\n      }\r\n\r\n      // criar botão se não existir\r\n      var btn = dd.querySelector('.pt-dd__btn');\r\n      if (!btn){\r\n        btn = document.createElement('button');\r\n        btn.type = 'button';\r\n        btn.className = 'pt-dd__btn';\r\n        btn.setAttribute('aria-haspopup','listbox');\r\n        btn.setAttribute('aria-expanded','false');\r\n\r\n        var label = document.createElement('span');\r\n        label.className = 'pt-dd__label';\r\n\r\n        var chev = document.createElement('span');\r\n        chev.className = 'pt-dd__chev';\r\n\r\n        btn.appendChild(label);\r\n        btn.appendChild(chev);\r\n\r\n        dd.appendChild(btn);\r\n\r\n        // handlers\r\n        btn.addEventListener('click', function(e){\r\n          e.preventDefault();\r\n          var labelEl = dd.querySelector('.pt-dd__label');\r\n          if (dd.classList.contains('is-open')) closePortal();\r\n          else openPortal(dd, btn, sel, labelEl);\r\n        });\r\n      }\r\n\r\n      // garantir label correcta\r\n      var labelEl = dd.querySelector('.pt-dd__label');\r\n      if (labelEl){\r\n        var txt = (sel.options[sel.selectedIndex] && sel.options[sel.selectedIndex].text) || '';\r\n        labelEl.textContent = normalize(txt);\r\n      }\r\n\r\n      // change do select atualiza label + active (se menu aberto)\r\n      if (!sel.dataset.ptDdChangeBound){\r\n        sel.dataset.ptDdChangeBound = '1';\r\n        sel.addEventListener('change', function(){\r\n          var ddLocal = field.querySelector(':scope > .pt-dd');\r\n          var labelLocal = ddLocal ? ddLocal.querySelector('.pt-dd__label') : null;\r\n\r\n          var t = (sel.options[sel.selectedIndex] && sel.options[sel.selectedIndex].text) || '';\r\n          if (labelLocal) labelLocal.textContent = normalize(t);\r\n\r\n          if (portalMenu){\r\n            portalMenu.querySelectorAll('.pt-dd__item').forEach(function(it){\r\n              it.classList.toggle('is-active', it.dataset.value === sel.value);\r\n            });\r\n            var btnLocal = ddLocal ? ddLocal.querySelector('.pt-dd__btn') : null;\r\n            if (btnLocal) positionPortal(btnLocal, portalMenu);\r\n          }\r\n        });\r\n      }\r\n\r\n      // marcar built só no fim (evita “buraco”)\r\n      sel.dataset.ptDdBuilt = '1';\r\n    }catch(err){\r\n      // se falhar, não deixar o built preso\r\n      try{ delete sel.dataset.ptDdBuilt; }catch(e){}\r\n    }\r\n  }\r\n\r\n  // click-outside e ESC globais (uma vez)\r\n  document.addEventListener('click', function(e){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    var dd = root.querySelector('.field_name_period .pt-dd');\r\n    if (!dd) return;\r\n\r\n    if (!dd.contains(e.target) && (!portalMenu || !portalMenu.contains(e.target))) closePortal();\r\n  }, true);\r\n\r\n  document.addEventListener('keydown', function(e){\r\n    if (e.key === 'Escape') closePortal();\r\n  }, true);\r\n\r\n  /* ---------------------------\r\n     OBSERVERS / SPA SAFE REINIT\r\n  --------------------------- */\r\n  var moRoot = null;\r\n  var moBody = null;\r\n  var currentRoot = null;\r\n\r\n  function attachRootObserver(root){\r\n    if (!root) return;\r\n    if (moRoot) { try{ moRoot.disconnect(); }catch(e){} moRoot = null; }\r\n\r\n    moRoot = new MutationObserver(function(){\r\n      clearTimeout(attachRootObserver._t);\r\n      attachRootObserver._t = setTimeout(function(){\r\n        cleanOpenStates();\r\n        buildPeriodDropdown();\r\n      }, 80);\r\n    });\r\n\r\n    moRoot.observe(root, { childList:true, subtree:true, attributes:true, attributeFilter:['class'] });\r\n  }\r\n\r\n  function reinit(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    // se o root mudou (SPA / iOS), re-liga tudo\r\n    if (root !== currentRoot){\r\n      currentRoot = root;\r\n      closePortal();\r\n      attachRootObserver(root);\r\n    }\r\n\r\n    cleanOpenStates();\r\n    buildPeriodDropdown();\r\n  }\r\n\r\n  // observer global no body: detecta (re)mount do portlet em SPA/iOS\r\n  function ensureBodyObserver(){\r\n    if (moBody) return;\r\n    moBody = new MutationObserver(function(){\r\n      if (getRoot()) reinit();\r\n    });\r\n    moBody.observe(document.body, { childList:true, subtree:true });\r\n  }\r\n\r\n  // init\r\n  ensureBodyObserver();\r\n  reinit();\r\n\r\n  // “kick” curto: garante período mesmo com injection tardia\r\n  var tries = 0;\r\n  var iv = setInterval(function(){\r\n    tries++;\r\n    reinit();\r\n\r\n    var root = getRoot();\r\n    var sel = root ? (root.querySelector('.field_name_period select') || root.querySelector('select[name=\"period\"]')) : null;\r\n    var built = !!(sel && sel.dataset && sel.dataset.ptDdBuilt === '1' && root.querySelector('.field_name_period .pt-dd__btn'));\r\n\r\n    if (built) { clearInterval(iv); return; }\r\n    if (tries >= 80) clearInterval(iv);\r\n  }, 250);\r\n\r\n  // BFCache / voltar atrás (Safari iOS)\r\n  window.addEventListener('pageshow', function(){\r\n    reinit();\r\n  });\r\n\r\n  // quando a tab volta ao foreground\r\n  document.addEventListener('visibilitychange', function(){\r\n    if (document.visibilityState === 'visible') reinit();\r\n  });\r\n\r\n  // expõe reinit para chamadas futuras\r\n  window[FLAG] = { reinit: reinit };\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"6bcc6db5-0de1-4ca8-a969-1b01b5b47ae7","tagTypeId":"custom_tag_type","name":"Contact_Preferences_Placard_Theme","description":"Pending withdraw constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — CONTACT PREFERENCES (CONTACT_PREFERENCES_UPDATE)\r\n     FINAL V2.1 (SAFE + HARD ALIGNMENT)\r\n     - 1 coluna (desktop + mobile)\r\n     - Remove offsets assimétricos (margem esquerda do vendor)\r\n     - Rail consistente: título, lista, CTA\r\n     - Toggle “switch” limpo\r\n     - CTA secundário\r\n========================================================= -->\r\n\r\n<style id=\"pt-contact-preferences-theme\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences{\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.70);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#76cc18;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --border-soft: rgba(255,255,255,.10);\r\n  --border: rgba(255,255,255,.18);\r\n\r\n  --r-md: 14px;\r\n  --r-pill: 999px;\r\n\r\n  --rail: 560px;\r\n  --gutter: 16px;\r\n\r\n  color: var(--text);\r\n  font-family: inherit;\r\n}\r\n\r\n@media (max-width: 640px){\r\n  body.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences{\r\n    --rail: 460px;\r\n    --gutter: 12px;\r\n  }\r\n}\r\n@media (max-width: 420px){\r\n  body.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences{\r\n    --rail: 360px;\r\n    --gutter: 12px;\r\n  }\r\n}\r\n\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences *{\r\n  box-sizing:border-box;\r\n}\r\n\r\n/* =========================================================\r\n   1) CONTAINER BASE\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.DynamicContactPreferences__formContainer--27t{\r\n  max-width: calc(var(--rail) + (var(--gutter) * 2));\r\n  margin: 0 auto;\r\n  padding: 10px var(--gutter) 18px;\r\n}\r\n\r\n/* =========================================================\r\n   2) HARD RESET — eliminar margens/paddings assimétricos do vendor\r\n   (este é o fix que faltava)\r\n========================================================= */\r\n\r\n/* wrappers de coluna do ChangeForm */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ChangeForm__columns--10T,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ChangeForm__column--1kd{\r\n  padding-left: 0 !important;\r\n  padding-right: 0 !important;\r\n  margin-left: 0 !important;\r\n  margin-right: 0 !important;\r\n  width: 100% !important;\r\n}\r\n\r\n/* o campo “promotional0” e TODOS os wrappers dentro dele */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-form-field-name-promotional0,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-form-field-name-promotional0 *{\r\n  margin-left: 0 !important;\r\n  margin-right: 0 !important;\r\n}\r\n\r\n/* também remove padding lateral herdado */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-form-field-name-promotional0,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-form-field-name-promotional0 *{\r\n  padding-left: 0 !important;\r\n  padding-right: 0 !important;\r\n}\r\n\r\n/* e forçar o container ContactPreferences a não empurrar */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-form-field-name-promotional0.ContactPreferences__container--A-m,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ContactPreferences__container--A-m{\r\n  width: 100% !important;\r\n  margin-left: 0 !important;\r\n  margin-right: 0 !important;\r\n  padding-left: 0 !important;\r\n  padding-right: 0 !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) RAIL COMUM (alinha título/lista/CTA)\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ChangeFormField__textLabel--1Tp,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Controls__controlsContainer--2O6{\r\n  width: 100% !important;\r\n  max-width: var(--rail) !important;\r\n  margin-left: auto !important;\r\n  margin-right: auto !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) TÍTULO\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ChangeFormField__textLabel--1Tp{\r\n  text-align:center;\r\n  font-weight: 900;\r\n  letter-spacing:-.2px;\r\n  margin: 10px auto 14px;\r\n  color: rgba(255,255,255,.92);\r\n}\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.ChangeFormField__textLabel--1Tp span{\r\n  display:inline-block;\r\n  max-width: 52ch;\r\n  line-height: 1.2;\r\n}\r\n\r\n/* =========================================================\r\n   5) REMOVER LINHAS/SEPARADORES (hard)\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional hr,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional [class*=\"Divider\"],\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional .divider,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional .separator{\r\n  display:none !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) LISTA (1 coluna)\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional{\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  padding: 0 !important;\r\n\r\n  display:flex !important;\r\n  flex-direction: column !important;\r\n  gap: 12px !important;\r\n}\r\n\r\n/* wrapper intermédio do vendor */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.cms-contact-preferences-promotional > div{\r\n  display: contents !important;\r\n}\r\n\r\n/* item wrapper */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ{\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  display:block !important;\r\n}\r\n\r\n/* neutralizar wrappers vendor (evita artefactos) */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__control--2X-,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Checkbox__control--24B,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__content--22a{\r\n  background: transparent !important;\r\n  box-shadow: none !important;\r\n  outline: none !important;\r\n  border: 0 !important;\r\n  filter: none !important;\r\n\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n  display:block !important;\r\n}\r\n\r\n/* =========================================================\r\n   7) CARD (grid interno fixo)\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__checkbox--1PR{\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n\r\n  display:grid !important;\r\n  grid-template-columns: 44px 14px 1fr !important;\r\n  align-items:center !important;\r\n\r\n  padding: 12px 16px !important;\r\n  border-radius: var(--r-md) !important;\r\n\r\n  background: rgba(255,255,255,.03) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n\r\n  cursor:pointer !important;\r\n  position: relative !important;\r\n  overflow:hidden !important;\r\n}\r\n\r\n/* hover/focus */\r\n@media (hover:hover){\r\n  body.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n  .CheckboxShallow__checkbox--1PR:hover{\r\n    background: rgba(255,255,255,.04) !important;\r\n    border-color: rgba(255,255,255,.16) !important;\r\n  }\r\n}\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__checkbox--1PR:focus-visible{\r\n  box-shadow: 0 0 0 3px var(--green-ring) !important;\r\n  border-color: rgba(131,222,26,.40) !important;\r\n}\r\n\r\n/* input invisível */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__input--1WB{\r\n  position:absolute !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* toggle */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__checkMark--G42{\r\n  grid-column: 1 !important;\r\n  width: 44px !important;\r\n  height: 24px !important;\r\n\r\n  border-radius: 999px !important;\r\n  border: 1px solid rgba(255,255,255,.18) !important;\r\n  background: rgba(255,255,255,.06) !important;\r\n\r\n  position: relative !important;\r\n  display:inline-block !important;\r\n  overflow:hidden !important;\r\n\r\n  transition: background .15s ease, border-color .15s ease !important;\r\n}\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__checkMark--G42::before{ content:none !important; display:none !important; }\r\n\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__checkMark--G42::after{\r\n  content:\"\" !important;\r\n  position:absolute !important;\r\n  top: 50% !important;\r\n  left: 3px !important;\r\n  transform: translateY(-50%) !important;\r\n\r\n  width: 18px !important;\r\n  height: 18px !important;\r\n  border-radius: 999px !important;\r\n\r\n  background: rgba(255,255,255,.88) !important;\r\n  box-shadow: 0 6px 14px rgba(0,0,0,.38) !important;\r\n\r\n  transition: transform .18s ease, background .15s ease !important;\r\n}\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__input--1WB:checked + .CheckboxShallow__checkMark--G42{\r\n  background: rgba(131,222,26,.92) !important;\r\n  border-color: rgba(131,222,26,.55) !important;\r\n}\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__input--1WB:checked + .CheckboxShallow__checkMark--G42::after{\r\n  transform: translate(20px, -50%) !important;\r\n  background: #0b0c10 !important;\r\n}\r\n\r\n/* label */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.CheckboxShallow__label--1DO{\r\n  grid-column: 3 !important;\r\n\r\n  min-width: 0 !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 700 !important;\r\n  line-height: 1.15 !important;\r\n\r\n  white-space: nowrap !important;\r\n  overflow: hidden !important;\r\n  text-overflow: ellipsis !important;\r\n}\r\n\r\n/* =========================================================\r\n   8) CTA — SECUNDÁRIO\r\n========================================================= */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Controls__controlsContainer--2O6{\r\n  margin-top: 18px !important;\r\n  display:flex !important;\r\n  justify-content:center !important;\r\n}\r\n\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\nbutton.Button__btn--3yY{\r\n  height: 44px !important;\r\n  width: 100% !important;\r\n  max-width: var(--rail) !important;\r\n\r\n  padding: 0 26px !important;\r\n\r\n  border-radius: var(--r-pill) !important;\r\n  border: 1px solid rgba(131,222,26,.35) !important;\r\n\r\n  background: rgba(131,222,26,.10) !important;\r\n  color: rgba(255,255,255,.96) !important;\r\n\r\n  font-weight: 900 !important;\r\n  font-size: 13px !important;\r\n  letter-spacing: .01em !important;\r\n\r\n  box-shadow: none !important;\r\n  cursor:pointer !important;\r\n\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease, opacity .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n  button.Button__btn--3yY:hover{\r\n    background: rgba(131,222,26,.14) !important;\r\n    border-color: rgba(131,222,26,.45) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n\r\n\r\n/* =========================================================\r\n   FINAL FIX — matar linhas separadoras (vendor dividers)\r\n   (sem afetar o ::after do toggle)\r\n========================================================= */\r\n\r\n/* remove qualquer \"divider\" desenhado por pseudo nos WRAPPERS do item */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ::before,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ::after,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__control--2X-::before,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__control--2X-::after,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__content--22a::before,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Control__content--22a::after,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Checkbox__control--24B::before,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Checkbox__control--24B::after,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ > div::before,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ > div::after{\r\n  content: none !important;\r\n  display: none !important;\r\n}\r\n\r\n/* remove também quando a linha é um elemento real (não pseudo) */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ [class*=\"Separator\"],\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ [class*=\"separator\"],\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ [class*=\"Divider\"],\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ [class*=\"divider\"]{\r\n  display: none !important;\r\n}\r\n\r\n/* se a linha for \"background gradient\" num wrapper, neutraliza */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ > div,\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ > div > div{\r\n  background-image: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   KILL FINAL — separador do vendor (border-bottom)\r\n   Fonte: .Preference__singleCheckboxContainer--1bJ { border-bottom: 1px solid ... }\r\n========================================================= */\r\n\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ{\r\n  border: 0 !important;\r\n  border-bottom: 0 !important;\r\n  border-top: 0 !important;\r\n  border-left: 0 !important;\r\n  border-right: 0 !important;\r\n}\r\n\r\n/* redundância (alguns temas aplicam no wrapper interno) */\r\nbody.pt-contact-preferences .portlet__content_type_dynamic-contact-preferences\r\n.Preference__singleCheckboxContainer--1bJ > div{\r\n  border: 0 !important;\r\n  border-bottom: 0 !important;\r\n}\r\n\r\n</style>\r\n\r\n<script>\r\n(function(){\r\n  var BODY_CLASS = 'pt-contact-preferences';\r\n  function hasPortlet(){\r\n    return !!document.querySelector('.portlet__content_type_dynamic-contact-preferences');\r\n  }\r\n  function apply(){\r\n    if (!hasPortlet()) return;\r\n    if (!document.body.classList.contains(BODY_CLASS)) document.body.classList.add(BODY_CLASS);\r\n  }\r\n  apply();\r\n  var obs = new MutationObserver(function(){ apply(); });\r\n  obs.observe(document.documentElement, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"3381af28-b15b-4aa0-bf6a-cad660e769d7","tagTypeId":"custom_tag_type","name":"Sports_bet_history_Placard_Theme","description":"Sports bet history constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — SPORTSBOOK BET HISTORY (Playtech)\r\n     THEME V3.2 (MOBILE: ALWAYS BACKBAR, ORIGINAL HIDDEN)\r\n\r\n     - Mobile (detalhe): mostra sempre backbar fixo (clone)\r\n     - Mobile (detalhe): botão original fica “offscreen” (não aparece, mas continua clicável via JS)\r\n     - Desktop: mantém botão original com estilo secundário\r\n     - Lista: cards/hover ok + sem “faixas pretas”\r\n     - Separadores soft + padding bottom lista + padding bottom detalhe\r\n========================================================= -->\r\n\r\n<style id=\"pt-bethistory-placard-theme-v32\">\r\n/* ---------------------------------------------------------\r\n   0) SCOPE + TOKENS\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope{\r\n  --pt-panel:#1c1d27;\r\n  --pt-text:rgba(255,255,255,.92);\r\n  --pt-muted2:rgba(255,255,255,.55);\r\n  --pt-green:#83DE1A;\r\n  --pt-border:rgba(255,255,255,.12);\r\n  --pt-border-2:rgba(255,255,255,.18);\r\n  --pt-radius-lg:16px;\r\n  --pt-radius-md:14px;\r\n  --pt-shadow:0 18px 60px rgba(0,0,0,.55);\r\n}\r\n.pt-bethistory-scope,\r\n.pt-bethistory-scope *{ box-sizing:border-box; }\r\n\r\n/* ---------------------------------------------------------\r\n   1) ROOT DO WIDGET\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"]{\r\n  font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n  color: var(--pt-text) !important;\r\n}\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-BetHistoryView{\r\n  background-color: var(--pt-panel) !important;\r\n  border: 1px solid var(--pt-border) !important;\r\n  border-radius: var(--pt-radius-lg) !important;\r\n  box-shadow: var(--pt-shadow) !important;\r\n  overflow: hidden !important;\r\n}\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-BetHistoryView > .ta-FlexPane{\r\n  padding: 12px !important;\r\n  gap: 10px !important;\r\n}\r\n\r\n/* Separadores (soft) */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-FlexPaneSeparator,\r\n.pt-bethistory-scope .ta-FlexPaneSeparator{\r\n  background: rgba(255,255,255,.08) !important;\r\n  height: 1px !important;\r\n  margin: 0 12px !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   2) DROPDOWNS (mantém)\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Dropdown{ height: 44px !important; }\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Dropdown .ta-DropdownControl{\r\n  min-height: 44px !important;\r\n  border-radius: 14px !important;\r\n  border: 1px solid var(--pt-border-2) !important;\r\n  background: rgba(255,255,255,.03) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 13px !important;\r\n  padding: 0 12px !important;\r\n  gap: 10px !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   3) LISTA + SCROLLBAR + “último item não corta”\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .infinite-scroll-component,\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] #betsListCompactContainer{\r\n  background: var(--pt-panel) !important;\r\n  padding: 2px 0 !important;\r\n\r\n  scrollbar-width: thin;\r\n  scrollbar-color: rgba(255,255,255,.16) rgba(255,255,255,.04);\r\n}\r\n\r\n@media (max-width: 560px){\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] .infinite-scroll-component,\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] #betsListCompactContainer{\r\n    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 92px) !important;\r\n  }\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   4) ITEM (Card + hover + remove “faixa preta”)\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border: 1px solid rgba(255,255,255,.08) !important;\r\n  border-radius: var(--pt-radius-md) !important;\r\n  margin: 6px 10px !important;\r\n  padding: 0 14px !important;\r\n  transition: background .15s ease, border-color .15s ease, transform .12s ease !important;\r\n}\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item .ta-row1,\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item .ta-row2{\r\n  background: transparent !important;\r\n}\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item\r\n  > div[style*=\"justify-content: space-between\"],\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item\r\n  > div[style*=\"justify-content:space-between\"],\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item .ta-selectionNames,\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item .ta-selectionNames *{\r\n  background: transparent !important;\r\n  background-color: transparent !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-Button.item:hover{\r\n    background: rgba(255,255,255,.04) !important;\r\n    border-color: rgba(131,222,26,.22) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-dateTime{\r\n  color: var(--pt-muted2) !important;\r\n  font-weight: 700 !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   5) DETALHE + padding bottom (conteúdo curto)\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope .ta-detailsPage{\r\n  background: var(--pt-panel) !important;\r\n  border-left: 1px solid rgba(255,255,255,.08);\r\n}\r\n.pt-bethistory-scope .ta-detailsPage .ta-betHeader,\r\n.pt-bethistory-scope .ta-detailsPage .ta-betInfo,\r\n.pt-bethistory-scope .ta-detailsPage .ta-details,\r\n.pt-bethistory-scope .ta-detailsPage > div{\r\n  background: transparent !important;\r\n}\r\n\r\n@media (max-width: 560px){\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-detailsPage,\r\n  .pt-bethistory-scope .ta-detailsPage{\r\n    overflow-y: auto !important;\r\n    -webkit-overflow-scrolling: touch;\r\n    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 190px) !important;\r\n  }\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   6) BOTÃO ORIGINAL \"VOLTAR\" — estilo secundário (desktop+mobile)\r\n--------------------------------------------------------- */\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-detailsPage + .ta-Button[role=\"button\"],\r\n.pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-detailsPage ~ .ta-Button[role=\"button\"]{\r\n  height: 44px !important;\r\n  border-radius: 999px !important;\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n  color: #fff !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .01em !important;\r\n  box-shadow: none !important;\r\n  backdrop-filter: blur(6px);\r\n}\r\n\r\n/* ✅ MOBILE: esconder SEMPRE o original no detalhe (evita 2 botões)\r\n   - não usamos display:none para poder disparar click via JS */\r\n@media (max-width: 560px){\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-detailsPage + .ta-Button[role=\"button\"],\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"] .ta-detailsPage ~ .ta-Button[role=\"button\"]{\r\n    position: fixed !important;\r\n    left: -9999px !important;\r\n    top: -9999px !important;\r\n    width: 1px !important;\r\n    height: 1px !important;\r\n    overflow: hidden !important;\r\n    opacity: 0 !important;\r\n    pointer-events: none !important;\r\n  }\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   7) BACKBAR (clone) — único botão visível em mobile/detalhe\r\n--------------------------------------------------------- */\r\n.pt-bh-backbar{\r\n  position: fixed;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 72px; /* acima do bottom nav */\r\n  z-index: 2147483646;\r\n  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));\r\n  pointer-events: none;\r\n  display: none; /* JS */\r\n}\r\n.pt-bh-backbar__inner{\r\n  width: min(360px, calc(100% - 24px));\r\n  margin: 0 auto;\r\n  pointer-events: auto;\r\n}\r\n.pt-bh-backbar__inner > *{ width: 100% !important; }\r\n.pt-bh-backbar__inner .pt-bh-backbar-btn{\r\n  height: 44px !important;\r\n  border-radius: 999px !important;\r\n  background: rgba(131, 222, 26, 0.14) !important;\r\n  border: 1px solid rgba(131, 222, 26, 0.45) !important;\r\n  color: #fff !important;\r\n  font-weight: 800 !important;\r\n  letter-spacing: .01em !important;\r\n  box-shadow: none !important;\r\n  backdrop-filter: blur(6px);\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   8) DESKTOP — max width\r\n--------------------------------------------------------- */\r\n@media (min-width: 961px){\r\n  .pt-bethistory-scope{\r\n    max-width: 980px;\r\n    margin: 0 auto !important;\r\n    padding: 0 18px;\r\n  }\r\n  .pt-bethistory-scope [id^=\"widget-bethistory-\"]{ width: 100% !important; }\r\n}\r\n\r\n/* Hide H1 */\r\nh1.fn-portlet-title{ display:none !important; height:0 !important; margin:0 !important; padding:0 !important; }\r\n.fn-portlet__title, .fn-portlet-title, [class*=\"PortletTitle__root\"], [class*=\"PortletTitle__wrap\"], [class*=\"PortletTitle__container\"]{\r\n  margin:0 !important; padding:0 !important;\r\n}\r\n.fn-portlet__content{ margin-top:0 !important; padding-top:0 !important; }\r\n\r\n/* Hide lost X */\r\nuse[href*=\"lost-icon\"], use[xlink\\:href*=\"lost-icon\"], use[href*=\"leg-status-lost\"], use[xlink\\:href*=\"leg-status-lost\"]{\r\n  opacity:0 !important; visibility:hidden !important;\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD.PT — Bet History helper (V3.2)\r\n   - Mobile detalhe: backbar sempre ON\r\n   - Botão original fica offscreen (CSS), mas JS dispara click nele\r\n   - Tick rAF throttled (iOS safe)\r\n========================================================= */\r\n(function(){\r\n  var SCOPE_CLASS = 'pt-bethistory-scope';\r\n\r\n  function q(sel, root){ return (root || document).querySelector(sel); }\r\n  function qa(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\r\n  function findRoot(){ return q('[id^=\"widget-bethistory-\"]'); }\r\n\r\n  function ensureScope(){\r\n    var root = findRoot();\r\n    if (!root) return false;\r\n\r\n    var scopeHost =\r\n      root.closest('.fn-portlet') ||\r\n      root.closest('.cms-sportsbook-widget') ||\r\n      root.parentElement ||\r\n      document.body;\r\n\r\n    if (scopeHost && !scopeHost.classList.contains(SCOPE_CLASS)) scopeHost.classList.add(SCOPE_CLASS);\r\n    if (!document.body.classList.contains(SCOPE_CLASS)) document.body.classList.add(SCOPE_CLASS);\r\n    return true;\r\n  }\r\n\r\n  function hidePortletH1(){\r\n    qa('h1.fn-portlet-title').forEach(function(h){\r\n      h.style.display = 'none';\r\n      h.style.margin = '0';\r\n      h.style.padding = '0';\r\n      h.style.height = '0';\r\n    });\r\n  }\r\n\r\n  function hideLostIcons(){\r\n    qa('use[href], use[xlink\\\\:href]').forEach(function(u){\r\n      var ref = (u.getAttribute('href') || u.getAttribute('xlink:href') || '');\r\n      if (!/lost/i.test(ref)) return;\r\n      var svg = u.closest('svg');\r\n      if (svg){\r\n        svg.style.display = 'none';\r\n        svg.style.visibility = 'hidden';\r\n        svg.style.opacity = '0';\r\n      }\r\n    });\r\n  }\r\n\r\n  function isMobile(){\r\n    return window.matchMedia && window.matchMedia('(max-width: 560px)').matches;\r\n  }\r\n\r\n  function isDetailView(){\r\n    var root = findRoot();\r\n    if (!root) return false;\r\n    return !!root.querySelector('.ta-detailsPage');\r\n  }\r\n\r\n  function ensureBackbar(){\r\n    var bar = q('.pt-bh-backbar');\r\n    if (!bar){\r\n      bar = document.createElement('div');\r\n      bar.className = 'pt-bh-backbar';\r\n      bar.innerHTML = '<div class=\"pt-bh-backbar__inner\"></div>';\r\n      document.body.appendChild(bar);\r\n    }\r\n    return bar;\r\n  }\r\n\r\n  function hideBackbar(){\r\n    var bar = q('.pt-bh-backbar');\r\n    if (!bar) return;\r\n    var inner = q('.pt-bh-backbar__inner', bar);\r\n    bar.style.display = 'none';\r\n    if (inner){\r\n      inner.innerHTML = '';\r\n      inner.removeAttribute('data-sig');\r\n    }\r\n  }\r\n\r\n  function findWidgetBottomBackButton(){\r\n    var root = findRoot();\r\n    if (!root) return null;\r\n\r\n    var details = root.querySelector('.ta-detailsPage');\r\n    if (!details) return null;\r\n\r\n    var parent = details.parentElement;\r\n    if (!parent) return null;\r\n\r\n    var btns = parent.querySelectorAll('.ta-Button[role=\"button\"]');\r\n    for (var i=0;i<btns.length;i++){\r\n      var el = btns[i];\r\n      if (((el.textContent||'').trim().toLowerCase()) === 'voltar') return el;\r\n    }\r\n    return null;\r\n  }\r\n\r\n  function dispatchRealClick(target){\r\n    if (!target) return;\r\n    try{\r\n      var ev = new MouseEvent('click', { bubbles:true, cancelable:true, view:window });\r\n      target.dispatchEvent(ev);\r\n    }catch(_){\r\n      try{ target.click(); }catch(__){}\r\n    }\r\n  }\r\n\r\n  function renderBackbarAlways(){\r\n    var bar = ensureBackbar();\r\n    var inner = q('.pt-bh-backbar__inner', bar);\r\n\r\n    // só mobile + detalhe\r\n    if (!(isMobile() && isDetailView())){\r\n      hideBackbar();\r\n      return;\r\n    }\r\n\r\n    var backBtn = findWidgetBottomBackButton();\r\n    if (!backBtn){\r\n      hideBackbar();\r\n      return;\r\n    }\r\n\r\n    bar.style.display = 'block';\r\n\r\n    // evita re-clonar sempre\r\n    var sig = (backBtn.outerHTML || '').slice(0, 260);\r\n    if (inner.getAttribute('data-sig') === sig && inner.firstElementChild) return;\r\n\r\n    var clone = backBtn.cloneNode(true);\r\n    clone.classList.add('pt-bh-backbar-btn');\r\n\r\n    clone.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      e.stopPropagation();\r\n      setTimeout(function(){ dispatchRealClick(backBtn); }, 0);\r\n    }, { passive:false });\r\n\r\n    inner.innerHTML = '';\r\n    inner.appendChild(clone);\r\n    inner.setAttribute('data-sig', sig);\r\n  }\r\n\r\n  // tick rAF\r\n  var rafPending = false;\r\n  function scheduleTick(){\r\n    if (rafPending) return;\r\n    rafPending = true;\r\n    requestAnimationFrame(function(){\r\n      rafPending = false;\r\n      tick();\r\n    });\r\n  }\r\n\r\n  function tick(){\r\n    ensureScope();\r\n    hidePortletH1();\r\n    hideLostIcons();\r\n    renderBackbarAlways();\r\n  }\r\n\r\n  tick();\r\n\r\n  var mo = new MutationObserver(function(){ scheduleTick(); });\r\n  mo.observe(document.documentElement, { childList:true, subtree:true });\r\n\r\n  if (window.visualViewport){\r\n    window.visualViewport.addEventListener('resize', scheduleTick, { passive:true });\r\n    window.visualViewport.addEventListener('scroll', scheduleTick, { passive:true });\r\n  }\r\n  window.addEventListener('resize', scheduleTick, { passive:true });\r\n  window.addEventListener('orientationchange', scheduleTick, { passive:true });\r\n  window.addEventListener('scroll', scheduleTick, { passive:true });\r\n\r\n  var tries = 0;\r\n  var iv = setInterval(function(){\r\n    tries++;\r\n    scheduleTick();\r\n    if (tries > 20) clearInterval(iv);\r\n  }, 250);\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"5e8cf0bb-acd1-45f5-ad4f-be88a0944b63","tagTypeId":"custom_tag_type","name":"Casino_bet_history_Placard_Theme","description":"Casino bet history constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — CASINO GAME HISTORY (Playtech) — THEME V1.0 (FINAL BASELINE)\r\n     Objetivos (SAFE):\r\n     - Scoping forte (body + portlet anchor)\r\n     - Largura máxima coerente com Histórico Sports (desktop)\r\n     - Reskin: filtros, Exportar, linhas accordion, detalhe, paginação\r\n     - Mobile: densidade “tight”, paginação estável + safe-area para bottom nav\r\n     - JS mínimo e defensivo:\r\n         (1) body class (scope)\r\n         (2) open-state resiliente (.pt-row-open) + MutationObserver\r\n         (3) dropdown custom para <select name=\"period\"> mantendo o select no DOM\r\n========================================================= -->\r\n\r\n<style id=\"pt-casino-history-theme\">\r\n/* =========================================================\r\n   0) SCOPE + TOKENS\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history{\r\n  --placard-bg:#16171f;\r\n  --placard-panel:#1c1d27;\r\n  --placard-card:#20212b;\r\n\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.70);\r\n  --muted2:rgba(255,255,255,.58);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#76cc18;\r\n\r\n  --border-soft:rgba(255,255,255,.10);\r\n  --border:rgba(255,255,255,.18);\r\n\r\n  --r-lg:16px;\r\n  --r-md:14px;\r\n  --r-sm:10px;\r\n  --r-pill:999px;\r\n\r\n  --shadow:0 18px 60px rgba(0,0,0,.55);\r\n\r\n  /* bottom nav (mobile) */\r\n  --ptm-bottom-nav-h: 74px;\r\n\r\n  color:var(--text);\r\n  background: transparent !important; /* não mexer no fundo global */\r\n}\r\n\r\n/* =========================================================\r\n   1) LARGURA / RESPIRAÇÃO (coerente com Histórico Sports)\r\n========================================================= */\r\n@media (min-width: 961px){\r\n  body.pt-casino-history .fn-portlet.portlet__content_type_game-history{\r\n    max-width: 980px;\r\n    margin-left: auto !important;\r\n    margin-right: auto !important;\r\n    padding-left: 18px !important;\r\n    padding-right: 18px !important;\r\n  }\r\n}\r\n\r\n/* wrapper interno: padding consistente */\r\nbody.pt-casino-history .portlet__content_type_game-history .Table__tableContainer--3qo,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Table__tableContainer\"]{\r\n  width: 100% !important;\r\n  max-width: 100% !important;\r\n  margin: 0 auto;\r\n  padding: 14px 18px 24px;\r\n}\r\n\r\n@media (max-width: 640px){\r\n  body.pt-casino-history .portlet__content_type_game-history .Table__tableContainer--3qo,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"Table__tableContainer\"]{\r\n    padding: 12px 12px 18px;\r\n  }\r\n\r\n  /* safe-area extra para não colidir com o bottom nav */\r\n  body.pt-casino-history .fn-portlet.portlet__content_type_game-history{\r\n    padding-bottom: calc(var(--ptm-bottom-nav-h) + 18px) !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   2) HEADER (filtro + exportar)\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history .TableHeader__tableHeaderContainer--2lW,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"TableHeader__tableHeaderContainer\"]{\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  box-shadow: none !important;\r\n  margin-bottom: 12px !important;\r\n\r\n  display:flex !important;\r\n  align-items:flex-end !important;\r\n  justify-content:space-between !important;\r\n  gap:12px !important;\r\n  flex-wrap:wrap !important;\r\n}\r\n\r\n/* filtros */\r\nbody.pt-casino-history .portlet__content_type_game-history .TableHeader__filtersContainer--1vf,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"TableHeader__filtersContainer\"]{\r\n  flex:1 1 auto !important;\r\n  min-width: 260px !important;\r\n}\r\n\r\n/* cada “filter” comporta-se como coluna (label + campo) */\r\nbody.pt-casino-history .portlet__content_type_game-history .TableHeader__filter--1Zn,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"TableHeader__filter\"]{\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  align-items:flex-start !important;\r\n}\r\n\r\n/* label */\r\nbody.pt-casino-history .portlet__content_type_game-history .Label__label--MzX,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Label__label\"]{\r\n  color: var(--muted) !important;\r\n  font-weight: 800 !important;\r\n  font-size: 12px !important;\r\n  letter-spacing: -.1px !important;\r\n\r\n  margin: 0 0 6px 0 !important;\r\n  padding-left: 14px !important; /* alinhado com o padding do botão */\r\n}\r\n\r\n/* neutralizar “valid state” (barra + ✓ verde) */\r\nbody.pt-casino-history .portlet__content_type_game-history .Control__valid--3D7,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Control__valid\"]{\r\n  box-shadow: none !important;\r\n  outline: none !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .Icon__formFieldValid--3E3,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Icon__formFieldValid\"]{\r\n  display:none !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .Control__control--2X-::before,\r\nbody.pt-casino-history .portlet__content_type_game-history .Control__control--2X-::after,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Control__control\"]::before,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Control__control\"]::after{\r\n  content:none !important;\r\n  display:none !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .Control__content--22a,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Control__content\"]{\r\n  border-bottom: 0 !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n/* botão Exportar */\r\nbody.pt-casino-history .portlet__content_type_game-history .ExportButton__exportBtn--3tV,\r\nbody.pt-casino-history .portlet__content_type_game-history button[class*=\"ExportButton__exportBtn\"]{\r\n  height: 42px !important;\r\n  border-radius: var(--r-pill) !important;\r\n  border: 1px solid rgba(131,222,26,.15) !important;\r\n\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n\r\n  font-weight: 1000 !important;\r\n  font-size: 13px !important;\r\n  padding: 0 16px !important;\r\n\r\n  box-shadow: 0 10px 24px rgba(0,0,0,.35) !important;\r\n  transition: transform .12s ease, background .15s ease, opacity .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history .ExportButton__exportBtn--3tV:hover,\r\n  body.pt-casino-history .portlet__content_type_game-history button[class*=\"ExportButton__exportBtn\"]:hover{\r\n    background: var(--green-hover) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .ExportButton__exportBtn--3tV:active,\r\nbody.pt-casino-history .portlet__content_type_game-history button[class*=\"ExportButton__exportBtn\"]:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .95 !important;\r\n}\r\n\r\n/* header responsive: stack estável */\r\n@media (max-width: 980px){\r\n  body.pt-casino-history .portlet__content_type_game-history .TableHeader__tableHeaderContainer--2lW,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"TableHeader__tableHeaderContainer\"]{\r\n    flex-direction: column !important;\r\n    align-items: flex-start !important;\r\n    justify-content: flex-start !important;\r\n    gap: 12px !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history .TableHeader__filtersContainer--1vf,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"TableHeader__filtersContainer\"]{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history .TableHeader__afterFiltersControlsContainer--16N,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"afterFiltersControlsContainer\"]{\r\n    width: 100% !important;\r\n    display:flex !important;\r\n    justify-content:flex-start !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 640px){\r\n  body.pt-casino-history .portlet__content_type_game-history .ExportButton__exportBtn--3tV,\r\n  body.pt-casino-history .portlet__content_type_game-history button[class*=\"ExportButton__exportBtn\"]{\r\n    width: 100% !important;\r\n    justify-content:center !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   2.1) DROPDOWN CUSTOM (select period)\r\n   - escondemos setas/vendor do select (fica o dropdown custom)\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history .Select__dropDownIcon--2WW,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"dropDownIcon\"]{\r\n  display:none !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history select[name=\"period\"]{\r\n  -webkit-appearance:none !important;\r\n     -moz-appearance:none !important;\r\n          appearance:none !important;\r\n  background-image:none !important;\r\n}\r\n\r\n/* componente custom */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd{\r\n  position: relative !important;\r\n  display: inline-block !important;\r\n  min-width: 260px !important;\r\n}\r\n\r\n@media (max-width: 980px){\r\n  body.pt-casino-history .portlet__content_type_game-history .pt-dd{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n    display:block !important;\r\n  }\r\n}\r\n\r\n/* o select fica no DOM (submit/compat), mas invisível */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd select{\r\n  position:absolute !important;\r\n  inset:0 !important;\r\n  opacity:0 !important;\r\n  pointer-events:none !important;\r\n}\r\n\r\n/* botão pill */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__btn{\r\n  height: 42px;\r\n  width: 100%;\r\n  border-radius: var(--r-pill);\r\n  border: 1px solid var(--border);\r\n  background: rgba(255,255,255,.04);\r\n  color: rgba(255,255,255,.92);\r\n\r\n  padding: 0 42px 0 14px;\r\n  font-weight: 1000;\r\n  font-size: 13px;\r\n  text-align:left;\r\n\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n\r\n  cursor:pointer;\r\n  transition: transform .12s ease, background .15s ease, border-color .15s ease;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history .pt-dd__btn:hover{\r\n    background: rgba(255,255,255,.06);\r\n    border-color: rgba(255,255,255,.26);\r\n    transform: translateY(-1px);\r\n  }\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__btn:active{\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__btn:focus-visible{\r\n  outline:none !important;\r\n  border-color: rgba(131,222,26,.85) !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.18) !important;\r\n}\r\n\r\n/* chevron (igual ao estilo Placard do acordeão) */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__chev{\r\n  width: 7px; height: 7px;\r\n  border-right: 1.8px solid rgba(255,255,255,.75);\r\n  border-bottom: 1.8px solid rgba(255,255,255,.75);\r\n  transform: rotate(45deg);\r\n  transition: transform .18s ease, border-color .15s ease;\r\n  flex: 0 0 auto;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd.is-open .pt-dd__chev{\r\n  transform: rotate(-135deg);\r\n  border-right-color: var(--green);\r\n  border-bottom-color: var(--green);\r\n}\r\n\r\n/* menu */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__menu{\r\n  position:absolute;\r\n  left:0; right:0;\r\n  top: calc(100% + 8px);\r\n  z-index: 9999;\r\n\r\n  background: var(--placard-panel);\r\n  border: 1px solid rgba(255,255,255,.12);\r\n  border-radius: 14px;\r\n  box-shadow: var(--shadow);\r\n  overflow:hidden;\r\n\r\n  padding: 6px;\r\n  display:none;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd.is-open .pt-dd__menu{\r\n  display:block;\r\n}\r\n\r\n/* item */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__item{\r\n  width:100%;\r\n  border: 1px solid rgba(255,255,255,0);\r\n  background: transparent;\r\n  color: rgba(255,255,255,.90);\r\n\r\n  padding: 10px 12px;\r\n  border-radius: 10px;\r\n\r\n  font-weight: 900;\r\n  font-size: 13px;\r\n  text-align:left;\r\n\r\n  cursor:pointer;\r\n  transition: background .12s ease, border-color .12s ease, transform .12s ease;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history .pt-dd__item:hover{\r\n    background: rgba(255,255,255,.05);\r\n    border-color: rgba(255,255,255,.18);\r\n    transform: translateY(-1px);\r\n  }\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__item:active{\r\n  transform: translateY(0);\r\n  opacity: .96;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-dd__item.is-active{\r\n  background: rgba(131,222,26,.12);\r\n  border-color: rgba(131,222,26,.30);\r\n  color: rgba(255,255,255,.95);\r\n}\r\n\r\n/* =========================================================\r\n   3) LISTA (accordion rows)\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history .TableData__tableDataContainer--2zr,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"TableData__tableDataContainer\"]{\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  gap:10px !important;\r\n}\r\n\r\n/* card row */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionContainer--2eR,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionContainer\"]{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  border-radius: var(--r-lg) !important;\r\n  box-shadow: 0 12px 34px rgba(0,0,0,.32) !important;\r\n  overflow: hidden !important;\r\n  transition: border-color .15s ease, transform .12s ease, background .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionContainer--2eR:hover,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionContainer\"]:hover{\r\n    border-color: rgba(255,255,255,.16) !important;\r\n    background: rgba(255,255,255,.03) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n\r\n/* header da row */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionHeaderContainer--1Q_,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionHeaderContainer\"]{\r\n  padding: 12px 14px !important;\r\n  display:grid !important;\r\n  grid-template-columns: 1fr auto 34px !important;\r\n  align-items:center !important;\r\n  gap: 12px !important;\r\n}\r\n\r\n/* nome jogo */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__gameNameCell--CvD,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__gameNameCell\"]{\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 1000 !important;\r\n  letter-spacing: -.2px !important;\r\n  min-width: 0 !important;\r\n  overflow: hidden !important;\r\n  text-overflow: ellipsis !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* montante + data */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__smallDetails--4s9,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__smallDetails\"]{\r\n  text-align:right !important;\r\n  color: var(--muted) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 13px !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__dateTime--jOB,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__dateTime\"]{\r\n  margin-top: 4px !important;\r\n  color: var(--muted2) !important;\r\n  font-size: 11px !important;\r\n  font-weight: 800 !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* coluna seta */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionHeaderArrowRow--3Ig,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"accordionHeaderArrowRow\"]{\r\n  position: relative !important;\r\n  width: 28px !important;\r\n  height: 28px !important;\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n}\r\n\r\n/* matar ícone vendor e desenhar chevron Placard */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionIcon--1Pg,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionIcon\"]{\r\n  display:none !important;\r\n}\r\n\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionHeaderArrowRow--3Ig::after,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"accordionHeaderArrowRow\"]::after{\r\n  content:\"\" !important;\r\n  display:block !important;\r\n  width:7px !important;\r\n  height:7px !important;\r\n\r\n  border-right: 1.8px solid rgba(255,255,255,.75) !important;\r\n  border-bottom: 1.8px solid rgba(255,255,255,.75) !important;\r\n\r\n  transform: rotate(45deg); /* fechado */\r\n  transition: transform .18s ease, border-color .15s ease;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .AccordionRow__accordionContainer--2eR:hover\r\n    .AccordionRow__accordionHeaderArrowRow--3Ig::after,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"AccordionRow__accordionContainer\"]:hover\r\n    [class*=\"accordionHeaderArrowRow\"]::after{\r\n    border-right-color: var(--green) !important;\r\n    border-bottom-color: var(--green) !important;\r\n  }\r\n}\r\n\r\n/* estado OPEN (JS adiciona .pt-row-open) */\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-row-open{\r\n  border-color: rgba(131,222,26,.22) !important;\r\n  box-shadow: 0 18px 50px rgba(0,0,0,.45) !important;\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-row-open\r\n  .AccordionRow__accordionHeaderArrowRow--3Ig::after,\r\nbody.pt-casino-history .portlet__content_type_game-history .pt-row-open\r\n  [class*=\"accordionHeaderArrowRow\"]::after{\r\n  transform: rotate(-135deg); /* aberto */\r\n  border-right-color: var(--green) !important;\r\n  border-bottom-color: var(--green) !important;\r\n}\r\n\r\n/* mobile header: stack (detalhes em baixo, seta na direita) */\r\n@media (max-width: 640px){\r\n  body.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionHeaderContainer--1Q_,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionHeaderContainer\"]{\r\n    grid-template-columns: 1fr 34px !important;\r\n    grid-template-rows: auto auto !important;\r\n  }\r\n  body.pt-casino-history .portlet__content_type_game-history .GameHistory__smallDetails--4s9,\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__smallDetails\"]{\r\n    grid-column: 1 / 2 !important;\r\n    text-align:left !important;\r\n    margin-top: 6px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   4) DETALHE (accordion body)\r\n========================================================= */\r\n\r\n/* container do body: sem triângulos/picos */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionBodyContainer--2z1::before,\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionBodyContainer--2z1::after,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionBodyContainer\"]::before,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionBodyContainer\"]::after{\r\n  content:none !important;\r\n  display:none !important;\r\n}\r\n\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionBodyContainer--2z1,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionBodyContainer\"]{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border-top: 1px solid rgba(255,255,255,.06) !important;\r\n  padding: 8px 0 10px !important;\r\n}\r\n\r\n/* wrappers do body (evitar linhas brancas vendor) */\r\nbody.pt-casino-history .portlet__content_type_game-history .AccordionRow__accordionBodyCell--3z8,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"AccordionRow__accordionBodyCell\"]{\r\n  border: 0 !important;\r\n  background: transparent !important;\r\n  box-shadow: none !important;\r\n  padding: 0 !important;\r\n  min-height: 0 !important;\r\n}\r\n\r\n/* padding lateral do bloco de detalhe */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__accordionBodyCell--31k,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__accordionBodyCell\"]{\r\n  padding: 0 12px !important;\r\n}\r\n\r\n/* linha label + value */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__detailRow--3aK,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__detailRow\"]{\r\n  display:grid !important;\r\n  grid-template-columns: 1fr auto !important;\r\n  align-items:center !important;\r\n  gap: 10px !important;\r\n\r\n  background: transparent !important;\r\n\r\n  padding: 7px 2px !important;\r\n  border-bottom: 1px solid rgba(255,255,255,.05) !important;\r\n}\r\n\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__accordionBodyCell--31k:last-child .GameHistory__detailRow--3aK,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__accordionBodyCell\"]:last-child [class*=\"GameHistory__detailRow\"]{\r\n  border-bottom: 0 !important;\r\n}\r\n\r\n/* labels */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__cellName--2e7,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__cellName\"]{\r\n  color: rgba(255,255,255,.72) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 12.5px !important;\r\n  line-height: 1.15 !important;\r\n}\r\n\r\n/* values */\r\nbody.pt-casino-history .portlet__content_type_game-history .GameHistory__cellValue--13A,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"GameHistory__cellValue\"]{\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 12.5px !important;\r\n  line-height: 1.15 !important;\r\n  text-align:right !important;\r\n  text-decoration:none !important;\r\n}\r\n\r\n/* botão Abrir: discreto */\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  [class*=\"GameHistory__cellValue\"] button{\r\n  height: 32px !important;\r\n  padding: 0 12px !important;\r\n\r\n  border-radius: 999px !important;\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  background: rgba(255,255,255,.04) !important;\r\n\r\n  color: rgba(255,255,255,.90) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 12.5px !important;\r\n\r\n  box-shadow: none !important;\r\n  text-transform: none !important;\r\n\r\n  transition: transform .12s ease, border-color .15s ease, background .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"GameHistory__cellValue\"] button:hover{\r\n    background: rgba(255,255,255,.06) !important;\r\n    border-color: rgba(131,222,26,.35) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  [class*=\"GameHistory__cellValue\"] button:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .96 !important;\r\n}\r\n\r\n/* mobile: detalhe em coluna (label em cima, value em baixo) + densidade tight */\r\n@media (max-width: 640px){\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .GameHistory__detailRow--3aK,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"GameHistory__detailRow\"]{\r\n    grid-template-columns: 1fr !important;\r\n    align-items: start !important;\r\n    padding: 5px 2px !important;\r\n    row-gap: 3px !important;\r\n    border-bottom-color: rgba(255,255,255,.04) !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"GameHistory__cellName\"]{\r\n    font-size: 11.5px !important;\r\n    line-height: 1.1 !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"GameHistory__cellValue\"]{\r\n    text-align: left !important;\r\n    font-size: 12px !important;\r\n    line-height: 1.1 !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"GameHistory__cellValue\"] button{\r\n    height: 28px !important;\r\n    padding: 0 10px !important;\r\n    font-size: 11.5px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   5) PAGINAÇÃO (desktop base)\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history .Pagination__container--2iT,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Pagination__container\"]{\r\n  margin-top: 14px !important;\r\n  padding: 12px 12px !important;\r\n\r\n  border: 1px solid var(--border-soft) !important;\r\n  border-radius: var(--r-lg) !important;\r\n  background: rgba(255,255,255,.02) !important;\r\n\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap: 12px !important;\r\n  flex-wrap: wrap !important;\r\n}\r\n\r\n/* label \"Por página:\" (desktop ok) */\r\nbody.pt-casino-history .portlet__content_type_game-history .Pagination__itemsPerPageLabel--3Mu,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"itemsPerPageLabel\"]{\r\n  color: var(--muted) !important;\r\n  font-weight: 800 !important;\r\n  font-size: 12px !important;\r\n}\r\n\r\n/* select */\r\nbody.pt-casino-history .portlet__content_type_game-history .Pagination__itemsPerPage--2j4 select,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Pagination__itemsPerPage\"] select{\r\n  height: 36px !important;\r\n  border-radius: var(--r-pill) !important;\r\n  border: 1px solid var(--border) !important;\r\n  background: rgba(255,255,255,.04) !important;\r\n  color: var(--text) !important;\r\n  padding: 0 14px !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* links */\r\nbody.pt-casino-history .portlet__content_type_game-history .Pagination__link--3NO,\r\nbody.pt-casino-history .portlet__content_type_game-history [class*=\"Pagination__link\"]{\r\n  display:inline-flex !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n\r\n  min-width: 34px !important;\r\n  height: 34px !important;\r\n  padding: 0 10px !important;\r\n\r\n  border-radius: var(--r-pill) !important;\r\n  border: 1px solid rgba(255,255,255,.14) !important;\r\n  background: rgba(255,255,255,.02) !important;\r\n\r\n  color: rgba(255,255,255,.88) !important;\r\n  font-weight: 900 !important;\r\n\r\n  cursor: pointer !important;\r\n  transition: transform .12s ease, border-color .12s ease, background .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-casino-history .portlet__content_type_game-history [class*=\"Pagination__link\"]:hover{\r\n    background: rgba(255,255,255,.05) !important;\r\n    border-color: rgba(255,255,255,.20) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n\r\n/* página ativa (heurística: não clickable / sem tabindex) */\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  .Pagination__link--3NO:not(.Pagination__clickableLink--1nl),\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  [class*=\"Pagination__link\"]:not([class*=\"clickableLink\"]):not([tabindex]){\r\n  background: rgba(131,222,26,.14) !important;\r\n  border-color: rgba(131,222,26,.45) !important;\r\n  color: rgba(255,255,255,.95) !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.10) inset !important;\r\n}\r\n\r\n/* “‹” disabled consistente */\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  .Pagination__pageLinks--1M7 .Pagination__link--3NO:first-child:not(.Pagination__clickableLink--1nl),\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  [class*=\"Pagination__pageLinks\"] [class*=\"Pagination__link\"]:first-child:not([class*=\"clickableLink\"]){\r\n  background: transparent !important;\r\n  border: 1px solid rgba(255,255,255,.14) !important;\r\n  color: rgba(255,255,255,.85) !important;\r\n  opacity: .35 !important;\r\n  cursor: default !important;\r\n  pointer-events: none !important;\r\n  box-shadow: none !important;\r\n  transform: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   5.1) PAGINAÇÃO MOBILE (final)\r\n   - esconde \"Por página:\"\r\n   - topo: (select 5) + (range)\r\n   - baixo: ‹ 1 2 3 › numa linha (sem “cruz”)\r\n========================================================= */\r\n@media (max-width: 640px){\r\n\r\n  /* esconder label (fica só o select) */\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__itemsPerPageLabel--3Mu,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__itemsPerPageLabel\"]{\r\n    display:none !important;\r\n  }\r\n\r\n  /* container em grid (2 linhas) */\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__container--2iT,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__container\"]{\r\n    display:grid !important;\r\n    grid-template-columns: auto 1fr !important;\r\n    grid-template-areas:\r\n      \"perpage range\"\r\n      \"links  links\" !important;\r\n\r\n    align-items:center !important;\r\n    row-gap: 10px !important;\r\n    column-gap: 10px !important;\r\n\r\n    padding-top: 12px !important;\r\n    padding-bottom: 12px !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__itemsPerPage--2j4,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__itemsPerPage\"]{\r\n    grid-area: perpage !important;\r\n    width: auto !important;\r\n    justify-content: flex-start !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__currentRange--1PF,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__currentRange\"]{\r\n    grid-area: range !important;\r\n    justify-self: center !important;\r\n    text-align:center !important;\r\n    margin: 0 !important;\r\n    color: rgba(255,255,255,.86) !important;\r\n    font-weight: 900 !important;\r\n  }\r\n\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__pageLinks--1M7,\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__pageLinks\"]{\r\n    grid-area: links !important;\r\n\r\n    width: 100% !important;\r\n    justify-content: center !important;\r\n    justify-self: center !important;\r\n\r\n    flex-wrap: nowrap !important;\r\n    gap: 8px !important;\r\n    overflow: hidden !important;\r\n  }\r\n\r\n  /* mostrar apenas ‹ 1 2 3 › (evita 2ª linha) */\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    .Pagination__pageLinks--1M7 .Pagination__link--3NO:nth-child(n+5):not(:last-child),\r\n  body.pt-casino-history .portlet__content_type_game-history\r\n    [class*=\"Pagination__pageLinks\"] [class*=\"Pagination__link\"]:nth-child(n+5):not(:last-child){\r\n    display:none !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   6) FOCUS / A11Y\r\n========================================================= */\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  .AccessibilityElement__wrapper--3x7:focus-visible,\r\nbody.pt-casino-history .portlet__content_type_game-history\r\n  [class*=\"AccessibilityElement__wrapper\"]:focus-visible{\r\n  outline: 2px solid rgba(131,222,26,.45) !important;\r\n  outline-offset: 2px !important;\r\n  border-radius: var(--r-md) !important;\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD — CASINO GAME HISTORY (Playtech)\r\n   JS mínimo e defensivo:\r\n   - adiciona body class (scope)\r\n   - marca linhas abertas (.pt-row-open) com heurística visual\r\n   - MutationObserver para re-renders / paginação / filtros\r\n========================================================= */\r\n(function(){\r\n  var BODY_CLASS = 'pt-casino-history';\r\n  if (!document.body.classList.contains(BODY_CLASS)){\r\n    document.body.classList.add(BODY_CLASS);\r\n  }\r\n\r\n  function getRoot(){\r\n    return document.querySelector('.portlet__content_type_game-history');\r\n  }\r\n\r\n  function isOpenRow(row){\r\n    try{\r\n      var panel =\r\n        row.querySelector('[class*=\"AccordionRow__accordionBody\"]') ||\r\n        row.querySelector('[class*=\"AccordionRow__accordionContent\"]') ||\r\n        row.querySelector('[class*=\"AccordionRow__accordionDetails\"]') ||\r\n        row.querySelector('[class*=\"AccordionRow__accordionExpanded\"]');\r\n\r\n      if (!panel) return false;\r\n\r\n      var cs = window.getComputedStyle(panel);\r\n      if (cs.display === 'none' || cs.visibility === 'hidden') return false;\r\n      if (panel.offsetHeight <= 0) return false;\r\n\r\n      return true;\r\n    }catch(e){\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function refreshOpenStates(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    var rows = root.querySelectorAll('[class*=\"AccordionRow__accordionContainer\"]');\r\n    for (var i=0; i<rows.length; i++){\r\n      var row = rows[i];\r\n      row.classList.remove('pt-row-open');\r\n      if (isOpenRow(row)) row.classList.add('pt-row-open');\r\n    }\r\n  }\r\n\r\n  function wireClicks(){\r\n    var root = getRoot();\r\n    if (!root || root.dataset.ptRowWired === '1') return;\r\n    root.dataset.ptRowWired = '1';\r\n\r\n    root.addEventListener('click', function(e){\r\n      var row = e.target && e.target.closest ? e.target.closest('[class*=\"AccordionRow__accordionContainer\"]') : null;\r\n      if (!row) return;\r\n      setTimeout(refreshOpenStates, 60);\r\n    }, true);\r\n  }\r\n\r\n  // init\r\n  wireClicks();\r\n  refreshOpenStates();\r\n\r\n  // observer (re-render safe)\r\n  var mo;\r\n  function startObserver(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    if (mo) { try{ mo.disconnect(); }catch(e){} }\r\n\r\n    mo = new MutationObserver(function(){\r\n      clearTimeout(startObserver._t);\r\n      startObserver._t = setTimeout(function(){\r\n        wireClicks();\r\n        refreshOpenStates();\r\n      }, 80);\r\n    });\r\n\r\n    mo.observe(root, { childList:true, subtree:true });\r\n  }\r\n  startObserver();\r\n\r\n  // fallback: portlet pode montar mais tarde\r\n  var tries = 0;\r\n  var iv = setInterval(function(){\r\n    tries++;\r\n    if (getRoot()){\r\n      clearInterval(iv);\r\n      wireClicks();\r\n      refreshOpenStates();\r\n      startObserver();\r\n    }\r\n    if (tries > 40) clearInterval(iv);\r\n  }, 250);\r\n})();\r\n\r\n/* =========================================================\r\n   Custom dropdown para <select name=\"period\"> (Casino History)\r\n   - Mantém o select no DOM\r\n   - UI Placard (pill + menu)\r\n   - PATCH: SPA-safe (não depende de reload)\r\n========================================================= */\r\n(function(){\r\n  function getRoot(){\r\n    return document.querySelector('.portlet__content_type_game-history');\r\n  }\r\n\r\n  function closeAll(){\r\n    document.querySelectorAll('body.pt-casino-history .portlet__content_type_game-history .pt-dd.is-open')\r\n      .forEach(function(dd){ dd.classList.remove('is-open'); });\r\n  }\r\n\r\n  function buildForSelect(sel){\r\n    if (!sel || sel.dataset.ptDdBuilt === '1') return;\r\n    sel.dataset.ptDdBuilt = '1';\r\n\r\n    var wrap = document.createElement('div');\r\n    wrap.className = 'pt-dd';\r\n\r\n    var btn = document.createElement('button');\r\n    btn.type = 'button';\r\n    btn.className = 'pt-dd__btn';\r\n    btn.setAttribute('aria-haspopup', 'listbox');\r\n    btn.setAttribute('aria-expanded', 'false');\r\n\r\n    var label = document.createElement('span');\r\n    label.className = 'pt-dd__label';\r\n\r\n    var chev = document.createElement('span');\r\n    chev.className = 'pt-dd__chev';\r\n\r\n    btn.appendChild(label);\r\n    btn.appendChild(chev);\r\n\r\n    var menu = document.createElement('div');\r\n    menu.className = 'pt-dd__menu';\r\n    menu.setAttribute('role','listbox');\r\n\r\n    function syncActive(){\r\n      var txt = (sel.options[sel.selectedIndex] && sel.options[sel.selectedIndex].text) || '';\r\n      label.textContent = txt;\r\n\r\n      menu.querySelectorAll('.pt-dd__item').forEach(function(it){\r\n        it.classList.toggle('is-active', it.dataset.value === sel.value);\r\n      });\r\n    }\r\n\r\n    function open(){\r\n      closeAll();\r\n      wrap.classList.add('is-open');\r\n      btn.setAttribute('aria-expanded','true');\r\n    }\r\n\r\n    function close(){\r\n      wrap.classList.remove('is-open');\r\n      btn.setAttribute('aria-expanded','false');\r\n    }\r\n\r\n    // construir items\r\n    Array.prototype.slice.call(sel.options).forEach(function(opt){\r\n      var it = document.createElement('button');\r\n      it.type = 'button';\r\n      it.className = 'pt-dd__item';\r\n      it.textContent = opt.text;\r\n      it.dataset.value = opt.value;\r\n\r\n      it.addEventListener('click', function(){\r\n        sel.value = opt.value;\r\n        sel.dispatchEvent(new Event('change', { bubbles: true }));\r\n        syncActive();\r\n        close();\r\n      });\r\n\r\n      menu.appendChild(it);\r\n    });\r\n\r\n    // mount: sel fica dentro do wrapper (invisível)\r\n    sel.parentNode.insertBefore(wrap, sel);\r\n    wrap.appendChild(sel);\r\n    wrap.appendChild(btn);\r\n    wrap.appendChild(menu);\r\n\r\n    // handlers\r\n    btn.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      if (wrap.classList.contains('is-open')) close();\r\n      else open();\r\n    });\r\n\r\n    document.addEventListener('click', function(e){\r\n      if (!wrap.contains(e.target)) close();\r\n    });\r\n\r\n    document.addEventListener('keydown', function(e){\r\n      if (e.key === 'Escape') close();\r\n    });\r\n\r\n    sel.addEventListener('change', syncActive);\r\n\r\n    syncActive();\r\n  }\r\n\r\n  function init(){\r\n    var root = getRoot();\r\n    if (!root) return;\r\n    var sel = root.querySelector('select[name=\"period\"]');\r\n    if (sel) buildForSelect(sel);\r\n  }\r\n\r\n  init();\r\n\r\n  /* =========================================================\r\n     PATCH: SPA-safe / mount tardio\r\n     - continua a tentar até existir select E estar built\r\n     - liga MutationObserver assim que o root existir (mesmo que monte tarde)\r\n     - reforço para BFCache (pageshow)\r\n  ========================================================= */\r\n  var tries = 0;\r\n  var mo = null;\r\n\r\n  function ensureObserver(){\r\n    if (mo) return;\r\n    var root = getRoot();\r\n    if (!root) return;\r\n\r\n    mo = new MutationObserver(function(){\r\n      init();\r\n    });\r\n    mo.observe(root, { childList:true, subtree:true });\r\n  }\r\n\r\n  var iv = setInterval(function(){\r\n    tries++;\r\n\r\n    ensureObserver();\r\n    init();\r\n\r\n    var root = getRoot();\r\n    var sel = root ? root.querySelector('select[name=\"period\"]') : null;\r\n    var built = !!(sel && sel.dataset && sel.dataset.ptDdBuilt === '1');\r\n\r\n    if (built){\r\n      clearInterval(iv);\r\n      return;\r\n    }\r\n\r\n    if (tries >= 80) clearInterval(iv); // ~20s hard stop\r\n  }, 250);\r\n\r\n  window.addEventListener('pageshow', function(){\r\n    ensureObserver();\r\n    init();\r\n  });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"43fda933-bb04-4709-95c6-8bac0876cc4e","tagTypeId":"custom_tag_type","name":"Personal_Details_ Placard_Theme","description":"Pending withdraw constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — DADOS PESSOAIS (CHANGE_DETAILS) — THEME V1.0\r\n     Objetivos:\r\n     - Scoping forte (body class + portlet type)\r\n     - Inputs em “pill” dark (readonly mais apagado)\r\n     - Labels discretas e consistentes\r\n     - Botão “Alterar” Placard green, largura confortável\r\n     - Sem mexer na estrutura/lógica do vendor\r\n========================================================= -->\r\n\r\n<style id=\"pt-change-details-theme\">\r\n/* =========================================================\r\n   0) SCOPE\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details{\r\n  --bg:#16171f;\r\n  --panel:#1c1d27;\r\n  --card:#20212b;\r\n\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.70);\r\n  --muted2:rgba(255,255,255,.55);\r\n\r\n  --green:#83DE1A;\r\n  --green-hover:#76cc18;\r\n  --green-ring: rgba(131,222,26,.22);\r\n\r\n  --border-soft: rgba(255,255,255,.10);\r\n  --border: rgba(255,255,255,.18);\r\n\r\n  --r-pill: 999px;\r\n  --r-md: 14px;\r\n\r\n  --field-h: 44px;\r\n  --field-pad-x: 14px;\r\n\r\n  color: var(--text);\r\n}\r\n\r\n/* =========================================================\r\n   1) CONTAINER / LAYOUT\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details{\r\n  background: transparent !important;\r\n}\r\n\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n  max-width: 520px;\r\n  margin: 0 auto;\r\n  padding: 10px 14px 22px;\r\n}\r\n\r\n/* remover “gaps” estranhos do vendor */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details fieldset{\r\n  border: 0 !important;\r\n  padding: 0 !important;\r\n  margin: 0 !important;\r\n  min-width: 0 !important;\r\n}\r\n\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__columns--10T,\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd{\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n}\r\n\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd{\r\n  display: flex !important;\r\n  flex-direction: column !important;\r\n  gap: 14px !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) LABELS\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Label__label--MzX{\r\n  display: block !important;\r\n  margin: 0 0 6px 6px !important;\r\n\r\n  font-size: 12px !important;\r\n  font-weight: 900 !important;\r\n  letter-spacing: .02em !important;\r\n\r\n  color: rgba(255,255,255,.70) !important;\r\n}\r\n\r\n/* readonly label um pouco mais apagada */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Label__readOnly--SDG{\r\n  color: rgba(255,255,255,.45) !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) CONTROL WRAPPER (a “capsula” do input)\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__control--2X-{\r\n  background: transparent !important;\r\n}\r\n\r\n/* wrapper do conteúdo do control */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__content--22a{\r\n  height: var(--field-h) !important;\r\n\r\n  border-radius: var(--r-pill) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  background: rgba(255,255,255,.03) !important;\r\n\r\n  display: flex !important;\r\n  align-items: center !important;\r\n\r\n  padding: 0 var(--field-pad-x) !important;\r\n\r\n  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;\r\n  box-shadow: 0 10px 26px rgba(0,0,0,.28) !important;\r\n}\r\n\r\n/* hover só em dispositivos com hover */\r\n@media (hover:hover){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .Control__control--2X-:hover .Control__content--22a{\r\n    border-color: rgba(255,255,255,.18) !important;\r\n    background: rgba(255,255,255,.04) !important;\r\n  }\r\n}\r\n\r\n/* foco: ring verde */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__content--22a:focus-within{\r\n  border-color: rgba(131,222,26,.65) !important;\r\n  box-shadow: 0 0 0 3px var(--green-ring), 0 10px 26px rgba(0,0,0,.28) !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) INPUT\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .components__input--6hP{\r\n  width: 100% !important;\r\n  height: calc(var(--field-h) - 2px) !important;\r\n\r\n  border: 0 !important;\r\n  outline: none !important;\r\n  background: transparent !important;\r\n\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n\r\n  padding: 0 !important;\r\n  margin: 0 !important;\r\n\r\n  -webkit-appearance: none;\r\n          appearance: none;\r\n}\r\n\r\n/* placeholders (se existirem) */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .components__input--6hP::placeholder{\r\n  color: rgba(255,255,255,.38) !important;\r\n}\r\n\r\n/* readonly (Nome/Apelido/Email): capsula + texto mais “apagados” */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__disabled--3Z_ .Control__content--22a{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border-color: rgba(255,255,255,.08) !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__disabled--3Z_ .components__input--6hP{\r\n  color: rgba(255,255,255,.55) !important;\r\n  font-weight: 800 !important;\r\n  cursor: default !important;\r\n}\r\n\r\n/* remove o “tabindex -1” visual estranho (sem mexer no atributo) */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Control__disabled--3Z_{\r\n  opacity: 1 !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) BOTÃO “ALTERAR”\r\n========================================================= */\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details .Controls__controlsContainer--2O6{\r\n  margin-top: 18px !important;\r\n  display: flex !important;\r\n  justify-content: center !important;\r\n}\r\n\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details\r\n.Button__btn--3yY.Button__primary--RFE.Button__success--27M{\r\n  height: 46px !important;\r\n  min-width: 240px !important;\r\n  padding: 0 26px !important;\r\n\r\n  border-radius: var(--r-pill) !important;\r\n  border: 0 !important;\r\n\r\n  background: var(--green) !important;\r\n  color: #0b0c10 !important;\r\n\r\n  font-weight: 1000 !important;\r\n  font-size: 14px !important;\r\n  letter-spacing: .01em !important;\r\n\r\n  box-shadow: 0 14px 34px rgba(0,0,0,.45) !important;\r\n  cursor: pointer !important;\r\n\r\n  transition: transform .12s ease, background .15s ease, opacity .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .Button__btn--3yY.Button__primary--RFE.Button__success--27M:hover{\r\n    background: var(--green-hover) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\nbody.pt-change-details .portlet__content_type_dynamic-change-details\r\n.Button__btn--3yY.Button__primary--RFE.Button__success--27M:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .95 !important;\r\n}\r\n\r\n/* =========================================================\r\n   6) MOBILE TUNING\r\n========================================================= */\r\n@media (max-width: 420px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    padding: 8px 10px 18px;\r\n  }\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .Button__btn--3yY.Button__primary--RFE.Button__success--27M{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n    max-width: 360px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   7) DESKTOP: 2 COLUNAS — TODOS OS CAMPOS = LARGURA DO EMAIL\r\n   - Email fica na coluna 1 (NÃO full width)\r\n========================================================= */\r\n@media (min-width: 900px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    max-width: 860px; /* ajusta se quiseres mais largo/mais compacto */\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd{\r\n    display: grid !important;\r\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;\r\n    gap: 16px 22px !important;\r\n    align-items: start !important;\r\n    justify-items: stretch !important; /* CRÍTICO: estica items */\r\n  }\r\n\r\n  /* CRÍTICO: cada \"campo\" ocupa 100% da célula */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd > div{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .Control__control--2X-,\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .Control__content--22a,\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .components__input--6hP{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  /* IMPORTANTE:\r\n     NÃO deixar o Email fazer span. Se tinhas a regra antiga, remove-a.\r\n     (não adiciono span nenhum aqui) */\r\n}\r\n\r\n/* (opcional) tablet/desktop pequeno: mantém 2 colunas mas um pouco mais estreito */\r\n@media (min-width: 900px) and (max-width: 1024px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    max-width: 760px;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   9) DESKTOP — CAMPOS MAIORES (LARGURA REAL + TEXTO MAIS LEGÍVEL)\r\n========================================================= */\r\n@media (min-width: 900px){\r\n  /* 1) mais largura total (isto é o que realmente “aumenta os campos”) */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    max-width: 980px !important;     /* era 860 */\r\n    padding-left: 18px !important;\r\n    padding-right: 18px !important;\r\n  }\r\n\r\n  /* 2) não exagerar no espaço entre colunas (senão encolhe os pills) */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd{\r\n    gap: 18px 18px !important;       /* row / col (col gap mais contido) */\r\n  }\r\n\r\n  /* 3) pills um pouco mais “premium” */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details{\r\n    --field-h: 48px;                 /* +altura = percepção de maior */\r\n    --field-pad-x: 16px;             /* +espaço interno */\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .Label__label--MzX{\r\n    margin-left: 10px !important;\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .components__input--6hP{\r\n    font-size: 15px !important;\r\n    letter-spacing: 0 !important;\r\n  }\r\n\r\n  /* evitar “cortes” agressivos no meio: mostrar reticências se necessário */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .components__input--6hP{\r\n    text-overflow: ellipsis;\r\n    overflow: hidden;\r\n    white-space: nowrap;\r\n  }\r\n}\r\n\r\n/* ultra-wide: ainda mais confortável (opcional) */\r\n@media (min-width: 1200px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    max-width: 1040px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   10) DESKTOP — BREAKOUT DE LARGURA (container pai está a limitar)\r\n   Objetivo: caixas maiores (mais largura real), mantendo centrado e seguro\r\n========================================================= */\r\n@media (min-width: 900px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details{\r\n    /* “sai” do max-width do layout pai */\r\n    position: relative !important;\r\n    left: 50% !important;\r\n    transform: translateX(-50%) !important;\r\n\r\n    /* largura real do bloco (ajusta o 1120px se quiseres) */\r\n    width: min(calc(100vw - 64px), 1120px) !important;\r\n    max-width: none !important;\r\n\r\n    /* garante que nada corta visualmente */\r\n    overflow: visible !important;\r\n  }\r\n\r\n  /* o form passa a ocupar a largura toda do breakout */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__form--1hv{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    margin: 0 !important;\r\n    padding-left: 0 !important;\r\n    padding-right: 0 !important;\r\n  }\r\n\r\n  /* e a grid usa essa largura */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details .ChangeForm__column--1kd{\r\n    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;\r\n    gap: 18px 22px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   FIX: pills não estão a esticar (vendor max-width / min-content)\r\n   Objetivo: cada caixa = 100% da célula (sem limites escondidos)\r\n========================================================= */\r\n@media (min-width: 900px){\r\n  /* 1) libertar wrappers internos do vendor */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__columns--10T{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  /* 2) garantir que cada campo estica na grid */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd > div{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-width: 0 !important;\r\n    justify-self: stretch !important;\r\n  }\r\n\r\n  /* 3) aqui costuma estar o “culpado”: o Control com max-width */\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .Control__control--2X-{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-width: 0 !important;\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .Control__content--22a{\r\n    width: 100% !important;\r\n    max-width: none !important;     /* <<< remove “teto” */\r\n    min-width: 0 !important;\r\n    flex: 1 1 auto !important;      /* <<< força esticar */\r\n  }\r\n\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .components__input--6hP{\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-width: 0 !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   EXTRA: só usar 2 colunas quando há largura real.\r\n   Se o container for estreito, 2 colunas vai sempre parecer “curto”.\r\n========================================================= */\r\n@media (min-width: 1100px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr) !important;\r\n  }\r\n}\r\n@media (min-width: 900px) and (max-width: 1099px){\r\n  body.pt-change-details .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    grid-template-columns: 1fr !important; /* evita “pills curtos” */\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   BOTÃO \"ALTERAR\" — CTA SECUNDÁRIO (estilo Promo Page)\r\n========================================================= */\r\nbody.pt-change-details\r\n.portlet__content_type_dynamic-change-details\r\n.Button__btn--3yY.Button__primary--RFE.Button__success--27M{\r\n  height: 44px !important;\r\n  min-width: 220px !important;\r\n  padding: 0 26px !important;\r\n\r\n  border-radius: 999px !important;\r\n  border: 1px solid rgba(131,222,26,.35) !important;\r\n\r\n  background: rgba(131,222,26,.10) !important;\r\n  color: rgba(255,255,255,.96) !important;\r\n\r\n  font-weight: 900 !important;\r\n  font-size: 13px !important;\r\n  letter-spacing: .01em !important;\r\n\r\n  box-shadow: none !important;\r\n  cursor: pointer !important;\r\n\r\n  transition:\r\n    background .12s ease,\r\n    border-color .12s ease,\r\n    transform .12s ease,\r\n    opacity .12s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Button__btn--3yY.Button__primary--RFE.Button__success--27M:hover{\r\n    background: rgba(131,222,26,.14) !important;\r\n    border-color: rgba(131,222,26,.45) !important;\r\n    transform: translateY(-1px) !important;\r\n  }\r\n}\r\n\r\nbody.pt-change-details\r\n.portlet__content_type_dynamic-change-details\r\n.Button__btn--3yY.Button__primary--RFE.Button__success--27M:active{\r\n  transform: translateY(0) !important;\r\n  opacity: .96 !important;\r\n}\r\n\r\n/* Focus acessível */\r\nbody.pt-change-details\r\n.portlet__content_type_dynamic-change-details\r\n.Button__btn--3yY.Button__primary--RFE.Button__success--27M:focus-visible{\r\n  outline: 2px solid rgba(131,222,26,.55);\r\n  outline-offset: 2px;\r\n}\r\n\r\n/* =========================================================\r\n   MOBILE FIX — menos espaçamento + botão visível acima do bottom nav\r\n========================================================= */\r\n@media (max-width: 640px){\r\n\r\n  /* 1) reduzir “respiração” geral */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__form--1hv{\r\n    padding: 8px 12px 22px !important;\r\n    max-width: none !important;\r\n  }\r\n\r\n  /* 2) reduzir gap entre campos */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    gap: 10px !important; /* era 14/16+ */\r\n  }\r\n\r\n  /* 3) labels mais compactas */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Label__label--MzX{\r\n    margin: 0 0 4px 8px !important;\r\n    font-size: 12px !important;\r\n  }\r\n\r\n  /* 4) inputs ligeiramente mais baixos (compact) */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    --field-h: 42px;\r\n    --field-pad-x: 14px;\r\n  }\r\n\r\n  /* 5) garantir espaço para a bottom nav (importantíssimo) */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;\r\n  }\r\n\r\n  /* 6) container do botão: cola no fundo mas acima da nav */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6{\r\n    position: sticky !important;\r\n    bottom: calc(72px + env(safe-area-inset-bottom)) !important;\r\n\r\n    margin-top: 12px !important;\r\n    padding: 10px 12px 0 !important;\r\n\r\n    background: linear-gradient(\r\n      to top,\r\n      rgba(22,23,31,.92),\r\n      rgba(22,23,31,.55),\r\n      rgba(22,23,31,0)\r\n    ) !important;\r\n\r\n    z-index: 20 !important;\r\n  }\r\n\r\n  /* botão full-width no mobile (mais fácil de usar) */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6\r\n  .Button__btn--3yY{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   MOBILE COMPACT+ (ainda menos espaço, sem perder UX)\r\n========================================================= */\r\n@media (max-width: 640px){\r\n  /* menos padding geral */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__form--1hv{\r\n    padding: 6px 10px 18px !important;\r\n  }\r\n\r\n  /* menos gap entre campos */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    gap: 8px !important;\r\n  }\r\n\r\n  /* labels mais “apertadas” */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Label__label--MzX{\r\n    margin: 0 0 3px 8px !important;\r\n    font-size: 11.5px !important;\r\n  }\r\n\r\n  /* pills mais baixos */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    --field-h: 38px;\r\n    --field-pad-x: 12px;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .components__input--6hP{\r\n    font-size: 14px !important;\r\n  }\r\n\r\n  /* sticky do botão mais fino */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6{\r\n    padding: 8px 10px 0 !important;\r\n    margin-top: 10px !important;\r\n\r\n    /* gradiente mais curto para não “roubar” conteúdo */\r\n    background: linear-gradient(\r\n      to top,\r\n      rgba(22,23,31,.90),\r\n      rgba(22,23,31,.35),\r\n      rgba(22,23,31,0)\r\n    ) !important;\r\n  }\r\n\r\n  /* botão ligeiramente mais baixo */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6\r\n  .Button__btn--3yY{\r\n    height: 40px !important;\r\n  }\r\n}\r\n\r\n/* extra compact para ecrãs muito pequenos */\r\n@media (max-width: 380px){\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    --field-h: 36px;\r\n  }\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    gap: 7px !important;\r\n  }\r\n}\r\n\r\n/* =========================================================\r\n   MOBILE ULTRA COMPACT (1 click acima)\r\n========================================================= */\r\n@media (max-width: 640px){\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__form--1hv{\r\n    padding: 6px 10px 14px !important;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .ChangeForm__column--1kd{\r\n    gap: 6px !important;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Label__label--MzX{\r\n    margin: 0 0 2px 8px !important;\r\n    font-size: 11px !important;\r\n    letter-spacing: .01em !important;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    --field-h: 34px;\r\n    --field-pad-x: 12px;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .components__input--6hP{\r\n    height: 32px !important;\r\n    font-size: 13.5px !important;\r\n  }\r\n\r\n  /* botão sticky mais “fino” e mais colado à bottom nav */\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details{\r\n    padding-bottom: calc(66px + env(safe-area-inset-bottom)) !important;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6{\r\n    bottom: calc(62px + env(safe-area-inset-bottom)) !important;\r\n    padding: 6px 10px 0 !important;\r\n    margin-top: 8px !important;\r\n\r\n    background: linear-gradient(\r\n      to top,\r\n      rgba(22,23,31,.88),\r\n      rgba(22,23,31,.22),\r\n      rgba(22,23,31,0)\r\n    ) !important;\r\n  }\r\n\r\n  body.pt-change-details\r\n  .portlet__content_type_dynamic-change-details\r\n  .Controls__controlsContainer--2O6\r\n  .Button__btn--3yY{\r\n    height: 38px !important;\r\n  }\r\n}\r\n\r\n\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD.PT — CHANGE_DETAILS — scope class injector (safe)\r\n========================================================= */\r\n(function(){\r\n  var BODY_CLASS = 'pt-change-details';\r\n\r\n  function hasPortlet(){\r\n    return !!document.querySelector('.portlet__content_type_dynamic-change-details');\r\n  }\r\n\r\n  function apply(){\r\n    if (!hasPortlet()) return;\r\n    if (!document.body.classList.contains(BODY_CLASS)) {\r\n      document.body.classList.add(BODY_CLASS);\r\n    }\r\n  }\r\n\r\n  apply();\r\n\r\n  // SPA / render tardio: observar DOM, barato e seguro\r\n  var obs = new MutationObserver(function(){\r\n    apply();\r\n  });\r\n\r\n  obs.observe(document.documentElement, { childList:true, subtree:true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"bbdd5e4d-d8f8-4cc4-81b4-73554aa5d19e","tagTypeId":"custom_tag_type","name":"Pending_withdraw_Placard_Theme","description":"Pending withdraw constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — LEVANTAMENTOS PENDENTES\r\n     FINAL BASELINE (CSS-ONLY / SAFE)\r\n========================================================= -->\r\n\r\n<style id=\"pt-pending-withdraw-final\">\r\n/* -------------------- TOKENS LOCAIS -------------------- */\r\n.pending-withdraw-total,\r\n.pending-withdraw.fn-pending-withdraw-list{\r\n  --panel:#1c1d27;\r\n  --text:rgba(255,255,255,.92);\r\n  --muted:rgba(255,255,255,.70);\r\n  --muted2:rgba(255,255,255,.55);\r\n  --green:#83DE1A;\r\n  --bsoft:rgba(255,255,255,.10);\r\n  --shadow:0 10px 26px rgba(0,0,0,.45);\r\n  --r-lg:16px;\r\n}\r\n\r\n/* -------------------- TOP TOTAL -------------------- */\r\np.pending-withdraw-total.pending-withdraw-total{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap:12px !important;\r\n\r\n  background: rgba(255,255,255,.02) !important;\r\n  border: 1px solid var(--bsoft) !important;\r\n  border-radius: var(--r-lg) !important;\r\n  padding: 14px 16px !important;\r\n  margin: 0 0 12px 0 !important;\r\n  box-shadow: var(--shadow) !important;\r\n}\r\n\r\np.pending-withdraw-total > .col-md-8,\r\np.pending-withdraw-total > .col-md-4{\r\n  float:none !important;\r\n  width:auto !important;\r\n  max-width:none !important;\r\n  padding:0 !important;\r\n  margin:0 !important;\r\n}\r\n\r\n.pending-withdraw-total__label{\r\n  color: var(--muted) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 12px !important;\r\n  letter-spacing: .08em !important;\r\n  text-transform: uppercase !important;\r\n}\r\n\r\n.pending-withdraw-total__value{\r\n  color: var(--green) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 14px !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* -------------------- LIST RESET -------------------- */\r\nul.pending-withdraw.fn-pending-withdraw-list{\r\n  list-style:none !important;\r\n  padding:0 !important;\r\n  margin:0 !important;\r\n}\r\n\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__row::before,\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__row::after,\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__header::before,\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__header::after,\r\n.pending-withdraw.fn-pending-withdraw-list .info-list_type_sub::before,\r\n.pending-withdraw.fn-pending-withdraw-list .info-list_type_sub::after{\r\n  content: none !important;\r\n}\r\n\r\n/* -------------------- SEM MOLDURAS BRANCAS -------------------- */\r\n.pending-withdraw.fn-pending-withdraw-list,\r\n.pending-withdraw.fn-pending-withdraw-list .row{\r\n  background: transparent !important;\r\n}\r\n.pending-withdraw.fn-pending-withdraw-list .row{\r\n  margin-left: 0 !important;\r\n  margin-right: 0 !important;\r\n}\r\n\r\n/* UL interno */\r\n.pending-withdraw.fn-pending-withdraw-list\r\n  > li.info-list__row_type_collapse\r\n  > ul.fn-accordion-body.info-list_type_sub{\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  border-radius: 0 !important;\r\n  box-shadow: none !important;\r\n  outline: 0 !important;\r\n}\r\n\r\n/* -------------------- CARD (LI) -------------------- */\r\n.pending-withdraw.fn-pending-withdraw-list\r\n  > li.info-list__row_type_collapse{\r\n  margin: 10px 0 !important;\r\n\r\n  background: var(--panel) !important;\r\n  border: 1px solid var(--bsoft) !important;\r\n  border-radius: var(--r-lg) !important;\r\n  overflow: hidden !important;\r\n  background-clip: padding-box !important;\r\n\r\n  padding: 0 !important;\r\n  box-shadow: var(--shadow) !important;\r\n}\r\n\r\n/* Header do card (não-interativo) */\r\n.pending-withdraw.fn-pending-withdraw-list\r\n  > li.info-list__row_type_collapse\r\n  > a.info-list__header{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap:12px !important;\r\n\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  padding: 14px 16px !important;\r\n  margin: 0 !important;\r\n\r\n  text-decoration:none !important;\r\n  cursor: default !important;\r\n}\r\n\r\n.pending-withdraw.fn-pending-withdraw-list\r\n  > li.info-list__row_type_collapse\r\n  > a.info-list__header:hover{\r\n  background: transparent !important;\r\n  transform: none !important;\r\n}\r\n\r\n/* Data/Valor */\r\n.pending-withdraw.fn-pending-withdraw-list a.info-list__header .info-list__field{\r\n  float:none !important;\r\n  width:auto !important;\r\n  padding:0 !important;\r\n  margin:0 !important;\r\n}\r\n.pending-withdraw.fn-pending-withdraw-list a.info-list__header .info-list__field.col-md-6:first-child{\r\n  flex: 1 1 auto !important;\r\n  min-width: 0 !important;\r\n  color: var(--text) !important;\r\n  font-weight: 950 !important;\r\n  font-size: 13px !important;\r\n}\r\n.pending-withdraw.fn-pending-withdraw-list a.info-list__header .info-list__field_type_value{\r\n  flex: 0 0 auto !important;\r\n  text-align:right !important;\r\n  color: var(--green) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 13px !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* -------------------- SEMPRE ABERTO -------------------- */\r\n.pending-withdraw.fn-pending-withdraw-list ul.fn-accordion-body,\r\n.pending-withdraw.fn-pending-withdraw-list ul.fn-accordion-body.info-list_state_collapsed{\r\n  display: block !important;\r\n  height: auto !important;\r\n  max-height: none !important;\r\n  overflow: visible !important;\r\n\r\n  background: transparent !important;\r\n  border-top: 1px solid rgba(255,255,255,.08) !important;\r\n  padding: 14px 16px 16px !important;\r\n  margin: 0 !important;\r\n}\r\n\r\n/* Remover hover interno */\r\n.pending-withdraw.fn-pending-withdraw-list .fn-accordion-body > li.info-list__row:hover{\r\n  background: transparent !important;\r\n}\r\n\r\n/* Remover \"Conta\" (1ª row do body) */\r\n.pending-withdraw.fn-pending-withdraw-list\r\n  > li.info-list__row_type_collapse\r\n  > .fn-accordion-body\r\n  > li.info-list__row:first-child{\r\n  display: none !important;\r\n}\r\n\r\n/* Remover ícones */\r\n.pending-withdraw.fn-pending-withdraw-list .micon_text{\r\n  display: none !important;\r\n}\r\n\r\n/* Rows key/value */\r\n.pending-withdraw.fn-pending-withdraw-list .fn-accordion-body > li.info-list__row{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:space-between !important;\r\n  gap:12px !important;\r\n\r\n  padding: 12px 10px !important;\r\n  margin: 0 !important;\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n  border-radius: 12px !important;\r\n}\r\n\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__field_type_key{\r\n  color: var(--muted2) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 12px !important;\r\n  letter-spacing: .06em !important;\r\n  text-transform: uppercase !important;\r\n  padding:0 !important;\r\n}\r\n\r\n.pending-withdraw.fn-pending-withdraw-list .info-list__field_type_value{\r\n  color: var(--text) !important;\r\n  font-weight: 850 !important;\r\n  font-size: 13px !important;\r\n  text-align:right !important;\r\n  padding:0 !important;\r\n}\r\n\r\n/* -------------------- CTA PRIMÁRIO -------------------- */\r\n.pending-withdraw.fn-pending-withdraw-list .form__actions{\r\n  padding: 8px 0 0 !important;\r\n}\r\n.pending-withdraw.fn-pending-withdraw-list .btn.btn_type_success{\r\n  width: 100% !important;\r\n  height: 46px !important;\r\n  border-radius: 14px !important;\r\n\r\n  background: var(--green) !important;\r\n  border: 1px solid rgba(131,222,26,.55) !important;\r\n  color: #0f1117 !important;\r\n\r\n  font-weight: 1000 !important;\r\n  font-size: 13px !important;\r\n\r\n  box-shadow: 0 10px 24px rgba(131,222,26,.12) !important;\r\n}\r\n\r\n/* -------------------- MOBILE -------------------- */\r\n@media (max-width: 640px){\r\n  p.pending-withdraw-total.pending-withdraw-total{ padding: 12px 12px !important; }\r\n  .pending-withdraw.fn-pending-withdraw-list a.info-list__header{ padding: 12px 12px !important; }\r\n  .pending-withdraw.fn-pending-withdraw-list ul.fn-accordion-body{ padding: 12px 12px 14px !important; }\r\n}\r\n</style>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"9fe4dafc-e6a0-4701-bb24-be7b381d70a6","tagTypeId":"custom_tag_type","name":"COMM_Inbox_Placard_Theme","description":"Inbox notification constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — INBOX (mws-inbox / Playtech React Inbox)\r\n     Theme + UX fixes (consolidado)\r\n\r\n     Inclui:\r\n     - Look & feel Placard (dark + green)\r\n     - Lista: dot só UNREAD, assunto 2 linhas, sem preview\r\n     - Popup: desktop canto inferior direito | mobile full-height com margens\r\n     - Remover tabs/footer/composer\r\n     - Delete: modal Placard + bypass do confirm nativo apenas no delete\r\n     - Detalhe: legibilidade (“De” / “Assunto” / corpo) + back alinhado e chip igual ao X\r\n     - Scrollbar: discreta e consistente (lista + detalhe)\r\n     - Empty state: sem ícone (apenas texto legível)\r\n========================================================= -->\r\n\r\n<style type=\"text/css\">\r\n/* =========================================================\r\n   TOKENS (locais deste componente)\r\n========================================================= */\r\n#inboxContainer{\r\n  --placard-bg:#16171f;\r\n  --panel:#1c1d27;\r\n\r\n  --text:#ffffff;\r\n  --title:#f4f6ff;\r\n  --muted:#c4c4c4;\r\n  --muted-2:#9aa0ad;\r\n\r\n  --green:#83DE1A;\r\n  --red:#E81F17;\r\n\r\n  --radius-lg:16px;\r\n  --radius-md:14px;\r\n  --radius-chip:10px;\r\n\r\n  --border-soft:rgba(255,255,255,.10);\r\n  --border-chip:rgba(255,255,255,.16);\r\n  --chip-bg:rgba(255,255,255,.06);\r\n  --chip-bg-hover:rgba(255,255,255,.10);\r\n  --chip-border-hover:rgba(255,255,255,.22);\r\n\r\n  --shadow-window:0 18px 60px rgba(0,0,0,.65);\r\n\r\n  /* legibilidade detalhe */\r\n  --placard-text: rgba(255,255,255,.92);\r\n  --placard-muted: rgba(255,255,255,.78);\r\n}\r\n\r\n/* =========================================================\r\n   WINDOW / LAYOUT\r\n========================================================= */\r\n#inboxContainer .mws-inbox-window,\r\n#inboxContainer .app-react-components-Inbox-common-Layout-index__window,\r\n#inboxContainer .app-react-components-Inbox-layouts-Layout-index__window{\r\n  background: var(--panel) !important;\r\n  color: var(--text) !important;\r\n  border-radius: var(--radius-lg) !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n  box-shadow: var(--shadow-window) !important;\r\n  overflow: hidden !important;\r\n\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  min-height:0 !important;\r\n}\r\n\r\n#inboxContainer .mws-inbox-header,\r\n#inboxContainer .app-react-components-Inbox-common-Header-index__header,\r\n#inboxContainer .app-react-components-Inbox-layouts-Layout-index__header{\r\n  background: linear-gradient(180deg, rgba(22,23,31,.98) 0%, rgba(28,29,39,.92) 100%) !important;\r\n  border-bottom: 1px solid rgba(255,255,255,.08) !important;\r\n  flex: 0 0 auto !important;\r\n}\r\n\r\n#inboxContainer .mws-inbox-header__title,\r\n#inboxContainer .app-react-components-Inbox-common-Header-index__title,\r\n#inboxContainer .app-react-components-Inbox-layouts-Layout-index__title{\r\n  color: var(--text) !important;\r\n  font-weight: 1000 !important;\r\n  letter-spacing: -.2px !important;\r\n}\r\n\r\n/* alinhamento dos controlos do header */\r\n#inboxContainer .app-react-components-Inbox-common-Header-index__controls,\r\n#inboxContainer .app-react-components-Inbox-common-Header-index__left,\r\n#inboxContainer .app-react-components-Inbox-common-Header-index__right{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n}\r\n\r\n/* remove offset herdado do vendor */\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__header{\r\n  margin-top: 0 !important;\r\n}\r\n\r\n/* remover tabs / footer / composer (sem gaps) */\r\n#inboxContainer [role=\"tablist\"],\r\n#inboxContainer .mws-inbox-tabs,\r\n#inboxContainer [class*=\"Tabs-index__container\"],\r\n#inboxContainer [class*=\"Tabs-index__tabs\"],\r\n#inboxContainer [class*=\"Inbox-layouts-Tabs\"],\r\n#inboxContainer [class*=\"Inbox-common-Tabs\"],\r\n#inboxContainer .mws-inbox-footer,\r\n#inboxContainer .app-react-components-Inbox-common-Footer-index__footer,\r\n#inboxContainer .app-react-components-Inbox-layouts-Layout-index__footer,\r\n#inboxContainer [class*=\"Layout-index__footer\"],\r\n#inboxContainer [class*=\"Inbox-layouts-Footer\"],\r\n#inboxContainer [class*=\"Inbox-common-Footer\"]{\r\n  display:none !important;\r\n  height:0 !important;\r\n  min-height:0 !important;\r\n  max-height:0 !important;\r\n  padding:0 !important;\r\n  margin:0 !important;\r\n  border:0 !important;\r\n  overflow:hidden !important;\r\n}\r\n\r\n/* content ocupa o resto */\r\n#inboxContainer .app-react-components-Inbox-common-Content-index__content,\r\n#inboxContainer .app-react-components-Inbox-layouts-Layout-index__content,\r\n#inboxContainer .app-react-components-Inbox-common-Layout-index__content,\r\n#inboxContainer [class*=\"Content-index__content\"],\r\n#inboxContainer [class*=\"Layout-index__content\"]{\r\n  flex: 1 1 auto !important;\r\n  min-height: 0 !important;\r\n  height: auto !important;\r\n  padding-bottom: 0 !important;\r\n  margin-bottom: 0 !important;\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n}\r\n\r\n/* =========================================================\r\n   LISTA\r\n========================================================= */\r\n#inboxContainer ul,\r\n#inboxContainer li{\r\n  list-style:none !important;\r\n  margin:0 !important;\r\n  padding:0 !important;\r\n}\r\n\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages.mws-inbox-messages,\r\n#inboxContainer [class*=\"Inbox-layouts-MessagesList-index__messages\"]{\r\n  flex: 1 1 auto !important;\r\n  min-height:0 !important;\r\n  overflow:auto !important;\r\n\r\n  border:0 !important;\r\n  outline:0 !important;\r\n  box-shadow:none !important;\r\n  background:transparent !important;\r\n}\r\n\r\n/* card */\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__message,\r\n#inboxContainer [class*=\"Inbox-layouts-MessagesList-index__message\"]{\r\n  background: rgba(255,255,255,.02) !important;\r\n  border: 1px solid var(--border-soft) !important;\r\n  border-radius: var(--radius-md) !important;\r\n  box-shadow: 0 10px 26px rgba(0,0,0,.30) !important;\r\n\r\n  padding: 12px 14px !important;\r\n  margin: 10px 0 !important;\r\n\r\n  position: relative !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__message:hover{\r\n  border-color: rgba(255,255,255,.18) !important;\r\n  background: rgba(255,255,255,.03) !important;\r\n}\r\n\r\n/* assunto (2 linhas) */\r\n#inboxContainer p.app-react-components-Inbox-layouts-MessagesList-index__subject,\r\n#inboxContainer p[class*=\"Inbox-layouts-MessagesList-index__subject\"]{\r\n  color: var(--title) !important;\r\n  font-weight: 1000 !important;\r\n  font-size: 14px !important;\r\n  line-height: 1.18 !important;\r\n\r\n  padding-left: 18px !important; /* espaço para dot */\r\n\r\n  white-space: normal !important;\r\n  overflow: hidden !important;\r\n\r\n  display: -webkit-box !important;\r\n  -webkit-box-orient: vertical !important;\r\n  -webkit-line-clamp: 2 !important;\r\n}\r\n\r\n/* preview escondido */\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__body,\r\n#inboxContainer [class*=\"Inbox-layouts-MessagesList-index__body\"],\r\n#inboxContainer [class*=\"Inbox-layouts-MessagesList-index__preview\"]{\r\n  display:none !important;\r\n}\r\n\r\n/* data */\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__date,\r\n#inboxContainer [class*=\"MessagesList-index__date\"],\r\n#inboxContainer time{\r\n  color: var(--muted-2) !important;\r\n  font-size: 11px !important;\r\n  font-weight: 800 !important;\r\n  white-space: nowrap !important;\r\n}\r\n\r\n/* dot (só unread) */\r\n#inboxContainer .placard-dot{\r\n  position:absolute;\r\n  left: 14px;\r\n  top: 14px;\r\n  width: 8px;\r\n  height: 8px;\r\n  border-radius: 999px;\r\n  box-shadow: 0 0 0 2px rgba(0,0,0,.35);\r\n  pointer-events:none;\r\n}\r\n#inboxContainer .placard-dot.is-unread{ background: var(--green); }\r\n#inboxContainer .placard-dot.is-read{ display:none !important; }\r\n\r\n/* =========================================================\r\n   CLOSE (X) — chip Placard\r\n========================================================= */\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close{\r\n  background-image: none !important;\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n  border-radius: var(--radius-chip) !important;\r\n  border: 1px solid var(--border-chip) !important;\r\n  background: var(--chip-bg) !important;\r\n  position: relative !important;\r\n  display: inline-block !important;\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close::before,\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close::after{\r\n  content: \"\" !important;\r\n  position: absolute !important;\r\n  top: 50% !important;\r\n  left: 50% !important;\r\n  width: 14px !important;\r\n  height: 2px !important;\r\n  background: rgba(255,255,255,.92) !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close::before{\r\n  transform: translate(-50%,-50%) rotate(45deg) !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close::after{\r\n  transform: translate(-50%,-50%) rotate(-45deg) !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close:hover{\r\n  background: var(--chip-bg-hover) !important;\r\n  border-color: var(--chip-border-hover) !important;\r\n  transform: translateY(-1px) !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close:active{\r\n  transform: translateY(0) !important;\r\n}\r\n\r\n/* =========================================================\r\n   BACK — chip igual ao X + chevron verde (sem assets)\r\n========================================================= */\r\n#inboxContainer\r\nspan.app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__back{\r\n  background-image: none !important;\r\n\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n  border-radius: var(--radius-chip) !important;\r\n  border: 1px solid var(--border-chip) !important;\r\n  background: var(--chip-bg) !important;\r\n\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  cursor: pointer !important;\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;\r\n}\r\n#inboxContainer\r\nspan.app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__back:hover{\r\n  background: var(--chip-bg-hover) !important;\r\n  border-color: var(--chip-border-hover) !important;\r\n  transform: translateY(-1px) !important;\r\n}\r\n#inboxContainer\r\nspan.app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__back:active{\r\n  transform: translateY(0) !important;\r\n}\r\n#inboxContainer\r\nspan.app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__back::before{\r\n  content: \"\" !important;\r\n  width: 8px !important;\r\n  height: 8px !important;\r\n  border-left: 2px solid var(--green) !important;\r\n  border-bottom: 2px solid var(--green) !important;\r\n  transform: translateX(1px) rotate(45deg) !important;\r\n  display:block !important;\r\n}\r\n\r\n/* =========================================================\r\n   DETALHE — legibilidade\r\n========================================================= */\r\n/* labels: “De” / “Assunto” */\r\n#inboxContainer .mws-inbox-text__capture,\r\n#inboxContainer .mws-inbox-info__capture,\r\n#inboxContainer .app-react-components-Inbox-common-FormField-index__capture{\r\n  color: var(--placard-muted) !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* “De” (input disabled) */\r\n#inboxContainer .app-react-components-Inbox-common-FormField-index__text input:disabled,\r\n#inboxContainer .app-react-components-Inbox-common-FormField-index__text input[type=\"text\"]:disabled,\r\n#inboxContainer input.mws-inbox-text__field[disabled],\r\n#inboxContainer input.mws-inbox-text__field[readonly]{\r\n  color: var(--placard-text) !important;\r\n  -webkit-text-fill-color: var(--placard-text) !important;\r\n  opacity: 1 !important;\r\n}\r\n\r\n/* “Assunto” */\r\n#inboxContainer .mws-inbox-info__value,\r\n#inboxContainer .mws-inbox-info__value > p{\r\n  color: var(--placard-text) !important;\r\n  -webkit-text-fill-color: var(--placard-text) !important;\r\n  opacity: 1 !important;\r\n  filter: none !important;\r\n  mix-blend-mode: normal !important;\r\n}\r\n\r\n/* corpo */\r\n#inboxContainer .mws-inbox-message-details__body,\r\n#inboxContainer .mws-inbox-message-details__body p{\r\n  color: var(--placard-text) !important;\r\n}\r\n#inboxContainer .mws-inbox-message-details__body strong{\r\n  color:#fff !important;\r\n}\r\n\r\n/* =========================================================\r\n   SCROLLBAR — discreta (lista + detalhe)\r\n========================================================= */\r\n/* Firefox */\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessageDetails-index__body,\r\n#inboxContainer .mws-inbox-message-details__body{\r\n  scrollbar-width: thin;\r\n  scrollbar-color: rgba(255,255,255,.22) rgba(255,255,255,.06);\r\n}\r\n\r\n/* Webkit */\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages::-webkit-scrollbar,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessageDetails-index__body::-webkit-scrollbar,\r\n#inboxContainer .mws-inbox-message-details__body::-webkit-scrollbar{\r\n  width: 8px;\r\n}\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages::-webkit-scrollbar-track,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessageDetails-index__body::-webkit-scrollbar-track,\r\n#inboxContainer .mws-inbox-message-details__body::-webkit-scrollbar-track{\r\n  background: rgba(255,255,255,.06);\r\n  border-radius: 999px;\r\n}\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages::-webkit-scrollbar-thumb,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessageDetails-index__body::-webkit-scrollbar-thumb,\r\n#inboxContainer .mws-inbox-message-details__body::-webkit-scrollbar-thumb{\r\n  background: rgba(255,255,255,.18);\r\n  border-radius: 999px;\r\n  border: 2px solid transparent;\r\n  background-clip: padding-box;\r\n}\r\n#inboxContainer .app-react-components-Inbox-layouts-MessagesList-index__messages:hover::-webkit-scrollbar-thumb,\r\n#inboxContainer .app-react-components-Inbox-layouts-MessageDetails-index__body:hover::-webkit-scrollbar-thumb,\r\n#inboxContainer .mws-inbox-message-details__body:hover::-webkit-scrollbar-thumb{\r\n  background: rgba(255,255,255,.28);\r\n}\r\n\r\n/* =========================================================\r\n   ALERT — “Mensagem apagada”\r\n========================================================= */\r\nhtml body #inboxContainer .mws-inbox-alert-primary,\r\nhtml body #inboxContainer .app-react-components-Inbox-common-Alert-index__alert{\r\n  background: rgba(22, 23, 31, .92) !important;\r\n  color: rgba(131, 222, 26, .95) !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n  border-radius: 14px !important;\r\n\r\n  padding: 10px 14px !important;\r\n  margin: 10px 12px 12px !important;\r\n\r\n  box-shadow: 0 10px 28px rgba(0,0,0,.45) !important;\r\n}\r\nhtml body #inboxContainer .mws-inbox-alert-primary *,\r\nhtml body #inboxContainer .app-react-components-Inbox-common-Alert-index__alert *{\r\n  color: inherit !important;\r\n  background: transparent !important;\r\n}\r\nhtml body #inboxContainer .mws-inbox-alert-primary::before,\r\nhtml body #inboxContainer .app-react-components-Inbox-common-Alert-index__alert::before{\r\n  content: \"\" !important;\r\n  display: inline-block !important;\r\n  width: 8px !important;\r\n  height: 8px !important;\r\n  margin-right: 10px !important;\r\n  border-radius: 999px !important;\r\n  background: var(--green) !important;\r\n  box-shadow: 0 0 0 3px rgba(131,222,26,.12) !important;\r\n  vertical-align: middle !important;\r\n}\r\n\r\n/* =========================================================\r\n   EMPTY STATE — sem ícone, texto legível\r\n========================================================= */\r\n#inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty{\r\n  display:flex !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n  flex-direction: column !important;\r\n  min-height: 180px !important;\r\n}\r\n\r\n/* o vendor por vezes força color:#000 */\r\n#inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\np.app-react-components-Inbox-layouts-MessagesList-index__text,\r\n#inboxContainer p.mws-inbox-empty__text{\r\n  color: rgba(255,255,255,.82) !important;\r\n}\r\n\r\n/* =========================================================\r\n   CONFIRM MODAL (Placard)\r\n========================================================= */\r\n#inboxContainer .placard-inbox-confirm{\r\n  position: fixed;\r\n  inset: 0;\r\n  display: none;\r\n  align-items: center;\r\n  justify-content: center;\r\n  z-index: 1000000;\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(6px);\r\n  -webkit-backdrop-filter: blur(6px);\r\n}\r\n#inboxContainer .placard-inbox-confirm.is-open{ display:flex; }\r\n\r\n#inboxContainer .placard-inbox-confirm__card{\r\n  width: min(520px, calc(100vw - 32px));\r\n  border-radius: 16px;\r\n  background: #232432;\r\n  border: 1px solid rgba(255,255,255,.12);\r\n  box-shadow: 0 22px 80px rgba(0,0,0,.70);\r\n  padding: 18px 18px 16px;\r\n}\r\n#inboxContainer .placard-inbox-confirm__title{\r\n  margin: 0 0 6px 0;\r\n  color: #fff;\r\n  font-weight: 1000;\r\n  font-size: 18px;\r\n  letter-spacing: -.2px;\r\n}\r\n#inboxContainer .placard-inbox-confirm__text{\r\n  margin: 0 0 14px 0;\r\n  color: rgba(255,255,255,.75);\r\n  font-weight: 700;\r\n  font-size: 13px;\r\n}\r\n#inboxContainer .placard-inbox-confirm__actions{\r\n  display:flex;\r\n  justify-content:flex-end;\r\n  gap:10px;\r\n}\r\n#inboxContainer .placard-btn{\r\n  appearance:none;\r\n  border:0;\r\n  cursor:pointer;\r\n  font-weight:900;\r\n  font-size:14px;\r\n  padding:10px 16px;\r\n  border-radius:999px;\r\n  transition: transform .12s ease, background .12s ease, border-color .12s ease;\r\n}\r\n#inboxContainer .placard-btn:active{ transform: translateY(1px); }\r\n\r\n#inboxContainer .placard-btn--cancel{\r\n  background: rgba(255,255,255,.06);\r\n  border: 1px solid rgba(255,255,255,.16);\r\n  color: rgba(255,255,255,.92);\r\n}\r\n#inboxContainer .placard-btn--cancel:hover{\r\n  background: rgba(255,255,255,.10);\r\n  border-color: rgba(255,255,255,.22);\r\n}\r\n#inboxContainer .placard-btn--danger{\r\n  background: rgba(232,31,23,.14);\r\n  border: 1px solid rgba(232,31,23,.40);\r\n  color:#fff;\r\n}\r\n#inboxContainer .placard-btn--danger:hover{\r\n  background: rgba(232,31,23,.18);\r\n  border-color: rgba(232,31,23,.55);\r\n}\r\n\r\n/* =========================================================\r\n   EMPTY STATE — remover ícone vendor + texto Placard\r\n========================================================= */\r\n\r\n/* container do empty */\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty,\r\nhtml body #inboxContainer .mws-inbox-empty{\r\n  display:flex !important;\r\n  flex-direction:column !important;\r\n  align-items:center !important;\r\n  justify-content:center !important;\r\n  text-align:center !important;\r\n  padding: 28px 18px 34px !important;\r\n  min-height: 220px !important;\r\n}\r\n\r\n/* mata QUALQUER ícone/ilustração do empty (o teu é um span ...__icon) */\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n.app-react-components-Inbox-layouts-MessagesList-index__icon,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n[class*=\"MessagesList-index__icon\"],\r\nhtml body #inboxContainer .mws-inbox-empty__icon,\r\nhtml body #inboxContainer .mws-inbox-empty svg,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty svg{\r\n  display:none !important;\r\n  width:0 !important;\r\n  height:0 !important;\r\n  margin:0 !important;\r\n  padding:0 !important;\r\n  background:none !important;\r\n}\r\n\r\n/* previne pseudo-elements do vendor (às vezes desenham a ilustração via ::before) */\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n.app-react-components-Inbox-layouts-MessagesList-index__icon::before,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n.app-react-components-Inbox-layouts-MessagesList-index__icon::after,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n[class*=\"MessagesList-index__icon\"]::before,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n[class*=\"MessagesList-index__icon\"]::after{\r\n  content:none !important;\r\n  display:none !important;\r\n  background:none !important;\r\n}\r\n\r\n/* texto do empty — Placard (o vendor muitas vezes força #000 noutro seletor) */\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\np.app-react-components-Inbox-layouts-MessagesList-index__text,\r\nhtml body #inboxContainer\r\n.app-react-components-Inbox-layouts-MessagesList-index__empty\r\n.app-react-components-Inbox-layouts-MessagesList-index__text,\r\nhtml body #inboxContainer .mws-inbox-empty__text{\r\n  color: rgba(255,255,255,.82) !important;\r\n  font-weight: 900 !important;\r\n  font-size: 16px !important;\r\n  line-height: 1.35 !important;\r\n  margin: 0 !important;\r\n}\r\n\r\n\r\n/* =========================================================\r\n   PLACARD — INBOX iOS HARDENING PATCH (append only)\r\n   Objetivo: “colar” estilos que no Safari iOS por vezes não ganham\r\n   - Empty state: esconder ícone + melhorar contraste do texto\r\n   - Detalhe: reforçar legibilidade (labels/inputs disabled/body)\r\n   - Chips (back/close): garantir dimensões/centro em iOS\r\n========================================================= */\r\n\r\n/* ---------- 1) EMPTY STATE (lista vazia) ---------- */\r\n/* Alguns builds usam wrappers diferentes para o empty-state icon/text */\r\n#inboxContainer [class*=\"EmptyState\"],\r\n#inboxContainer [class*=\"emptyState\"],\r\n#inboxContainer [class*=\"NoMessages\"],\r\n#inboxContainer [class*=\"noMessages\"]{\r\n  color: rgba(255,255,255,.82) !important;\r\n}\r\n\r\n/* esconder qualquer icon/ilustração no empty state */\r\n#inboxContainer [class*=\"EmptyState\"] img,\r\n#inboxContainer [class*=\"emptyState\"] img,\r\n#inboxContainer [class*=\"EmptyState\"] svg,\r\n#inboxContainer [class*=\"emptyState\"] svg,\r\n#inboxContainer [class*=\"EmptyState\"] [class*=\"icon\"],\r\n#inboxContainer [class*=\"emptyState\"] [class*=\"icon\"]{\r\n  display: none !important;\r\n  visibility: hidden !important;\r\n  width: 0 !important;\r\n  height: 0 !important;\r\n  opacity: 0 !important;\r\n}\r\n\r\n/* garantir que o texto “Não existem mensagens.” fica legível */\r\n#inboxContainer [class*=\"EmptyState\"] p,\r\n#inboxContainer [class*=\"emptyState\"] p,\r\n#inboxContainer .mws-inbox-empty-state p{\r\n  color: rgba(255,255,255,.72) !important;\r\n  font-weight: 800 !important;\r\n}\r\n\r\n/* ---------- 2) DETALHE — inputs/labels no Safari iOS ---------- */\r\n/* Safari às vezes aplica estilos agressivos a disabled/readonly */\r\n#inboxContainer input[disabled],\r\n#inboxContainer input[readonly],\r\n#inboxContainer textarea[disabled],\r\n#inboxContainer textarea[readonly]{\r\n  opacity: 1 !important;\r\n  -webkit-text-fill-color: rgba(255,255,255,.92) !important;\r\n  color: rgba(255,255,255,.92) !important;\r\n}\r\n\r\n/* labels “De / Assunto” (captions) */\r\n#inboxContainer .mws-inbox-text__capture,\r\n#inboxContainer .mws-inbox-info__capture,\r\n#inboxContainer [class*=\"FormField-index__capture\"]{\r\n  color: rgba(255,255,255,.78) !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* “Assunto” e valores */\r\n#inboxContainer .mws-inbox-info__value,\r\n#inboxContainer .mws-inbox-info__value > p,\r\n#inboxContainer [class*=\"MessageDetails\"] [class*=\"subject\"],\r\n#inboxContainer [class*=\"MessageDetails\"] [class*=\"value\"]{\r\n  color: rgba(255,255,255,.92) !important;\r\n  -webkit-text-fill-color: rgba(255,255,255,.92) !important;\r\n  opacity: 1 !important;\r\n  filter: none !important;\r\n  mix-blend-mode: normal !important;\r\n}\r\n\r\n/* corpo da mensagem */\r\n#inboxContainer .mws-inbox-message-details__body,\r\n#inboxContainer .mws-inbox-message-details__body p,\r\n#inboxContainer [class*=\"MessageDetails-index__body\"],\r\n#inboxContainer [class*=\"MessageDetails-index__body\"] p{\r\n  color: rgba(255,255,255,.90) !important;\r\n}\r\n\r\n/* links no corpo */\r\n#inboxContainer .mws-inbox-message-details__body a,\r\n#inboxContainer [class*=\"MessageDetails-index__body\"] a{\r\n  color: #83DE1A !important;\r\n  text-decoration: underline !important;\r\n  text-underline-offset: 3px !important;\r\n}\r\n\r\n/* ---------- 3) HEADER CONTROLS (chips back/close) ---------- */\r\n/* iOS às vezes desalinha inline-block/line-height nos icons */\r\n#inboxContainer .app-react-components-Inbox-common-Icon-Icon__close,\r\n#inboxContainer span.app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__back{\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n  line-height: 1 !important;\r\n  -webkit-tap-highlight-color: transparent !important;\r\n}\r\n\r\n/* ---------- 4) BARRA “Mensagem apagada” (toast inline) ---------- */\r\n/* Na tua screenshot aparece uma barra verde clara. Se quiseres “Placard-safe”: */\r\n#inboxContainer [class*=\"deleted\"],\r\n#inboxContainer [class*=\"Deleted\"],\r\n#inboxContainer [class*=\"MessageDeleted\"],\r\n#inboxContainer [class*=\"messageDeleted\"]{\r\n  background: rgba(131,222,26,.14) !important;\r\n  border: 1px solid rgba(131,222,26,.28) !important;\r\n  color: rgba(255,255,255,.90) !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n\r\n/* =========================================================\r\n   PLACARD — Inbox Service Unavailable (FINAL POLISH)\r\n========================================================= */\r\n\r\n/* 1) Content holder ocupa o painel */\r\n#inboxContainer\r\n.app-react-components-Inbox-common-Content-index__content{\r\n  display: flex !important;\r\n  flex-direction: column !important;\r\n}\r\n\r\n/* 2) Bloco de indisponibilidade centrado no painel */\r\n#inboxContainer\r\n.app-react-components-Inbox-common-ServiceUnavailable-index__text,\r\n#inboxContainer .mws-inbox-unavailable__text{\r\n  margin: auto !important;            /* centro vertical + horizontal */\r\n\r\n  display: flex !important;\r\n  flex-direction: column !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  gap: 14px !important;\r\n  padding: 24px 16px !important;\r\n\r\n  text-align: center !important;\r\n  line-height: 1.25 !important;\r\n\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 800 !important;        /* ligeiramente mais leve */\r\n  font-size: 14px !important;\r\n}\r\n\r\n/* 3) Ícone — warning suave (sem alarmismo) */\r\n#inboxContainer\r\n.app-react-components-Inbox-common-ServiceUnavailable-index__icon,\r\n#inboxContainer .mws-inbox-unavailable__icon{\r\n  width: 72px !important;\r\n  height: 72px !important;\r\n\r\n  margin: 0 !important;\r\n  flex: 0 0 auto !important;\r\n\r\n  color: #f2b705 !important;\r\n  fill:  #f2b705 !important;\r\n\r\n  opacity: .95 !important;\r\n}\r\n\r\n/* fallback (pseudo-elements) */\r\n#inboxContainer\r\n.app-react-components-Inbox-common-ServiceUnavailable-index__icon::before,\r\n#inboxContainer .mws-inbox-unavailable__icon::before{\r\n  color: #f2b705 !important;\r\n  fill:  #f2b705 !important;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n</style>\r\n\r\n<script type=\"text/javascript\">\r\n(function(){\r\n  var state = {\r\n    tickHandle: null,\r\n    confirmBypassUntil: 0,\r\n    pendingDeleteEl: null,\r\n    nativeConfirm: window.confirm,\r\n    patchedConfirm: false\r\n  };\r\n\r\n  function getRoot(){ return document.getElementById('inboxContainer'); }\r\n  function qs(r, sel){ return r ? r.querySelector(sel) : null; }\r\n  function qsa(r, sel){ return r ? Array.prototype.slice.call(r.querySelectorAll(sel)) : []; }\r\n\r\n  function patchConfirmOn(win){\r\n    if (!win) return;\r\n    try{\r\n      // evita repatch infinito\r\n      if (win.__placardConfirmPatched) return;\r\n\r\n      var native = win.confirm;\r\n      win.__placardConfirmNative = native;\r\n\r\n      win.confirm = function(msg){\r\n        // bypass curto apenas quando nós disparamos o delete\r\n        if (Date.now() < state.confirmBypassUntil) return true;\r\n        return native.call(win, msg);\r\n      };\r\n\r\n      win.__placardConfirmPatched = true;\r\n    } catch(e){}\r\n  }\r\n\r\n  function patchConfirm(){\r\n    // patch no window atual\r\n    patchConfirmOn(window);\r\n\r\n    // patch também em iframes dentro do inboxContainer (onde o vendor pode estar a correr)\r\n    var r = getRoot();\r\n    if (!r) return;\r\n\r\n    qsa(r, 'iframe').forEach(function(ifr){\r\n      try{\r\n        if (ifr && ifr.contentWindow) patchConfirmOn(ifr.contentWindow);\r\n      } catch(e){}\r\n    });\r\n  }\r\n\r\n  function restoreConfirmOn(win){\r\n    if (!win) return;\r\n    try{\r\n      if (!win.__placardConfirmPatched) return;\r\n      if (win.__placardConfirmNative) win.confirm = win.__placardConfirmNative;\r\n      win.__placardConfirmPatched = false;\r\n    } catch(e){}\r\n  }\r\n\r\n  function restoreConfirm(){\r\n    // restaura no window atual\r\n    restoreConfirmOn(window);\r\n\r\n    // restaura também em iframes (boa higiene)\r\n    var r = getRoot();\r\n    if (!r) return;\r\n\r\n    qsa(r, 'iframe').forEach(function(ifr){\r\n      try{\r\n        if (ifr && ifr.contentWindow) restoreConfirmOn(ifr.contentWindow);\r\n      } catch(e){}\r\n    });\r\n  }\r\n\r\n  function withConfirmBypass(fn){\r\n    // dá mais folga (react handlers + microtasks)\r\n    state.confirmBypassUntil = Date.now() + 3000;\r\n    try{ fn(); } catch(e){}\r\n  }\r\n\r\n\r\n  function getWindowEl(r){\r\n    return r ? qs(r,\r\n      '.app-react-components-Inbox-common-Layout-index__window,' +\r\n      '.app-react-components-Inbox-layouts-Layout-index__window,' +\r\n      '.mws-inbox-window'\r\n    ) : null;\r\n  }\r\n\r\n  /* 1) Popup positioning */\r\n  function enforcePopup(){\r\n    var r = getRoot();\r\n    if (!r) return;\r\n\r\n    var win = getWindowEl(r);\r\n    if (!win) return;\r\n\r\n    var isMobile = window.matchMedia && window.matchMedia('(max-width: 768px)').matches;\r\n\r\n    win.style.setProperty('position','fixed','important');\r\n    win.style.setProperty('z-index','999999','important');\r\n    win.style.setProperty('transform','none','important');\r\n\r\n    win.style.setProperty('left','auto','important');\r\n    win.style.setProperty('right','auto','important');\r\n    win.style.setProperty('top','auto','important');\r\n    win.style.setProperty('bottom','auto','important');\r\n\r\n    if (isMobile){\r\n      win.style.setProperty('left','10px','important');\r\n      win.style.setProperty('right','10px','important');\r\n      win.style.setProperty('top','76px','important');\r\n      win.style.setProperty('bottom','10px','important');\r\n      win.style.setProperty('width','auto','important');\r\n      win.style.setProperty('max-width','none','important');\r\n      win.style.setProperty('min-width','0','important');\r\n    } else {\r\n      win.style.setProperty('right','18px','important');\r\n      win.style.setProperty('bottom','18px','important');\r\n      win.style.setProperty('width','440px','important');\r\n      win.style.setProperty('min-width','360px','important');\r\n      win.style.setProperty('max-width','calc(100vw - 36px)','important');\r\n    }\r\n  }\r\n\r\n  /* 2) Hide composer (“Nova mensagem”) se existir */\r\n  function hideComposer(){\r\n    var r = getRoot();\r\n    if (!r) return;\r\n\r\n    qsa(r, 'button, a').forEach(function(el){\r\n      var t = (el.textContent || '').trim().toLowerCase();\r\n      if (t === 'nova mensagem' || t.indexOf('nova mensagem') === 0){\r\n        var container = el.closest('[class],div,section,footer') || el.parentElement;\r\n        if (container){\r\n          container.style.setProperty('display','none','important');\r\n          container.style.setProperty('height','0','important');\r\n          container.style.setProperty('margin','0','important');\r\n          container.style.setProperty('padding','0','important');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  /* 3) Dots: 1 por row, só unread (suprime “nativos”) */\r\n  function isLikelyDot(el){\r\n    if (!el || el.nodeType !== 1) return false;\r\n    if (el.closest && el.closest('span[role=\"button\"],button,a')) return false;\r\n\r\n    var rect = el.getBoundingClientRect();\r\n    if (!rect || rect.width === 0 || rect.height === 0) return false;\r\n\r\n    if (rect.width <= 14 && rect.height <= 14){\r\n      var cs = window.getComputedStyle(el);\r\n      var br = parseFloat(cs.borderRadius || '0');\r\n      var bg = cs.backgroundColor || '';\r\n      var txt = (el.textContent || '').trim();\r\n\r\n      if (txt === '•' || txt === '·') return true;\r\n      if (br >= 6 && bg && bg !== 'rgba(0, 0, 0, 0)' && bg !== 'transparent') return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  function detectUnread(row){\r\n    var cn = (row.className || '').toLowerCase();\r\n    if (cn.indexOf('unread') !== -1) return true;\r\n    if (row.getAttribute && row.getAttribute('data-unread') === 'true') return true;\r\n    return false;\r\n  }\r\n\r\n  function cleanupNativeDots(row){\r\n    qsa(row, 'span,i,svg,div').forEach(function(el){\r\n      if (isLikelyDot(el)) el.style.setProperty('display','none','important');\r\n    });\r\n    row.style.setProperty('list-style','none','important');\r\n  }\r\n\r\n  function applyOneDotPerRow(){\r\n    var r = getRoot();\r\n    if (!r) return;\r\n\r\n    var rows = qsa(r,\r\n      '.app-react-components-Inbox-layouts-MessagesList-index__message,' +\r\n      '[class*=\"Inbox-layouts-MessagesList-index__message\"]'\r\n    );\r\n\r\n    rows.forEach(function(row){\r\n      var unread = detectUnread(row);\r\n      cleanupNativeDots(row);\r\n\r\n      var dot = qs(row, '.placard-dot');\r\n      if (!dot){\r\n        dot = document.createElement('span');\r\n        dot.className = 'placard-dot';\r\n        dot.setAttribute('aria-hidden','true');\r\n        row.appendChild(dot);\r\n      }\r\n      dot.classList.toggle('is-unread', !!unread);\r\n      dot.classList.toggle('is-read', !unread);\r\n    });\r\n  }\r\n\r\n  /* 4) Delete confirm: modal Placard + bypass do confirm nativo */\r\n  function ensureModal(){\r\n    var r = getRoot();\r\n    if (!r) return null;\r\n\r\n    var existing = qs(r, '.placard-inbox-confirm');\r\n    if (existing) return existing;\r\n\r\n    var modal = document.createElement('div');\r\n    modal.className = 'placard-inbox-confirm';\r\n    modal.innerHTML =\r\n      '<div class=\"placard-inbox-confirm__card\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Confirmação apagar mensagem\">' +\r\n        '<p class=\"placard-inbox-confirm__title\">Apagar mensagem?</p>' +\r\n        '<p class=\"placard-inbox-confirm__text\">Esta ação não pode ser anulada.</p>' +\r\n        '<div class=\"placard-inbox-confirm__actions\">' +\r\n          '<button type=\"button\" class=\"placard-btn placard-btn--cancel\">Cancelar</button>' +\r\n          '<button type=\"button\" class=\"placard-btn placard-btn--danger\">Apagar</button>' +\r\n        '</div>' +\r\n      '</div>';\r\n\r\n    r.appendChild(modal);\r\n\r\n    function close(){\r\n      modal.classList.remove('is-open');\r\n      state.pendingDeleteEl = null;\r\n    }\r\n\r\n    modal.addEventListener('click', function(e){ if (e.target === modal) close(); });\r\n    qs(modal, '.placard-btn--cancel').addEventListener('click', close);\r\n\r\n    document.addEventListener('keydown', function(e){\r\n      if (e.key === 'Escape' && modal.classList.contains('is-open')) close();\r\n    });\r\n\r\n    qs(modal, '.placard-btn--danger').addEventListener('click', function(){\r\n      modal.classList.remove('is-open');\r\n\r\n      var el = state.pendingDeleteEl;\r\n      state.pendingDeleteEl = null;\r\n      if (!el) return;\r\n\r\n      withConfirmBypass(function(){\r\n        try{ el.click(); } catch(_){}\r\n      });\r\n    });\r\n\r\n    return modal;\r\n  }\r\n\r\n  function looksLikeDeleteButton(el){\r\n    if (!el || el.nodeType !== 1) return false;\r\n\r\n    var cn = (el.className || '').toString().toLowerCase();\r\n    if (cn.indexOf('delete') !== -1) return true;\r\n    if (cn.indexOf('__btn--delete') !== -1) return true;\r\n\r\n    var al = (el.getAttribute('aria-label') || '').toLowerCase();\r\n    var ti = (el.getAttribute('title') || '').toLowerCase();\r\n    if (al.indexOf('apagar') !== -1 || al.indexOf('delete') !== -1) return true;\r\n    if (ti.indexOf('apagar') !== -1 || ti.indexOf('delete') !== -1) return true;\r\n\r\n    return false;\r\n  }\r\n\r\n  function bindDeleteInterception(){\r\n    var r = getRoot();\r\n    if (!r) return;\r\n    if (r.__placardDeleteCaptureBound) return;\r\n    r.__placardDeleteCaptureBound = true;\r\n\r\n    r.addEventListener('click', function(e){\r\n      var t = e.target;\r\n      var btn = (t && t.closest) ? t.closest('button,a,span,div') : t;\r\n      if (!btn) return;\r\n\r\n      var inInbox = btn.closest('.mws-inbox-window, [class*=\"Inbox-\"]');\r\n      if (!inInbox) return;\r\n\r\n      if (!looksLikeDeleteButton(btn)) return;\r\n\r\n      /* clique disparado por nós com bypass: deixa passar */\r\n      if (Date.now() < state.confirmBypassUntil) return;\r\n\r\n      e.preventDefault();\r\n      e.stopPropagation();\r\n      e.stopImmediatePropagation();\r\n\r\n      state.pendingDeleteEl = btn;\r\n\r\n      var m = ensureModal();\r\n      if (m) m.classList.add('is-open');\r\n    }, true);\r\n  }\r\n\r\n  function tick(){\r\n    var r = getRoot();\r\n    if (!r){\r\n      if (state.tickHandle){\r\n        clearInterval(state.tickHandle);\r\n        state.tickHandle = null;\r\n      }\r\n      restoreConfirm();\r\n      return;\r\n    }\r\n\r\n    patchConfirm();\r\n    enforcePopup();\r\n    hideComposer();\r\n    applyOneDotPerRow();\r\n    bindDeleteInterception();\r\n  }\r\n\r\n  tick();\r\n  if (!state.tickHandle) state.tickHandle = setInterval(tick, 650);\r\n\r\n  var root = getRoot();\r\n  if (root){\r\n    new MutationObserver(function(){ tick(); }).observe(root, { childList:true, subtree:true });\r\n  }\r\n\r\n  window.addEventListener('beforeunload', function(){\r\n    restoreConfirm();\r\n  });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"2fedc5a4-e0cb-4f7d-85ef-c14d9bd66313","tagTypeId":"custom_tag_type","name":"Game_Serach_Placard_Theme","description":"Game search constumization","config":{"beforeEndHead":"<!-- =========================================================\r\n     PLACARD.PT — PROCURAR JOGOS (STABLE)\r\n     Alinhado com HEADER_DESKTOP_CASINO_V1 + COMM_Chat_Placard_Theme\r\n\r\n     Regras:\r\n     - NÃO mexer na lógica do search\r\n     - NÃO alterar métricas da lista virtualizada (LI / spacers)\r\n     - Um único scroll: o container da lista\r\n========================================================= -->\r\n\r\n<style id=\"pt-search-placard-static-fixes\">\r\n/* =========================================================\r\n   0) Nota crítica — lista virtualizada\r\n   Não tocar em heights/margins/paddings dos LI ou elementos internos\r\n========================================================= */\r\n\r\n/* =========================================================\r\n   1) Fix: “linha branca extra” no bloco de texto\r\n========================================================= */\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__textContent--3yA{\r\n  border-bottom: 0 !important;\r\n}\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__textContent--3yA::before,\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__textContent--3yA::after{\r\n  content: none !important;\r\n  display: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   2) Separador visual sem mexer na métrica (inset shadow)\r\n========================================================= */\r\n.pt-search-placard .cms-games-search-result-item{\r\n  border: 0 !important;\r\n  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08) !important;\r\n  background: transparent !important;\r\n}\r\n.pt-search-placard .cms-games-search-result-item:last-child{\r\n  box-shadow: none !important;\r\n}\r\n\r\n/* =========================================================\r\n   3) Tipografia / cores dos resultados\r\n========================================================= */\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__name--2YY{\r\n  color: rgba(255,255,255,.92) !important;\r\n  font-weight: 700 !important;\r\n  font-size: 14px !important;\r\n  line-height: 18px !important;\r\n}\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__provider--ky4{\r\n  color: rgba(255,255,255,.62) !important;\r\n  font-size: 12px !important;\r\n}\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__searchHighlight--1rG{\r\n  color: #83DE1A !important;\r\n  font-weight: 900 !important;\r\n}\r\n\r\n/* =========================================================\r\n   4) Imagem “card” (sem impactar layout do item)\r\n========================================================= */\r\n.pt-search-placard .cms-games-search-result-item .SearchResults__imageContainer--1in{\r\n  border-radius: 10px !important;\r\n  overflow: hidden !important;\r\n  background: rgba(255,255,255,.06) !important;\r\n}\r\n\r\n/* =========================================================\r\n   5) Scrollbar Placard — APENAS na lista\r\n========================================================= */\r\n.pt-search-placard .pt-search-results-scroll{\r\n  scrollbar-width: thin;\r\n  scrollbar-color: rgba(255,255,255,.18) transparent;\r\n  -webkit-overflow-scrolling: touch;\r\n  overscroll-behavior: contain;\r\n  scrollbar-gutter: stable;\r\n}\r\n.pt-search-placard .pt-search-results-scroll::-webkit-scrollbar{ width: 8px; }\r\n.pt-search-placard .pt-search-results-scroll::-webkit-scrollbar-track{\r\n  background: transparent !important;\r\n  border: 0 !important;\r\n}\r\n.pt-search-placard .pt-search-results-scroll::-webkit-scrollbar-thumb{\r\n  background: rgba(255,255,255,.18);\r\n  border-radius: 999px;\r\n}\r\n.pt-search-placard .pt-search-results-scroll::-webkit-scrollbar-thumb:hover{\r\n  background: rgba(255,255,255,.26);\r\n}\r\n\r\n/* =========================================================\r\n   6) Close (X) — re-skin do close nativo do Popup (DIV)\r\n========================================================= */\r\n.pt-search-placard [class*=\"Icon__closePopup\"][class*=\"Popup__close\"]{\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  /* posição (alinhado com Inbox) */\r\n  right: 8px !important;\r\n  top: 10px !important;\r\n\r\n  border: 1px solid rgba(255,255,255,.16) !important;\r\n  border-radius: 10px !important;\r\n  background: rgba(255,255,255,.06) !important;\r\n\r\n  background-image: url(\"/library/image/close-icon.png\") !important;\r\n  background-repeat: no-repeat !important;\r\n  background-position: center !important;\r\n  background-size: 18px 18px !important;\r\n\r\n  opacity: .92 !important;\r\n  cursor: pointer !important;\r\n  transition: background .15s ease, border-color .15s ease, transform .15s ease, opacity .15s ease !important;\r\n}\r\n\r\n@media (hover:hover){\r\n  .pt-search-placard [class*=\"Icon__closePopup\"][class*=\"Popup__close\"]:hover{\r\n    background: rgba(255,255,255,.10) !important;\r\n    border-color: rgba(255,255,255,.22) !important;\r\n    transform: translateY(-1px) !important;\r\n    opacity: 1 !important;\r\n  }\r\n}\r\n.pt-search-placard [class*=\"Icon__closePopup\"][class*=\"Popup__close\"]:active{\r\n  transform: translateY(0) !important;\r\n  background: rgba(255,255,255,.14) !important;\r\n}\r\n\r\n/* =========================================================\r\n   7) Popup window — radius + “linha” como Inbox\r\n========================================================= */\r\n.pt-search-placard [class*=\"PagePopup__container\"],\r\n.pt-search-placard [class*=\"Popup__content\"],\r\n.pt-search-placard [class*=\"PagePopup__content\"]{\r\n  border-radius: 16px !important;\r\n  border: 1px solid rgba(255,255,255,.12) !important;\r\n  overflow: hidden !important; /* garante cantos limpos */\r\n}\r\n\r\n@media (max-width: 768px){\r\n  .pt-search-placard [class*=\"PagePopup__container\"],\r\n  .pt-search-placard [class*=\"Popup__content\"],\r\n  .pt-search-placard [class*=\"PagePopup__content\"]{\r\n    border-radius: 14px !important;\r\n  }\r\n}\r\n</style>\r\n\r\n<script>\r\n(function(){\r\n  /* =========================================================\r\n     1) Escopo + tokens (sem :has)\r\n========================================================= */\r\n  var THEME_CLASS = 'pt-search-placard';\r\n  if (!document.body.classList.contains(THEME_CLASS)) {\r\n    document.body.classList.add(THEME_CLASS);\r\n  }\r\n\r\n  var STYLE_ID = 'pt-search-placard-theme';\r\n  if (!document.getElementById(STYLE_ID)) {\r\n    var css = `\r\n.${THEME_CLASS}{\r\n  --placard-bg:#16171f;\r\n  --placard-bg-alt:#1c1d27;\r\n  --placard-card:#20212b;\r\n  --placard-green:#83DE1A;\r\n\r\n  --text: rgba(255,255,255,.92);\r\n  --muted: rgba(255,255,255,.70);\r\n  --muted2: rgba(255,255,255,.58);\r\n\r\n  --radius-pill: 18px;\r\n\r\n  --field-bg: rgba(255,255,255,.94);\r\n  --field-border: rgba(255,255,255,.14);\r\n  --field-border-hover: rgba(255,255,255,.22);\r\n  --field-border-focus: rgba(131,222,26,.95);\r\n  --field-shadow-focus: 0 0 0 3px rgba(131,222,26,.22);\r\n\r\n  --field-h: 44px;\r\n  --field-pad-x: 14px;\r\n  --field-gap: 10px;\r\n}\r\n\r\n/* Título */\r\n.${THEME_CLASS} [class*=\"GamesSearch__title\"]{\r\n  color: var(--text);\r\n  letter-spacing: -0.01em;\r\n}\r\n\r\n/* Campo de pesquisa — estilização via classes aplicadas por JS */\r\n.${THEME_CLASS} .pt-search-input-wrap{\r\n  background: var(--field-bg);\r\n  border: 1.5px solid var(--field-border);\r\n  border-radius: var(--radius-pill);\r\n  height: var(--field-h);\r\n  padding: 0;\r\n  box-shadow: none;\r\n  transition: border-color .18s ease, box-shadow .18s ease;\r\n}\r\n@media (hover:hover){\r\n  .${THEME_CLASS} .pt-search-input-wrap:hover{ border-color: var(--field-border-hover); }\r\n}\r\n.${THEME_CLASS} .pt-search-input-wrap.pt-search-focus{\r\n  border-color: var(--field-border-focus);\r\n  box-shadow: var(--field-shadow-focus);\r\n}\r\n\r\n.${THEME_CLASS} .pt-search-input-inner{\r\n  display:flex;\r\n  align-items:center;\r\n  gap: var(--field-gap);\r\n  height:100%;\r\n  padding: 0 var(--field-pad-x);\r\n}\r\n\r\n.${THEME_CLASS} input[name=\"gamesSearch\"]{\r\n  background: transparent;\r\n  border: 0 !important;\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n  height: calc(var(--field-h) - 2px);\r\n  width: 100%;\r\n  color: #16171f;\r\n  font-size: 14px;\r\n  line-height: 1;\r\n  -webkit-appearance: none;\r\n          appearance: none;\r\n}\r\n.${THEME_CLASS} input[name=\"gamesSearch\"]::placeholder{\r\n  color: rgba(22,23,31,.46);\r\n}\r\n\r\n/* Ícone lupa */\r\n.${THEME_CLASS} .pt-search-icon{\r\n  opacity:.55;\r\n  transition: opacity .18s ease;\r\n}\r\n.${THEME_CLASS} .pt-search-input-wrap.pt-search-focus .pt-search-icon{\r\n  opacity:.72;\r\n}\r\n\r\n/* “X limpar” (estética) */\r\n.${THEME_CLASS} [class*=\"Input__clear\"],\r\n.${THEME_CLASS} [class*=\"Input__clearButton\"],\r\n.${THEME_CLASS} button[aria-label*=\"clear\"],\r\n.${THEME_CLASS} button[aria-label*=\"Clear\"]{\r\n  border-radius: 999px;\r\n  transition: transform .18s ease, opacity .18s ease;\r\n}\r\n.${THEME_CLASS} [class*=\"Input__clear\"]:active,\r\n.${THEME_CLASS} [class*=\"Input__clearButton\"]:active{\r\n  transform: scale(.96);\r\n}\r\n\r\n/* Empty states */\r\n.${THEME_CLASS} [class*=\"GamesSearch__empty\"],\r\n.${THEME_CLASS} [class*=\"GamesSearch__hint\"],\r\n.${THEME_CLASS} [class*=\"GamesSearch__noResults\"],\r\n.${THEME_CLASS} p{\r\n  color: var(--muted);\r\n}\r\n    `;\r\n    var st = document.createElement('style');\r\n    st.id = STYLE_ID;\r\n    st.appendChild(document.createTextNode(css));\r\n    document.head.appendChild(st);\r\n  }\r\n\r\n  /* =========================================================\r\n     2) Helpers\r\n========================================================= */\r\n  function qs(sel, root){ return (root || document).querySelector(sel); }\r\n  function qsa(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\r\n\r\n  function findResultsContainer(){\r\n    return qs('.cms-games-search-results-list-container-fixed') || qs('.cms-games-search-results-list-container');\r\n  }\r\n\r\n  function findSearchInput(){\r\n    return qs('input[name=\"gamesSearch\"]');\r\n  }\r\n\r\n  function findPopupContentFrom(node){\r\n    if (!node) return null;\r\n    var el = node;\r\n    while (el && el !== document.body) {\r\n      var cls = (el.className || '').toString();\r\n      if (cls.indexOf('PagePopup__content') !== -1 || cls.indexOf('Popup__content') !== -1) return el;\r\n      el = el.parentElement;\r\n    }\r\n    return null;\r\n  }\r\n\r\n  /* =========================================================\r\n     3) Input skin (classes estáveis, sem :has)\r\n========================================================= */\r\n  function wireInputSkin(){\r\n    var input = findSearchInput();\r\n    if (!input) return;\r\n\r\n    var wrap = input.closest('[class*=\"Input__innerContainer\"]') ||\r\n               input.closest('[class*=\"GamesSearch__searchInputContainer\"]');\r\n\r\n    var inner = input.closest('[class*=\"Input__innerInputContainer\"]');\r\n\r\n    if (wrap) wrap.classList.add('pt-search-input-wrap');\r\n    if (inner) inner.classList.add('pt-search-input-inner');\r\n\r\n    var icon = inner ? inner.querySelector('[class*=\"GamesSearch__searchIcon\"], [class*=\"Icon__searchGamesInput\"]') : null;\r\n    if (icon) icon.classList.add('pt-search-icon');\r\n\r\n    function setFocus(on){\r\n      if (!wrap) return;\r\n      if (on) wrap.classList.add('pt-search-focus');\r\n      else wrap.classList.remove('pt-search-focus');\r\n    }\r\n\r\n    input.addEventListener('focus', function(){ setFocus(true); }, true);\r\n    input.addEventListener('blur', function(){ setFocus(false); }, true);\r\n    setFocus(document.activeElement === input);\r\n  }\r\n\r\n  /* =========================================================\r\n     4) Scroll: só a lista faz scroll (sem mexer na virtual list)\r\n========================================================= */\r\n  var rafId = 0;\r\n\r\n  function layoutScroll(){\r\n    rafId = 0;\r\n\r\n    var input = findSearchInput();\r\n    var results = findResultsContainer();\r\n    if (!input || !results) return;\r\n\r\n    var popupContent = findPopupContentFrom(input) || findPopupContentFrom(results);\r\n    if (popupContent) {\r\n      popupContent.style.overflow = 'hidden';\r\n      popupContent.style.overscrollBehavior = 'contain';\r\n    }\r\n\r\n    results.classList.add('pt-search-results-scroll');\r\n    results.style.overflow = 'auto';\r\n    results.style.overscrollBehavior = 'contain';\r\n    results.style.paddingRight = '10px'; /* espaço para scrollbar sem artefactos */\r\n    results.style.webkitOverflowScrolling = 'touch';\r\n\r\n    var viewportH = window.innerHeight || document.documentElement.clientHeight;\r\n    var bottomLimit = viewportH - 16;\r\n\r\n    if (popupContent) {\r\n      var pb = popupContent.getBoundingClientRect();\r\n      bottomLimit = Math.min(bottomLimit, pb.bottom - 12);\r\n    }\r\n\r\n    var rb = results.getBoundingClientRect();\r\n    var available = Math.max(120, bottomLimit - rb.top);\r\n    results.style.maxHeight = available + 'px';\r\n\r\n    /* spacer/virtual list: não mexer em height; só garantir que não apanha overflow estranho */\r\n    var inner = results.querySelector('[role=\"comment\"]');\r\n    if (inner) {\r\n      inner.style.maxHeight = 'none';\r\n      inner.style.overflow = 'visible';\r\n    }\r\n  }\r\n\r\n  function scheduleLayout(){\r\n    if (rafId) return;\r\n    rafId = requestAnimationFrame(layoutScroll);\r\n  }\r\n\r\n  /* =========================================================\r\n     5) Fallback defensivo: matar border-bottom interno (se reaparecer via inline)\r\n========================================================= */\r\n  function nukeExtraBorders(){\r\n    var root = findResultsContainer();\r\n    if (!root) return;\r\n    qsa('.cms-games-search-result-item .SearchResults__textContent--3yA', root).forEach(function(el){\r\n      el.style.borderBottom = '0';\r\n    });\r\n  }\r\n\r\n  /* =========================================================\r\n     6) Boot + observers\r\n========================================================= */\r\n  function boot(){\r\n    wireInputSkin();\r\n    nukeExtraBorders();\r\n    scheduleLayout();\r\n  }\r\n\r\n  boot();\r\n\r\n  window.addEventListener('resize', scheduleLayout, { passive: true });\r\n  window.addEventListener('orientationchange', scheduleLayout, { passive: true });\r\n\r\n  var mo = new MutationObserver(function(){\r\n    wireInputSkin();\r\n    nukeExtraBorders();\r\n    scheduleLayout();\r\n  });\r\n  mo.observe(document.body, { childList: true, subtree: true });\r\n\r\n  if (window.ResizeObserver) {\r\n    var ro = new ResizeObserver(function(){ scheduleLayout(); });\r\n    ro.observe(document.documentElement);\r\n  }\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"7f64df13-c269-47fc-a115-ab8f7fc449d7","tagTypeId":"custom_tag_type","name":"COMM_Inbox_Toaster_Placard_Theme","description":"Inbox notification constumization","config":{"beforeEndHead":"<style>\r\n/* =========================================================\r\n   PLACARD — Inbox Toast (React Notifications)\r\n   - Tema dark + accent verde\r\n   - X custom (overlay) sem tocar no layout do widget\r\n   - Mobile: toaster acima do bottom nav (67px)\r\n========================================================= */\r\n\r\n:root{\r\n  --placard-card:#26283a;\r\n  --placard-text:#ffffff;\r\n  --placard-muted:rgba(255,255,255,.78);\r\n  --placard-green:#83DE1A;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   Notification shell (não mexer em positioning/layout)\r\n--------------------------------------------------------- */\r\n#inboxContainer .app-react-components-Inbox-common-Notifications-index__notification{\r\n  background: var(--placard-card) !important;\r\n  background-image: none !important;\r\n  color: var(--placard-text) !important;\r\n  border-radius: 14px !important;\r\n\r\n  box-shadow:\r\n    0 18px 60px rgba(0,0,0,.65),\r\n    0 0 0 1px rgba(255,255,255,.06) inset,\r\n    0 0 0 1px rgba(255,255,255,.10),\r\n    2px 0 0 rgba(131,222,26,.55) inset !important;\r\n}\r\n\r\n#inboxContainer .app-react-components-Inbox-common-Notifications-index__container{\r\n  background: transparent !important;\r\n  box-shadow: none !important;\r\n  border: none !important;\r\n\r\n  padding: 12px 14px !important;\r\n  display: flex !important;\r\n  align-items: center !important;\r\n}\r\n\r\n/* Texto */\r\n#inboxContainer .app-react-components-Inbox-common-Notifications-index__header{\r\n  color:#fff !important;\r\n  font-weight: 800 !important;\r\n  line-height: 1.25 !important;\r\n  margin: 0 0 6px 0 !important;\r\n}\r\n#inboxContainer .app-react-components-Inbox-common-Notifications-index__message{\r\n  color: var(--placard-muted) !important;\r\n  line-height: 1.3 !important;\r\n  margin: 0 !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   Actions / Close\r\n   - Mantém o close nativo (para click via JS)\r\n   - Desenha o nosso X por cima (overlay)\r\n--------------------------------------------------------- */\r\n#inboxContainer .app-react-components-Inbox-common-Notifications-index__actions{\r\n  position: relative !important; /* safe: só para ancorar o overlay */\r\n}\r\n\r\n/* Close nativo: invisível mas presente (não alterar DOM do widget) */\r\n#inboxContainer\r\n.app-react-components-Inbox-common-Notifications-index__actions\r\n.app-react-components-Inbox-common-Notifications-index__actionIcon.app-react-components-Inbox-common-Notifications-index__close[role=\"button\"]{\r\n  opacity: 0 !important;\r\n  visibility: visible !important;\r\n}\r\n\r\n/* X Placard (overlay) */\r\n#inboxContainer .placard-toast-close{\r\n  position: absolute !important;\r\n  top: 50% !important;\r\n  right: 0 !important;\r\n  transform: translateY(-50%) !important;\r\n\r\n  width: 34px !important;\r\n  height: 34px !important;\r\n\r\n  display: inline-flex !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n\r\n  padding: 0 !important;\r\n  border: 0 !important;\r\n  border-radius: 999px !important;\r\n  background-color: transparent !important;\r\n\r\n  cursor: pointer !important;\r\n\r\n  background-image: url(\"/library/image/close-icon.png\") !important;\r\n  background-repeat: no-repeat !important;\r\n  background-position: center !important;\r\n  background-size: 18px 18px !important;\r\n\r\n  opacity: .85 !important;\r\n  transition: background-color .15s ease, opacity .15s ease !important;\r\n\r\n  z-index: 2 !important;\r\n}\r\n#inboxContainer .placard-toast-close:hover{\r\n  background-color: rgba(255,255,255,.10) !important;\r\n  opacity: 1 !important;\r\n}\r\n#inboxContainer .placard-toast-close:active{\r\n  background-color: rgba(255,255,255,.14) !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   Ícone “nova mensagem” (envelope)\r\n   - Regra única (antes havia 2 blocos redundantes)\r\n--------------------------------------------------------- */\r\n#inboxContainer span.app-react-components-Inbox-index__newMessageNotificationIcon{\r\n  width: 58px !important;\r\n  height: 58px !important;\r\n\r\n  /* neutraliza sizing do widget */\r\n  font-size: 16px !important;\r\n\r\n  background-image: url(\"/library/custom_icons/inbox-notification.svg\") !important;\r\n  background-repeat: no-repeat !important;\r\n  background-position: center !important;\r\n  background-size: 40px 40px !important;\r\n}\r\n\r\n/* ---------------------------------------------------------\r\n   MOBILE — toaster acima do bottom nav\r\n   bottom nav: .mobile-menu-container { height: 67px; z-index: 15; }\r\n   Nota: o wrapper do toast é global -> sem #inboxContainer\r\n--------------------------------------------------------- */\r\n@media (max-width: 768px){\r\n\r\n  /* wrappers (nomes variam por build) */\r\n  html body .app-react-components-Inbox-common-Notifications-index__notifications,\r\n  html body [class*=\"Inbox-common-Notifications-index__notifications\"],\r\n  html body .app-react-components-Inbox-common-Notifications-index__notificationsContainer,\r\n  html body [class*=\"Inbox-common-Notifications-index__notificationsContainer\"],\r\n  html body .app-react-components-Inbox-common-Notifications-index__wrapper,\r\n  html body [class*=\"Inbox-common-Notifications-index__wrapper\"]{\r\n    bottom: calc(67px + env(safe-area-inset-bottom) + 12px) !important;\r\n    z-index: 14 !important; /* abaixo do menu (menu=15) */\r\n  }\r\n\r\n  /* fallback: se o card vier fixed/colado */\r\n  html body .app-react-components-Inbox-common-Notifications-index__notification,\r\n  html body [class*=\"Inbox-common-Notifications-index__notification\"]{\r\n    margin-bottom: calc(67px + env(safe-area-inset-bottom) + 12px) !important;\r\n  }\r\n}\r\n</style>\r\n\r\n<script>\r\n/* =========================================================\r\n   PLACARD — Inbox Toast\r\n   Inject do X overlay dentro de __actions\r\n   - O click do nosso X dispara o close nativo\r\n   - MutationObserver cobre novos toasts\r\n========================================================= */\r\n(function () {\r\n  function injectClose(notificationEl){\r\n    try{\r\n      if (!notificationEl) return;\r\n\r\n      var actions = notificationEl.querySelector(\r\n        '.app-react-components-Inbox-common-Notifications-index__actions'\r\n      );\r\n      if (!actions) return;\r\n\r\n      // já existe\r\n      if (actions.querySelector('.placard-toast-close')) return;\r\n\r\n      var nativeClose = actions.querySelector(\r\n        '.app-react-components-Inbox-common-Notifications-index__actionIcon.' +\r\n        'app-react-components-Inbox-common-Notifications-index__close[role=\"button\"]'\r\n      );\r\n      if (!nativeClose) return;\r\n\r\n      var btn = document.createElement('button');\r\n      btn.type = 'button';\r\n      btn.className = 'placard-toast-close';\r\n      btn.setAttribute('aria-label', 'Fechar');\r\n\r\n      btn.addEventListener('click', function (e) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        nativeClose.click();\r\n      });\r\n\r\n      actions.appendChild(btn);\r\n    }catch(e){\r\n      // silêncio: não arriscar afetar o widget\r\n    }\r\n  }\r\n\r\n  function scan(){\r\n    var root = document.getElementById('inboxContainer');\r\n    if (!root) return;\r\n\r\n    var toasts = root.querySelectorAll(\r\n      '.app-react-components-Inbox-common-Notifications-index__notification'\r\n    );\r\n\r\n    for (var i = 0; i < toasts.length; i++){\r\n      injectClose(toasts[i]);\r\n    }\r\n  }\r\n\r\n  // inicial\r\n  scan();\r\n\r\n  // observar novas notificações\r\n  var root = document.getElementById('inboxContainer');\r\n  if (!root) return;\r\n\r\n  var obs = new MutationObserver(function(){\r\n    scan();\r\n  });\r\n\r\n  obs.observe(root, { childList: true, subtree: true });\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"b2626311-9cde-4fe5-b045-e5d403179694","tagTypeId":"custom_tag_type","name":"New-Login-Style","description":"New-Login-Style","config":{"beforeEndHead":"<style>\n    .cms-login [class*='Login__form--'] [class*=\"Control__control--\"] {\n        margin: 0 0 16px !important;\n    }\n\n    .cms-login [class*='Login__form--'] .cms-control-content {\n        background-color: #3d414d;\n        height: 2.46rem;\n        border-radius: 10px;\n        border: 1px solid #3d414d;\n    }\n\n    .cms-login [class*='Control__control--'].control-valid .cms-control-content {\n        border: 1px solid #3d414d;\n    }\n\n    .cms-login [class*='Control__control--'].control-invalid .cms-control-content {\n        border: 1px solid #3d414d;\n        border-bottom: 1px solid #f35f5f;\n    }\n\n    .cms-login [class*='Control__control--'].control-focus .cms-control-content {\n        border: 1px solid #3d414d;\n        border-bottom: 1px solid #6dbd2f;\n    }\n\n    .cms-login [class*='Login__form--'] .cms-control-content input {\n        color: #c4c4c4;\n        background: transparent !important;\n        padding: 0 10px !important;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='Checkbox__content--'].cms-control-content {\n        background-color: transparent !important;\n        border: none !important;\n        height: auto !important;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='Checkbox__control--'] [class*='CheckboxShallow__label--'] {\n        color: #fff;\n        cursor: pointer;\n    }\n\n    .cms-login [class*='Login__form--'] .cms-login-controls button {\n        border-radius: 30px !important;\n        width: auto;\n        min-width: 11em;\n        height: 42px;\n        line-height: 42px;\n        padding: 0;\n        background-color: #6dbd2f;\n        color: #000 !important;\n        font-weight: 300;\n        box-shadow: inset 0 -.15em 0 #6dbd2f !important;\n        transition: box-shadow 300ms;\n        font-family: Asap, Helvetica Neue, Helvetica, Arial, sans-serif;\n        justify-content: center;\n    }\n\n    .tablet .cms-login [class*='Login__form--'] .cms-login-controls button:hover,\n    .mobile .cms-login [class*='Login__form--'] .cms-login-controls button:hover {\n        background-color: #6dbd2f !important;\n        color: #000 !important;\n    }\n\n    .desktop .cms-login [class*='Login__form--'] .cms-login-controls button:hover,\n    .mobile .cms-login [class*='Login__form--'] .cms-login-controls button:active,\n    .mobile .cms-login [class*='Login__form--'] .cms-login-controls button:active {\n        background-color: #77d42f !important;\n        color: #000 !important;\n    }\n\n</style>\n","beforeEndBody":""},"conditionIds":["c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"4f3d28d9-dd8c-416f-8dcf-6046ed5f439f","tagTypeId":"custom_js","name":"PGG Feedback","description":"PGG Feedback","config":{"code":"(async () => {\n    const { gamesFeeds } = await Playtech.API.game.getGamesConfiguration();\n\n    Playtech.on('GAME_LAUNCH', ([\n        {\n            gameCode,\n            gameFeed,\n            launchType,\n            container,\n            gamePositionInCategory,\n            categoryPosition,\n            categoryName,\n            pggCategoryName\n        }\n    ]) => {\n        if (!Playtech.API.auth.isLoggedIn || launchType !== 'Real') {\n            return;\n        }\n\n        const params = new URLSearchParams({\n            launch_ctx: container,\n            user_id: Playtech.fetchUserDetails().userId,\n            launch_code: gameCode,\n            brand: iapiConf.casinoname,\n            cplat: Playtech.API.device.formFactor,\n            cat_name: categoryName,\n            feed_name: gameFeed || 'Dynamic',\n            game_pos: gamePositionInCategory,\n            cat_pos: categoryPosition,\n            pgg_cat_name: pggCategoryName\n        });\n\n        fetch(`https://pgg.bit.ptecha.io/feedback?${params.toString()}`);\n    });\n})();\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"b637d6eb-1084-41a4-9e26-30f3f21f46e1","tagTypeId":"custom_js","name":"Sportsbook Events","description":"Sportsbook Events","config":{"code":"(() => {\n    let page;\n    let userName;\n\n    function gtag() {\n        window.dataLayer?.push(arguments);\n    }\n\n    Playtech.on('sportsbook-analytics', (event) => {\n        if (event.userName !== userName) {\n            userName = event.userName;\n            gtag('set', { userId: userName });\n        }\n\n        if (event.page !== page) {\n            page = event.page;\n            gtag('set', { page: page });\n        }\n\n        gtag('event', event.eventName, event.data);\n    });\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"ef735ca6-2b36-45b7-bad6-b6a3df599b23","tagTypeId":"custom_tag_type","name":"Sportsbook GTM","description":"Sportsbook GTM","config":{"beforeEndHead":"<!-- Google tag (gtag.js) -->\n<script async src=\"https://www.googletagmanager.com/gtag/js?id=G-Q319RG282J\"></script>\n<script>\n    window.dataLayer = window.dataLayer || [];\n    gtag = function () {\n        window.dataLayer.push(arguments);\n    };\n    gtag('js', new Date());\n    gtag('config', 'G-Q319RG282J');\n</script>\n<script type=\"text/javascript\">\n    (function (w, d, s, l, i) {\n        w[l] = w[l] || [];\n        w[l].push({\n            'gtm.start': new Date().getTime(),\n            event: 'gtm.js',\n        });\n        let f = d.getElementsByTagName(s)[0];\n        let j = d.createElement(s);\n        let dl = l != 'dataLayer' ? '&l=' + l : '';\n        j.async = true;\n        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;\n        f.parentNode.insertBefore(j, f);\n    })(window, document, 'script', 'dataLayer', 'GTM-N6QM8PS');\n</script>\n\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"de8bf859-63d2-450b-a89c-f41d6f27eba6","tagTypeId":"custom_tag_type","name":"Jumio","description":"Jumio popup change url validacao-de-identidade","config":{"beforeEndHead":"<script>\r\nwindow.Playtech.API.handleJumioRedirect = function (originalJumioUrl) {\r\n    // console.log(originalJumioUrl);\r\n    \r\n    // redirect player to the page\r\n    Playtech.API.common.navigate('/validacao-de-identidade');\r\n};\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"a375e357-16b7-4f10-99e6-edb988930f27","tagTypeId":"custom_tag_type","name":"google_consent_mode","description":"google_consent_mode","config":{"beforeEndHead":"<script>\r\n(function () {\r\n    console.log(\"App Initialization Started.\");\r\n\r\n    // Initialize Consent Mode with default settings\r\n    window.dataLayer = window.dataLayer || [];\r\n    function gtag() {\r\n        dataLayer.push(arguments);\r\n    }\r\n\r\n    console.log(\"Setting initial consent to 'denied' for all categories.\");\r\n    gtag('js', new Date());\r\n    gtag('consent', 'default', {\r\n        'ad_storage': 'denied',\r\n        'analytics_storage': 'denied',\r\n        'ad_user_data': 'denied',\r\n        'ad_personalization': 'denied'\r\n    });\r\n\r\n    // Utility function to dynamically load GTM script\r\n    function loadGTM() {\r\n        const existingScript = document.querySelector('script[src*=\"googletagmanager.com/gtm.js\"]');\r\n        if (!existingScript) {\r\n            console.log(\"Loading GTM script dynamically...\");\r\n            const gtmScript = document.createElement('script');\r\n            gtmScript.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-N6QM8PS';\r\n            gtmScript.async = true;\r\n            gtmScript.onload = () => console.log(\"GTM script loaded successfully.\");\r\n            gtmScript.onerror = () => console.error(\"Failed to load GTM script.\");\r\n            document.head.appendChild(gtmScript);\r\n        } else {\r\n            console.log(\"GTM script already loaded.\");\r\n        }\r\n    }\r\n\r\n    console.log(\"Checking stored cookie settings...\");\r\n    // Safely access localStorage to retrieve cookie settings\r\n    let cookieSettings = {};\r\n    try {\r\n        cookieSettings = JSON.parse(localStorage.getItem('cookieSettings')) || {};\r\n    } catch (error) {\r\n        console.error(\"Error accessing localStorage:\", error);\r\n    }\r\n    console.log(\"Stored cookie settings:\", cookieSettings);\r\n\r\n    // Function to update consent based on cookie settings\r\n    function updateConsentFromSettings(settings) {\r\n        const marketingConsent = settings.marketing || false;\r\n        const statisticsConsent = settings.statistics || false;\r\n\r\n        console.log(`Updating consent. Marketing: ${marketingConsent}, Statistics: ${statisticsConsent}`);\r\n        gtag('consent', 'update', {\r\n            'ad_storage': marketingConsent ? 'granted' : 'denied',\r\n            'analytics_storage': statisticsConsent ? 'granted' : 'denied',\r\n            'ad_user_data': marketingConsent ? 'granted' : 'denied',\r\n            'ad_personalization': marketingConsent ? 'granted' : 'denied'\r\n        });\r\n\r\n        // Push detailed consent info to the dataLayer\r\n        window.dataLayer.push({\r\n            'google_tag_params': {\r\n                'consent_info': {\r\n                    'ad_storage': marketingConsent ? 'granted' : 'denied',\r\n                    'analytics_storage': statisticsConsent ? 'granted' : 'denied',\r\n                    'ad_user_data': marketingConsent ? 'granted' : 'denied',\r\n                    'ad_personalization': marketingConsent ? 'granted' : 'denied'\r\n                }\r\n            }\r\n        });\r\n\r\n        // If analytics_storage is now granted, re-configure GA4 and trigger a page_view event\r\n        if (statisticsConsent) {\r\n            console.log(\"Analytics consent granted. Initializing GA4 and triggering a page_view event.\");\r\n            gtag('config', 'G-0XF4VR0XR5', { 'send_page_view': false });\r\n            gtag('event', 'page_view');\r\n\r\n            // Push a custom event to the dataLayer to indicate consent is granted\r\n            dataLayer.push({'event': 'consent_granted'});\r\n        }\r\n    }\r\n\r\n    // Apply stored settings on initialization\r\n    if (Object.keys(cookieSettings).length > 0) {\r\n        updateConsentFromSettings(cookieSettings);\r\n    } else {\r\n        console.log(\"No stored cookie settings found. Default consent remains denied.\");\r\n    }\r\n\r\n    // Listen for cookie settings updates\r\n    function setupPlaytechListeners() {\r\n        if (typeof Playtech !== 'undefined' && typeof Playtech.on === 'function') {\r\n            console.log(\"Playtech detected. Setting up event listeners for consent updates.\");\r\n\r\n            Playtech.on('cookie-settings-updated', ({ name, value }) => {\r\n                console.log(`Event 'cookie-settings-updated' triggered: ${name} = ${value}`);\r\n                if (name === 'marketing' || name === 'statistics') {\r\n                    cookieSettings[name] = value;\r\n                    updateConsentFromSettings(cookieSettings);\r\n                }\r\n            });\r\n\r\n            Playtech.on('navigate', ({ detail: { cleanPathname } }) => {\r\n                console.log(`SPA navigation detected. Updating page path to: ${cleanPathname}`);\r\n                gtag('set', 'page_path', cleanPathname);\r\n                gtag('event', 'page_view');\r\n            });\r\n\r\n            Playtech.on('REGISTRATION_COMPLETED', ([{ username, userId, playerCode }]) => {\r\n                console.log(\"Registration completed:\", { username, userId, playerCode });\r\n                gtag('event', 'registration_completed');\r\n            });\r\n\r\n            Playtech.on('registration:success', ([{ username, userId, playerCode }]) => {\r\n                console.log(\"Registration success event:\", { username, userId, playerCode });\r\n                gtag('event', 'registration_completed');\r\n            });\r\n\r\n            Playtech.on('REGISTRATION_FAIL', ([{ content }]) => {\r\n                console.log(\"Registration failed:\", content);\r\n                gtag('event', 'registration_fail');\r\n            });\r\n\r\n            Playtech.on('registration:error', ([{ content }]) => {\r\n                console.log(\"Registration error:\", content);\r\n                gtag('event', 'registration_fail');\r\n            });\r\n\r\n            Playtech.on('DEPOSIT_COMPLETED', ([{ amount, code, method, status }]) => {\r\n                gtag('event', 'deposit_completed', { 'deposit_status': status });\r\n            });\r\n\r\n            Playtech.on('deposit:success', ([{ amount, code, method, status }]) => {\r\n                gtag('event', 'deposit_completed', { 'deposit_status': status });\r\n            });\r\n\r\n            Playtech.on('DEPOSIT_FAIL', ([{ correlationId, error, errorCode, errorDescription, errorMessage }]) => {\r\n                gtag('event', 'deposit_fail');\r\n            });\r\n\r\n            Playtech.on('deposit:fail', ([{ correlationId, error, errorCode, errorDescription, errorMessage }]) => {\r\n                gtag('event', 'deposit_fail');\r\n            });\r\n\r\n            const isLoggedIn = Playtech.API?.user?.isLoggedIn();\r\n            console.log(`User is ${isLoggedIn ? 'logged in' : 'not logged in'}.`);\r\n        } else {\r\n            console.error(\"Playtech is not defined or not ready. Skipping event listeners.\");\r\n        }\r\n    }\r\n\r\n    // Setup Playtech event listeners\r\n    setupPlaytechListeners();\r\n\r\n    // Dynamically load GTM script if needed\r\n    loadGTM();\r\n\r\n    console.log(\"App Initialization Completed.\");\r\n})();\r\n</script>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"33d985da-426a-470d-9bc9-18326bad3405","tagTypeId":"custom_tag_type","name":"COOKIE_EXCEPT_CSS","description":"COOKIE_EXCEPT_CSS","config":{"beforeEndHead":"<style>\r\n.mobile .CookiesRegulationMessage__container--3ES, .tablet .CookiesRegulationMessage__container--3ES {\r\n  top: 68% !important;\r\n  bottom: 0% !important;\r\n}\r\n</style>","beforeEndBody":""},"conditionIds":["62804f4d-ca84-4c2e-9287-e2e4a4a647ad","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"0b3d396a-03e2-4446-be6c-048f73a9f260","tagTypeId":"custom_js","name":"Remove gender from registration request","description":"Remove gender from registration request","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n  if (!dataMap.sex) {\n    delete dataMap.sex;\n  }\n\n  return { dataMap };\n});"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"f62ee369-8f64-4eb5-8c5e-63ad033dd59c","tagTypeId":"custom_tag_type","name":"SELF_EXCLUSION_FORM","description":"custom_fixs","config":{"beforeEndHead":"<style type=\"text/css\">\r\n.fn-self-exclusion-container.fn-self-exclusion-hidden form, .fn-self-exclusion-container.fn-self-exclusion-hidden h3 {\r\n        display: none;\r\n    }</style>\r\n<script>\r\n    (async () => {\r\n        const element = document.querySelector('.fn-self-exclusion-container');\r\n        \r\n        async function CheckPlayerTag() {\r\n          try {\r\n            const { data: { tags } } = await Playtech.API.user.getPlayerTags('uam/personalData/SE_activated');\r\n\t\t\tconsole.log('Player Tags:', tags);\r\n\r\n            if (tags.length > 0) {\r\n                // player has the tag\r\n                element.classList.add('fn-self-exclusion-hidden');\r\n            }\r\n\r\n          \r\n\r\n        } catch (e) {\r\n            // noop\r\n        }\r\n        }\r\n\r\n        window.addEventListener('submit', () => {\r\n            CheckPlayerTag();\r\n            element.classList.add('fn-self-exclusion-hidden');\r\n        })\r\n        CheckPlayerTag();    \r\n      })();\r\n</script>","beforeEndBody":""},"conditionIds":["5b40bdd4-64b6-4abd-943f-601a9a517fec","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"20bbeacf-1cb9-4943-a97a-6892e2c5121f","tagTypeId":"custom_tag_type","name":"CUSTOM_FIXS","description":"custom_fixs","config":{"beforeEndHead":"<style>\r\n/* Botão exportar histórico de apostas */\r\n.mobile .ExportButton__exportBtn--3tV {\r\n    display: none;\r\n}\r\n\r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"677e760f-9a56-4578-8aa3-2160ee87e3fa","tagTypeId":"custom_tag_type","name":"TOP_Winners","description":"TOP_Winners","config":{"beforeEndHead":"<style> \r\n/* TOP Winners */\r\n .desktop .LineItem__topWinner--2Xs:hover, .LineItem__topWinner--2Xs:active {\r\n    color: #c4c4c4 !important;\r\n    text-decoration: none !important;\r\n}\r\n\r\n.desktop .LineItem__topWinner--2Xs:hover .LineItem__justWon--1fW, .LineItem__topWinner--2Xs:active .LineItem__justWon--1fW {\r\n    color: #fff !important;\r\n}\r\n\r\n.TopWinners__wrapper--3GZ:not(.TopWinners__loader--1vn).TopWinners__lineView--bQT {\r\n   background: #16171f \r\n}\r\n\r\n#application .fn-portlet .TopWinners__lineView--bQT{\r\n /* border-top-color:#97bb3a; */\r\n border-top-color:#4f621d;\r\n border-top-style:solid;\r\n}\r\n\r\n/* Division */\r\n#application .AppRouter__content--DEY #main-content .Layout__layout--hHb #layout-column_column-1 .portlet-top-winners .fn-portlet .TopWinners__lineView--bQT{\r\n border-top-width:0.1px !important;\r\n}\r\n#application .fn-portlet .TopWinners__lineView--bQT{\r\n min-height:26px;\r\n height:26px !important;\r\n}\r\n\r\n.Line__line--3NW div .LineItem__topWinner--2Xs span{\r\n color:#c4c4c4;\r\n}\r\n\r\n.Line__separator--3yh, .LineItem__separator--75T {\r\n    color: #97bb3a;\r\n}\r\n\r\n.LineItem__winAmount--3CM {\r\n    color: #97bb3a !important;\r\n}\r\n</style>","beforeEndBody":""},"conditionIds":["c4622772-39d8-4ed5-b5f7-da25af49c2b8","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"dbed17f3-e40a-45d8-aec8-7b23a21decdf","tagTypeId":"custom_tag_type","name":"leaderboard","description":"leaderboard","config":{"beforeEndHead":"<style>\n\n.desktop [class*=\"Button__secondary--\"] {\n   background-color: #16171f00; \n}\n\n.ReadMore__fadingLine--1mU:before {\n    background: linear-gradient(hsla(0,0%,100%,0),#16171f);\n}\n\n.Button__secondary--TdZ.Button__negative--2aE {\n    color: #fff;\n}\n\n</style>","beforeEndBody":""},"conditionIds":["082998a5-fa08-47da-bb9b-934e2bfea92b","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"08da194f-04cb-4086-b1f2-179209e47f45","tagTypeId":"custom_tag_type","name":"Games__container [Custom CSS]","description":"Games__container [Custom CSS]","config":{"beforeEndHead":"<style>\r\n.desktop [class*=\"Games__container--\"] {\r\n  margin-left: 123px !important;\r\n  margin-right: 33px !important;\r\n  position: static !important;\r\n  padding-top: 25.5em !important;\r\n}\r\n\r\n/* CSS for extra-large desktop screens (min-width: 1700px) */\r\n@media (min-width: 1700px) {\r\n  .desktop [class*=\"Games__container--\"] {\r\n    margin-left: 123px !important;\r\n    margin-right: 33px !important;\r\n    position: static !important;\r\n    padding-top: 25.5em !important;\r\n  }\r\n}\r\n\r\n/* CSS for large desktop screens (min-width: 1501px - max-width: 1699px) */\r\n@media (min-width: 1501px) and (max-width: 1699px) {\r\n  .desktop [class*=\"Games__container--\"] {\r\n    margin-left: 123px !important;\r\n    margin-right: 33px !important;\r\n    position: static !important;\r\n    padding-top: 25.5em !important;\r\n  }\r\n}\r\n\r\n/* CSS for medium desktop screens (min-width: 1024px - max-width: 1500px) */\r\n@media (min-width: 1024px) and (max-width: 1500px) {\r\n  .desktop [class*=\"Games__container--\"] {\r\n    margin-left: 123px !important;\r\n    margin-right: 33px !important;\r\n    position: static !important;\r\n    padding-top: 25.5em !important;\r\n  }\r\n}\r\n\r\n/* CSS for small desktop or larger tablet screens (max-width: 1023px) */\r\n@media (max-width: 1023px) {\r\n  .desktop [class*=\"Games__container--\"] {\r\n    margin-left: 5px !important;\r\n    margin-right: 25px !important;\r\n    position: static !important;\r\n    padding-top: 19em !important;\r\n  }\r\n}\r\n\r\n[class*='Games__header--'] {\r\n  padding: 0 3.2rem !important;\r\n  z-index: 3 !important;\r\n}\r\n\r\n.Game__hoverContainer--2Gb .Game__jackpot--31L {\r\n  line-height: 1em !important;\r\n}\r\n\r\n.desktop [class*=\"Category__heading--\"] {\r\n  position: relative;\r\n  z-index: 1;\r\n  font-size: 16px !important;\r\n  padding: 0 0 0 2.4rem !important;\r\n  /*padding: 0 0 0 28px !important;*/\r\n}\r\n\r\n.Category__category--e-A {\r\n  padding-bottom: 0.1em !important;\r\n}\r\n\r\n.GamesView__slide--2Rr {\r\n  padding: 1.6em 3.5em 28px;\r\n}\r\n\r\n</style>","beforeEndBody":""},"conditionIds":["c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b","f4dc64a5-f739-432a-9b8a-4fe290498e5e"]},{"tagId":"53ccb7f6-f062-4053-8587-016d273529fa","tagTypeId":"custom_tag_type","name":"BANNER_CORRECTION_IMP","description":"BANNER_CORRECTION","config":{"beforeEndHead":"<style> \r\n\r\n.desktop .AppRouter__content--DEY {\r\n    padding-top: 60px !important;\r\n}\r\n\r\n.desktop.root-placard-casino [class*='Slider__slider--'][class*='Banner__slider--'] {\r\n    height: 95vw !important;\r\n}\r\n\r\n.desktop .portlet-banners {\r\n    background: 0 0;\r\n    z-index: 2;\r\n    position: absolute;\r\n    width: 100%;\r\n}\r\n\r\n.desktop .portlet-banner {\r\n    background: 0 0;\r\n    z-index: 1;\r\n    position: absolute;\r\n    width: 100%;\r\n}\r\n\r\n.desktop .banner-container {\r\n    position: relative;\r\n    z-index: 2;\r\n}\r\n\r\n.desktop .Image__image--CkF {\r\n    height: auto;\r\n    width: 100%;\r\n}\r\n\r\n/*.desktop [class*=\"Slider__bullets--\"] ###\r\n.Slider__bullets--FiE\r\n {\r\n    position: relative;\r\n    z-index: 1;\r\n}\r\n*/\r\n\r\n.desktop .footer {\r\n    position: relative;\r\n    z-index: 1;\r\n}\r\n\r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"fe53574b-91a7-47ca-bcd2-93586471c86a","tagTypeId":"custom_tag_type","name":"Sidebar_user_menu_pages","description":"Sidebar_user_menu_pages","config":{"beforeEndHead":"<style>\r\n/* Global Styles */\r\n.desktop [class*=\"Layout__layout--\"] {\r\n    max-width: 100%;\r\n    margin-top: 15px !important;\r\n    padding-left: 0px !important;\r\n}\r\n\r\n/* Layout Column 1 Styles */\r\n.desktop [class*=\"Layout__layout-column-1--\"] {\r\n    padding-left: 142px;\r\n    padding-right: 15px;\r\n}\r\n\r\n/* Footer Styles */\r\n.desktop .footer {\r\n    margin: auto;\r\n    padding-left: 20px;\r\n    padding-right: 15px;\r\n    margin-left: 135px;\r\n    margin-right: 0px;\r\n    max-width: 1400px !important;\r\n\tmargin-top: 60px;\r\n}\r\n\r\n.desktop .footer_content {\r\n    padding-right: 0px !important;\r\n    padding-left: 0px !important;\r\n}\r\n\r\n\r\n\r\n\r\n/* Small desktop or larger tablet screens */\r\n@media (max-width: 1023px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 10px !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        padding-left: 20px !important;\r\n        padding-right: 20px !important;\r\n    }\r\n    .desktop .footer {\r\n        padding-left: 15px;\r\n        padding-right: 15px;\r\n        margin-left: 5px;\r\n        margin-right: 5px;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop .footer_content {\r\n        padding-right: 16px !important;\r\n        padding-left: 16px !important;\r\n    }\r\n    .desktop.footer.footer {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\r\n}\r\n\r\n/* Medium desktop screens */\r\n@media (min-width: 1024px) and (max-width: 1500px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-left: 33px !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        padding-left: 110px !important;\r\n        padding-right: 20px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 140px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\r\n}\r\n\r\n/* Large desktop screens */\r\n@media (min-width: 1501px) and (max-width: 1699px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 0 !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        max-width: 1410px !important;\r\n        padding-left: 100px !important;\r\n        padding-right: 0px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 80px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\t\r\n}\r\n\r\n/* Extra-large desktop screens */\r\n@media (min-width: 1700px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 0 !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        max-width: 1410px !important;\r\n        padding-left: 0px !important;\r\n        padding-right: 0px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 80px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\r\n}\r\n</style>\r\n","beforeEndBody":""},"conditionIds":["f1001d1a-1763-402c-98ea-b6735daab5c3","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"c18009bc-4979-40ff-a804-2caa10770552","tagTypeId":"custom_tag_type","name":"promos_pages","description":"promos_pages","config":{"beforeEndHead":"<style>\r\n/* Global Styles */\r\n.desktop [class*=\"Layout__layout--\"] {\r\n    max-width: 100%;\r\n    margin-top: 15px !important;\r\n    padding-left: 0px !important;\r\n}\r\n\r\n/* Layout Column 1 Styles */\r\n.desktop [class*=\"Layout__layout-column-1--\"] {\r\n    padding-left: 142px;\r\n    padding-right: 15px;\r\n}\r\n\r\n/* Footer Styles */\r\n.desktop .footer {\r\n    margin: auto;\r\n    padding-left: 20px;\r\n    padding-right: 15px;\r\n    margin-left: 135px;\r\n    margin-right: 0px;\r\n    max-width: 1400px !important;\r\n\tmargin-top: 60px;\r\n}\r\n\r\n.desktop .footer_content {\r\n    padding-right: 0px !important;\r\n    padding-left: 0px !important;\r\n}\r\n\r\n\r\n\r\n\r\n/* Small desktop or larger tablet screens */\r\n@media (max-width: 1023px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 10px !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        padding-left: 20px !important;\r\n        padding-right: 20px !important;\r\n    }\r\n    .desktop .footer {\r\n        padding-left: 15px;\r\n        padding-right: 15px;\r\n        margin-left: 5px;\r\n        margin-right: 5px;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop .footer_content {\r\n        padding-right: 16px !important;\r\n        padding-left: 16px !important;\r\n    }\r\n    .desktop.footer.footer {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\r\n}\r\n\r\n/* Medium desktop screens */\r\n@media (min-width: 1024px) and (max-width: 1500px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-left: 33px !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        padding-left: 110px !important;\r\n        padding-right: 20px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 140px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\r\n}\r\n\r\n/* Large desktop screens */\r\n@media (min-width: 1501px) and (max-width: 1699px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 0 !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        max-width: 1410px !important;\r\n        padding-left: 100px !important;\r\n        padding-right: 0px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 80px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\t\r\n}\r\n\r\n/* Extra-large desktop screens */\r\n@media (min-width: 1700px) {\r\n    .desktop [class*=\"Layout__layout--\"] {\r\n        margin-top: 15px !important;\r\n        padding-left: 0 !important;\r\n    }\r\n    .desktop [class*=\"Layout__layout-column-1--\"] {\r\n        max-width: 1410px !important;\r\n        padding-left: 0px !important;\r\n        padding-right: 0px !important;\r\n    }\r\n    .desktop .footer {\r\n        max-width: 1455px !important;\r\n        padding-left: 80px !important;\r\n        padding-right: 15px !important;\r\n        margin: auto;\r\n\t\tmargin-top: 60px;\r\n    }\r\n    .desktop.footer_content {\r\n        padding-right: 0px !important;\r\n        padding-left: 0px !important;\r\n    }\r\n\t\r\n\r\n}\r\n</style>\r\n","beforeEndBody":""},"conditionIds":["bd0b957e-b4a4-4aa9-8b77-52a145b6240c","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"794bf8bd-de9c-4fe0-a57f-4227174f1fa3","tagTypeId":"custom_tag_type","name":"Button on Favorites","description":"Button on Favorites","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\" btn\"] {\r\n       border-radius: 30px !important;\r\n       width: 48%;\r\n  }\r\n</style>","beforeEndBody":""},"conditionIds":["1274f3d7-acfb-488d-b36d-55c3e537266c","c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"66d278c3-909c-4fb3-b82f-f8827dc537e7","tagTypeId":"custom_tag_type","name":"USER_PASSWORD_RECOVER","description":"USER_PASSWORD_RECOVER","config":{"beforeEndHead":"<style> \r\n\r\n.desktop .Label__label--MzX {\r\n    bottom: 3px !important;\r\n}\r\n\r\n.desktop .ChangeForm__form--1hv {\r\n    width: 25em !important;\r\n    margin: 0 auto !important;\r\n    padding: 5px 0 !important;\r\n}\r\n\r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","c121ca90-e336-49c3-8033-a35267b1187b","7e0ba9b1-ad27-43d3-830c-ff44d764fe1b"]},{"tagId":"903f8cfd-043f-4caf-8887-424d1b865678","tagTypeId":"custom_tag_type","name":"Login [Custom CSS]","description":"Login [Custom CSS]","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\"LoginPopup__layout--\"]{\r\n    width: 410px;\r\n  }\r\n  .tablet [class*=\"Popup__popup--\"][class*=\"PageInPopup__container--\"] {\r\n\t\theight: 100%;  \r\n\t\t}\r\n    .mobile [class*=\"Popup__popup--\"][class*=\"PageInPopup__container--\"] {\r\n\t\theight: 100%; \r\n\t\t}\r\n}  \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"a0012fb5-a302-47f8-b9f6-d4fb8fc49604","tagTypeId":"custom_tag_type","name":"MultiSelectForm [Custom CSS]","description":"MultiSelectForm [Custom CSS]","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\"MultiSelectForm__list--\"]{\r\n    background-color: #16171f;\r\n  }\r\n  .tablet [class*=\"MultiSelectForm__list--\"] {\r\n\t\tbackground-color: #16171f;  \r\n\t\t}\r\n    .mobile [class*=\"MultiSelectForm__list--\"] {\r\n\t\tbackground-color: #16171f; \r\n\t\t}\r\n}  \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"35bb3f5f-3cb3-4529-aa5e-dc7be51eb60a","tagTypeId":"custom_tag_type","name":"Search_list [Custom CSS]","description":"Search_list [Custom CSS]","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\"Search__list--\"] [class*=\"Search__item--\"] {\r\n     color: #f9f9f9;\r\n  }\r\n  .tablet [class*=\"Search__list--\"] [class*=\"Search__item--\"]{\r\n\t\tcolor: #f9f9f9;  \r\n\t\t}\r\n    .mobile [class*=\"Search__list--\"] [class*=\"Search__item--\"]{\r\n\t\tcolor: #f9f9f9; \r\n\t\t}\r\n}  \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"92d1dabc-e7f7-40c9-bff7-b9e9e44a7da5","tagTypeId":"custom_tag_type","name":"Popup [Custom CSS]","description":"Popup [Custom CSS]","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\"Popup__popup--\"]\r\n   {\r\n    border-radius: 16px;\r\n  }\r\n\r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"5f5820ea-b99e-4735-8c61-d8ea78f09d8a","tagTypeId":"custom_tag_type","name":"Heading [Custom CSS]","description":"Heading [Custom CSS]","config":{"beforeEndHead":"<style> \r\n.desktop [class*=\"Category__heading--\"]\r\n   {\r\n         text-transform: none;\r\n         font-size: 24px;\r\n  }\r\n  \r\n  .desktop [class*=\"Category__toggleAllGames--\"]\r\n   {\r\n         font-size: 12px;\r\n  }\r\n\r\n}  \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"93fdce63-0dd4-418c-a6b4-61ab6b010203","tagTypeId":"custom_tag_type","name":"Btn [Custom CSS]","description":"Btn [Custom CSS]","config":{"beforeEndHead":"<style> \r\n  .desktop [class*=\" btn\"] {\r\n       border-radius: 30px !important;\r\n       /*width: 100%;*/\r\n  }\r\n  .tablet [class*=\" btn\"] {\r\n        border-radius: 30px !important;\r\n  }\r\n    .mobile [class*=\" btn\"] {\r\n        border-radius: 30px !important;\r\n  }\r\n\r\n .desktop [class*=\"Button__secondary--\"] {\r\n\t\tborder-color: #97bb3a;\r\n\t\tbackground-color: #97bb3a;\r\n\t}\r\n  .tablet [class*=\" Button__secondary--\"] {\r\n\t\tborder-color: #97bb3a;\r\n\t\tbackground-color: #97bb3a;\r\n  }\r\n    .mobile [class*=\"Button__secondary--\"] {\r\n\t\tborder-color: #97bb3a;\r\n\t\tbackground-color: #97bb3a;\r\n\t\t\r\n  }\r\n  \r\n  .desktop [class*=\"1NF:hover\"] {\r\n\t\tbackground-color: hsl(0deg 0% 73% / 58%);\r\n\t\t}\r\n\r\n/* button welcome */\r\n.popup-modal__buttons .btn:only-child, .popup-modal__buttons .popup-modal__button:only-child {\r\n     border-radius: 30px;\r\n}\r\n\r\n/* button logout */\r\n.Button__primary--2u-.Button__success--2dG {\r\nborder-radius: 30px;\r\n}\r\n\r\n.Button__primary--2u-.Button__negative--uZY {  \r\nborder-radius: 30px;\r\n}  \r\n  \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"8ed608eb-bddc-41fe-9443-a4b8a6381dcb","tagTypeId":"custom_tag_type","name":"Select__select [Custom CSS]","description":"Select__select [Custom CSS]","config":{"beforeEndHead":"<style> \r\n.Select__select--7gU {\r\n    background-color: #16171f;\r\n   \r\n</style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"33d9b90d-aeac-4427-b2ae-b4f59a6c8b42","tagTypeId":"custom_tag_type","name":"page_icons","description":"page_icons","config":{"beforeEndHead":"<style>\n[class*=micon-].micon-account-custom { \nbackground-image: url(/library/custom_icons/dados-pessoais.png?siteid=1)!important; \nbackground-size: contain; \nbackground-position: 0 0;\nwidth: 1.56em; \nmin-width: 1.56em; \nheight: 1.56em; \nmin-height: 1.56em;\n} \n\n[class*=\"NavigationBar__listItem--\"][class*=\"NavigationBar__isActive--\"] [class*=micon-].micon-account-custom { \nbackground-image: url(/library/custom_icons/dados-pessoais.png?siteid=1)!important; \nbackground-size: contain; \nbackground-position: 0 0; \n} \n\n\n<style>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"dd1e06d4-2f95-4f85-9cd1-16133f2222eb","tagTypeId":"custom_tag_type","name":"Back button","description":"Back button","config":{"beforeEndHead":"<script>\nfunction goBack() {\n  window.history.back();\n}\n</script>","beforeEndBody":""},"conditionIds":["c121ca90-e336-49c3-8033-a35267b1187b"]},{"tagId":"1b0ee3b1-fbf6-4626-bc73-8bd0dbdaa56b","tagTypeId":"dynamic_client_type","name":"Client type change","description":"Setting up dynamic client type","config":{"clientTypeQueryStringPages":[{"page":"/registo"}],"clientTypeGroups":[{"clientType":"casino","pages":[{"page":"/jackpot"},{"page":"/roleta"},{"page":"/slots"},{"page":"/blackjack"},{"page":"/casino"}]},{"clientType":"sportsbook","pages":[{"page":"/apostas"}]}]},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]}],"conditions":[{"conditionId":"bd0b957e-b4a4-4aa9-8b77-52a145b6240c","conditionTypeId":"page_condition","name":"promos_content_pages","description":"promos_content","config":{"onPageLaunch":"/desafios-placard-pt-tripla,/multiafe-especial-nba,/multisafe,/combi-mais,/grandes-odds,/odds-boost,/odds-boost-max,/rodadas-gratis-halloween,/chaves_benfica_promocao,/rodadas-quentes-gratis,/sl-benfica-x-sporting-cp-promocao,/campeonato-das-triplas-futebol,/boomerang-segundas-sem-drama,/boomerang-registo-sports,/boomerang-registo-casino,/spins-gratis-black-friday,/campeonato-das-triplas-desportos-americanos,/campeonato-das-triplas-multidesporto,/torneio-red-rake-slots, /boomerang-sporting-x-sturm-graz, /calendario-de-natal, /torneio-natal-playtech, /boomerang-boxing-day, /calendario-de-ano-novo, /boomerang-rmadxamad-slbxscb, /torneio-red-rake, /boomerang-open-da-australia, /boomerang-FCPorto-SCBraga, /boomerang-campeonato-europeu-andebol-2024, /missoes-desportivas-pt-casino, /boomerang-at-madrid-real-madrid, /boomerang-leipzig-leverkusen, /torneio-da-nba, /boomerang-finalfour-tacadaliga-2024, /boomerang-atletico-madridxsevilla-copa-rey, /boomerang-deposito-25, /boomerang-do-dia-premier-league, /missoes-fireblaze-pt-casino, /boomerang-do-dia-la-liga, /boomerang-do-dia-liga-2, /boomerang-do-dia-liga-portuguesa, /boomerang-do-dia-DFB-Pokal, /boomerang-do-dia-bundesliga, /boomerang-do-dia-copa-del-rey, /boomerang-do-dia-amigaveis, /missoes-carnaval-pt-casino, /boomerang-do-dia-superbowl, /missoes-dia-dos-namorados, /missoes-carnaval-pt-casino, /boomerang-do-dia-l-europa, /boomerang-do-dia-champions, /boomerang-do-dia-seriea, /boomerang-dia-coupe-de-france, /boomerang-dia-ligue1, /torneio-red-rake-fevereiro-220224, /boomerang-deposito-scpxslb, /missao-slot-do-fim-de-semana-hit-bar, /boomerang-do-dia, /surprize-ptcasino, /golo-golo-golo, /boomerang-rugby-6-nacoes, /missoes-st-patricks-day,/oferta-registo-70FS,/oferta-registo-100FS,/oferta-registo-30AP,/oferta-registo-50AP, /boomerang-nba, /boomerang-miami-open, /boomerang-deposito-porxswe, /missoes-slot-fim-de-semana-16-coins-grand-gold-edtion, /live-streaming, /torneio-red-rake-maio, /boomerang-do-dia-brasileirao, /multisafe-especial-tacas, /slot-do-fim-de-semana-panther-moon, /boomerang-do-dia-taca-de-portugal, /slot-da-semana-36-coins, /promo-goleadores-euro24, /surprize-santos-populares, /missoes-santos-populares, /boomerang-do-dia-euro24, /torneio-red-rake-junho-lotus-dynasty-130624, /missao-slot-do-fim-de-semana-gold-trio, /boomerang-deposito-euro24-portugalxchequia, /surprize-euro2024, /torneio-apostasdesportivas-euro2024, /euro24-turquia-portugal, /odds-boost-max-portugalxeslovenia, /boomerang-deposito-portugalxfranca, /missao-slot-do-fim-de-semana-candy-roll, /boomerang-deposito-portugalxfranca, /boomerang-euro2024-paises-baixos-inglaterra, /surprize-final-euro2024, /boomerang-euro2024-espanha-inglaterra-final, /torneio-red-rake-julho-legacy-of-athena, /boomerang-sturm-graz-x-fc-porto, /boomerang-floriana-x-vitoria-sc, /boomerang-live-scpxbil-5violinos, /boomerang-supertaca-sportingcpxfcporto, /apostas-gratis-vencedor-da-liga, /boomerang-jornada1-sportingcpxrioave, /boomerang-jornada1-fcportoxgilvicente, /boomerang-jornada1-fcfamalicaoxslbenfica, /surprize-deadliest-catch, /boomerang-supertaca-europeia, /boomerang-deposito-jornada-1-premier-league, /torneio-red-rake-agosto-big-size-fishin, /boomerang-liga-portuguesa-classico-sporting-porto, /missao-slot-do-fim-de-semana-lucky-bass-mega-cash-collect-exclusivo, /Boomerang_Liga_Nacoes_Jornada_2_Portugal_Escocia, /boomerang-liga-nacoes-jornada-1-portugal-croacia, /surprize-tiger-jones, /torneio-liga-grandes-odds, /boomerang-liga-campeoes-jornada-1, /boomerang-nfl-jornada-2, /missoes-full-moon, /torneio-red-rake-setembro-bigger-size-fishin, /boomerang-liga-europa-fcporto-manutd, /surprize-quad-link-red, /boomerang-mlb, /missoes-halloween, /multibonus, /6kingstenis, /missoes-slot-do-fim-de-semana-king-of-olympus, /torneio-red-rake-halloween, /pumpkin-pick-halloween, /pumpkin-pick-halloween_spins_gratis, /surprize-mega-fb-breakingbad, /missoes-breakingbad-megafireblaze, /boomerang-premierleague-ipswich-manutd, /torneio-red-rake-million777bells, /boomerang-libertadores-at-mineiro-botafogo, /boomerang-premierleague-liverpool-mcity, /multisafe-nba, /aposta-e-ganha-ao-vivo, /surprize-sweet-and-juicy, /torneio-red-rake-xmas-edition, /aposta-e-ganha-ao-vivo_Braga_Porto, /missoes-calendario-do-advento-pt-casino,/aposta-e-ganha-ao-vivo-gil-sporting,/pontos-pontos-pontos, /aposta-e-ganha-ao-vivo-boxing-day, /sporting-benfica,/oferta-deposito-25FS,/oferta-deposito-50FS,/multisafe-tenis, /surprize-lil-sphinx, /aposta-e-ganha-ao-vivo-taca-da-liga,/torneio-red-rake-cleo-team, /boomerang-final-taca-liga-scpxslb, /registo-sports, /deposito-oa-tenis, /boomerang-juventus-milan, /aposta-e-ganha-ao-vivo-mutd-x-brighton, /aposta-e-ganha-ao-vivo-lei-x-scp, /missoes-piggies-bank-mega-fire-blaze, /boomerang-mundial-andebol-portugal-alemanha, /aposta-e-ganha-torneio-6-nacoes, /golos-fcporto-sportingcp, /deposito-superbowl-59, /missoes-gold-trio-leprechauns-luck-exclusivo, /deposito-competicoes-europeias-playoffs-25, /torneio-red-rake-hawaiitopia, /aposta-e-ganha-ao-vivo-tot-manu-liv-wol, /missao-valentines, /boomerang-sixnations-inglaterra-escocia, /surprize-goldtrio-leprechauns-luck, /registo-doncic-la-mavs-7-aposta-gratis, /aposta-e-ganha-ao-vivo-slbxscb-gilxscp, /motogp-deposito-apostasgratis-spinsgratis, /slot-da-semana-ptcasino, /deposito-indianwells-apostagratis, /aposta-e-ganha-ao-vivo-slbxfcb-rmadxamad, /boomerang-scbraga-fcporto, /boomerang-sixnations-irlanda-franca, /formula-1-deposito-apostasgratis-spinsgratis, /crashback-ate-25, /missoes-saint-patricks-day, /multiplas-competicoes-europeias-aposta-gratis, /aposta-e-ganha-ao-vivo-amad-x-bar, /aposta-gratis-5-euros-indian-wells, /torneio-red-rake-saint-patricks, /deposito-miamiopen-apostagratis, /boomerang-liga-das-nacoes-multiplas, /desafio-nhl-nba-fb10, /cashback-jogos-de-mesa-ate-250-euros, /surprize-bullseye-bandits, /aposta-gratis-regresso-brasileirao, /desafio-ncaa-march-madness, /football-fiesta-regresso-brasileirao, /aposta-gratis-5-euros-miami-open, /torneio-red-rake-guardians-of-luxor, /desafio-regresso-mlb, /golos-palmeiras-botafogo, /multisafe-mlb, /aposta-e-ganha-ao-vivo-amad-bar, /missoes-dia-das-mentiras, /boomerang-nba-hawks-x-knicks, /boomerang-mlb-red-sox-x-cardinals, /aposta-e-ganha-na-nhl, /aposta-e-ganha-na-nba, /boomerang-nhl-maple-leafs-x-panthers, /f1-gpjapao-deposita-e-ganha, /classico-fcp-slb-registo-aposta-gratis-extra, /aposta-e-ganha-ao-vivo-fcp-slb, /boomerang-classico-fcp-slb, /deposito-montecarlo-apostagratis, /desafio-competicoes-europeias-uefa, /missoes-god-of-storms-fire-blaze, /aposta-e-ganha-f1-motogp, /surprize-fashiontv-cash-collect, /multisafe-futebol-fim-de-semana, /multisafe-placard-pt-generico, /super-bonus-de-deposito-ate-150-euros, /aposta-e-spins-gratis-com-nuno-borges-bmw-munique, /cashback-multiplas, /desafio-playoff-nba, /desafio-playoff-nhl, /aposta-e-ganha-mlb, /jogos-de-mesa, /boomerang-mlb-semanal, /gira-e-ganha-pascoa-free-2-play, /deposito-mutuamadridopen, /aposta-e-spins-gratis-com-nuno-borges, /tacadorei-registo, /cashback-slots-ate-250-euros, /missoes-golden-tour, /missao-do-mes, /madrid-atp-finais, /torneio-rr-sugar-burst, /benfica-sporting-registo, /multisafe-futebol, /aposta-e-ganha-ao-vivo-slb-scp, /desafio-super-fim-de-semana-slb-scp,/levantamentos-imediatos, /surprize-oink-oink-oink-pharaohs, /torneio-rr-vegas-all-in, /roma-atp-1000-finais, /aposta-sem-risco-liga-portugal, /tacaportugal-registo, /desafio-wnba, /desafio-futebol-tacaportugal, /missoes-buffalo-blitz-cash-collect, /deposito-roland-garros, /final-champions_psg_inter-registo, /marcador-final-conferencia-betis-chelsea, /desafios-santos-populares, /aposta-e-ganha-liga-nacoes-ALExPOR, /missoes-lucky-bass, /aposta-e-ganha-portugal-campeao-liga-nacoes, /registo-mundial, /football-fiesta-mundial, /surprize-blue-wizard-cc-and-link, /aniversario-cashback, /aniversario-multiplas, /aniversario-modalidades, /missao-aniversario, /cashback-36-coins-ate-250, /aposta-ganha-wimbledon, /desafios-semana-de-ouro-placard-pt, /surprize-joker-spin-and-roll, /aposta-e-ganha-mundial, /2-golos-vantagem, /missoes-solar-eclipse-desert-treasure, /torneio-red-rake-super-60-stars, /deposito-supertaca-slb-scp, /vencedor-liga-slb-fcp-scp-aposta-gratis, /missoes-wizards, /deposito-primeira-jornada, /surprize-sahara-riches-cash-collect-max, /deposita-aposta-ganha-slbenfica-nice, /desafio-liga-portugal, /desafios-playoffs-fut-uefa, /desafios-top5-fut-europa, /missoes-the-racaroon, /aposta-ganha-usopen, /classico-scp-fcp-registo, /desafios-eurobasket, /deposita-ganha-nfl, /aposta-e-ganha-liverpool-arsenal, /aposta-e-ganha-armenia-portugal, /aposta-e-ganha-hungria-portugal, /aposta-e-ganha-nfl, /aposta-e-ganha-city-united, /aposta-e-ganha-final-eurobasket, /missoes-blackbeards-hoard, /torneio-red-rake-azteca-gold-collect, /aposta-e-ganha-champions-slb-qar, /deposita-ganha-mundialvolei-por-usa, /surprize-mystic-mines_pt_casino, /aposta-e-ganha-champions-scp-kai, /aposta-e-ganha-duplo-derbi, /aposta-e-ganha-marcadores-ars-mcity, /aposta-e-ganha-europa-rbs-fcp, /aposta-e-ganha-ligaportugal-slbxgvfc, /aposta-ganha-laliga-atm-x-rma, /aposta-e-ganha-aovivo-2jogos, /missoes-white-witch-fire-blaze, /desafio-uefa, /classico-fcp-slb-registo, /aposta-ganha-marcadores, /deposita-ganha-atp-shanghai, /surprize-king-of-giza, /qualificacoes-por-irl-registo, /torneio-rr-halloween-wins-3, /aposta-ganha-multipla-por-hun, /aposta-ganha-atp250, /deposita-aposta-ganha-regresso-ligas, /missoes-halloween-2025, /deposita-ganha-react-nba, /aposta-ganha-mult-new-slb, /aposta-ganha-mult-scp-oma, /aposta-ganha-multipla-liga-europa, /especial-registo-el-clasico, /deposito-atp1000-paris, /aposta-ganha-taca-liga-4osfinal, /aposta-ganha-vsc-fcp, /habanero-jackpot-races, /surprize-9-stars-ablaze, /aposta-e-ganha-juventus-x-sporting-cp, /aposta-ganha-benfica-leverkusen, /aposta-ganha-europa-fcp-scb, /aposta-ganha-ligas-europeias, /registo-extra-irlanda-portugal, /aposta-e-ganha-atp-finals-turin, /deposita-aposta-ganha-nba, /aposta-e-ganha-portugal-x-armenia, /aposta-e-ganha-qualificacao-mundial-2026, /missoes-walking-dead, /aposta-ganha-nba, /aposta-ganha-ajax-benfica, /aposta-ganha-sporting-brugge, /desafios-boosts-blackweek, /especial-registo-benfica-sporting, /aposta-ganha-top-futebol, /aposta-ganha-porto-vitoria, /aposta-blackfriday, /missoes-mega-coins-red-rake, /cashback-derbi, /aposta-ganha-bayern-sporting, /aposta-ganha-benfica-napoles, /aposta-ganha-europa-scb-fcp, /surprize-big-sumo, /aposta-ganha-nba-cup, /missoes-santas-gifts-frenzy, /calendario-natal-2025, /missoes-de-natal-2025, /boxing-day-2025, /especial-registo-ano-novo, /ano-novo-2026, /missoes-million-christmas-3, /aposta-ganha-regresso-competicoes, /aposta-ganha-united-cup, /surprize-81-gold-cascade, /aposta-ganha-sporting-vitoria, /aposta-ganha-benfica-braga, /aposta-ganha-supertacas, /missoes-tropical-talisman, /casino-playtech, /aposta-ganha-final-taca-liga, /aposta-ganha-porto-benfica-tp, /aposta-ganha-superbowl-2026, /aposta-ganha-euro-futsal-2026, /surprize-ready-steady-robo, /missoes-oink-oink-oink-astrosnouts, /aposta-ganha-campeao-brasileirao, /aposta-ganha-brasileirao, /aposta-ganha-liga-europa, /aposta-ganha-champions, /missoes-cash-pig-2, /aposta-ganha-tacas-europeias, /aposta-ganha-six-nations, /classico, /brasileirao, /top-futebol, /torneio-red-rake-triple-valentine, /champions, /surprize-semana-mitologia-grega,/liga-portugal, /deposito-especial, /ligas-europeias, /tenis-promocoes, /missoes-bonus-superiores-mina-de-ouro-plus, /early-win-2-golos-vantagem"}},{"conditionId":"fcf6fa97-3ee2-4756-83e7-904a113d630e","conditionTypeId":"page_condition","name":"legal_pages_placard_theme","description":"legal_pages_placard_theme","config":{"onPageLaunch":"/termos-e-condicoes,/jogos-olimpicos-2024,/privacidade-e-cookies,/politica-de-bonus,/protecao-e-seguranca,/faq,/glossario_de_apostas,/regras-apostas,/politica-de-jogo-responsavel,/faqs-jogo-responsavel,/sobre-nos"}},{"conditionId":"f1001d1a-1763-402c-98ea-b6735daab5c3","conditionTypeId":"page_condition","name":"Sidebar_static_pages","description":"Sidebar_static_pages","config":{"onPageLaunch":"/autenticacao-multifator,/preferencias-de-contacto,/depositar,/transacoes,/transacoes-financeiras,/levantar,/historico-de-apostas,/levantamentos-pendentes,/detalhes-pessoais,/alterar-password,/valida-o-de-documentos,/saldo,/limites-de-deposito,/limites-de-aposta,/limites-de-perda,/autoexclusao,/reality-check,/pausa-de-jogo,/alterar-pin,/validacao-de-documentos,/transacoes-menu,/jogo-responsavel-menu,/metodos-de-pagamento,/recuperar-password,/validacao-de-identidade,/a-minha-conta,/politica-de-jogo-responsavel,/faq,/afiliados,/descarregar-app-mobile,/politica-de-bonus,/protecao-e-seguranca,/regras-apostas,/sobre-nos,/termos-e-condicoes,/privacidade-e-cookies,/promocoes,/tutoriais,/descarregar-app-android,/minhas-promocoes,/quiz,/depositar-quick,/deposito-bem-vindo,/recomendados,/Regulamento-jornada1-2324,/jogar-responsavelmente,/faqs-jogo-responsavel,/contactos,/multisafe-nba,/registo-casino,/glossario_de_apostas,/minhas-promocoes-casino,/minhas-promocoes-menu,/minhas-promocoes-menu,/validacao-de-identidade-v2"}},{"conditionId":"f4dc64a5-f739-432a-9b8a-4fe290498e5e","conditionTypeId":"page_condition","name":"Pages with banner","description":"Pages with banner","config":{"onPageLaunch":"/casino,/slots,/jackpot,/roleta,/blackjack,/jogos-de-mesa"}},{"conditionId":"c4622772-39d8-4ed5-b5f7-da25af49c2b8","conditionTypeId":"page_condition","name":"TOP_Winners_pages","description":"TOP_Winners_pages","config":{"onPageLaunch":"/casino,/slots,/jackpot,/roleta,/blackjack,/novos-app,/destaques-app,/populares-app,/recomendados-app,/jackpot-app,/blackjack-app,/roleta-app,/slots-app,/playtech,/red-rake,/wazdan,/habanero,/jogos-de-mesa"}},{"conditionId":"62804f4d-ca84-4c2e-9287-e2e4a4a647ad","conditionTypeId":"page_condition","name":"privacidade-e-cookies-popup-cookies","description":"privacidade-e-cookies-popup-cookies","config":{"onPageLaunch":"/privacidade-e-cookies"}},{"conditionId":"5b40bdd4-64b6-4abd-943f-601a9a517fec","conditionTypeId":"page_condition","name":"SELF_EXCLUSION_FORM","description":"SELF_EXCLUSION_FORM","config":{"onPageLaunch":"/autoexclusao"}},{"conditionId":"082998a5-fa08-47da-bb9b-934e2bfea92b","conditionTypeId":"page_condition","name":"leaderboard","description":"leaderboard","config":{"onPageLaunch":"/leaderboard-details"}},{"conditionId":"f1453e1b-0510-4713-88ab-75789565abf9","conditionTypeId":"page_condition","name":"user_pass_recover","description":"user_pass_recover","config":{"onPageLaunch":"/password-recuperar,/utilizador-recuperar"}},{"conditionId":"7399cf17-4a16-4c73-b13c-602fc81bff53","conditionTypeId":"page_condition","name":"Pages with sidebar","description":"Pages with sidebar","config":{"onPageLaunch":"/contactos"}},{"conditionId":"7f710888-b702-484d-850d-6de56627f6a1","conditionTypeId":"page_condition","name":"Sidebar_pages_menus","description":"Sidebar_pages_menus","config":{"onPageLaunch":"/autenticacao-multifator,/preferencias-de-contacto,/depositar,/transacoes,/transacoes-financeiras,/levantar,/historico-de-apostas,/levantamentos-pendentes,/detalhes-pessoais,/alterar-password,/valida-o-de-documentos,/saldo,/limites-de-deposito,/limites-de-aposta,/limites-de-perda,/autoexclusao,/reality-check,/pausa-de-jogo,/alterar-pin,/validacao-de-documentos,/transacoes-menu,/jogo-responsavel-menu,/metodos-de-pagamento,/recuperar-password,/validacao-de-identidade,/a-minha-conta"}},{"conditionId":"2e8efb76-a57f-4649-a581-c2150f965afe","conditionTypeId":"page_condition","name":"Promos_sidebar_fix","description":"Sidebar_static_pages","config":{"onPageLaunch":"/slb-benfica-fc-porto-promocao-280923"}},{"conditionId":"91c02f6d-c5aa-43de-8728-9da8fc290623","conditionTypeId":"page_condition","name":"Sidebar_games_pages","description":"Sidebar_games_pages","config":{"onPageLaunch":"/novos-app,/destaques-app,/populares-app,/jackpot-app,/blackjack-app,/roleta-app,/slots-app,/playtech,/red-rake,/wazdan,/habanero"}},{"conditionId":"d640eb76-75fa-4a7f-a062-9b0b10008b56","conditionTypeId":"page_condition","name":"Paginas full_screen","description":"Paginas full_screen","config":{"onPageLaunch":"/manutencao"}},{"conditionId":"9cee3c3f-7fdd-4607-94a9-2d3701f4d2b4","conditionTypeId":"page_condition","name":"temp_50_50","description":"temp_50_50","config":{"onPageLaunch":"/populares-app,/recomendados-app,/destaques-app"}},{"conditionId":"5e0852c7-f973-4222-99b6-8588147f82fa","conditionTypeId":"page_condition","name":"Historico de apostas","description":"Historico de apostas","config":{"onPageLaunch":"/historico-de-apostas"}},{"conditionId":"8251a559-2ca7-44c4-a5c7-76ac77d838d8","conditionTypeId":"basic_condition","name":"On app init","description":"On app init","config":{"launch":"onAppInit"}},{"conditionId":"c121ca90-e336-49c3-8033-a35267b1187b","conditionTypeId":"basic_condition","name":"Before page rendered","description":"Before page rendered","config":{"launch":"beforePageRendered"}},{"conditionId":"7e0ba9b1-ad27-43d3-830c-ff44d764fe1b","conditionTypeId":"basic_condition","name":"After page rendered","description":"After page rendered","config":{"launch":"afterPageRendered"}},{"conditionId":"1274f3d7-acfb-488d-b36d-55c3e537266c","conditionTypeId":"page_condition","name":"Page Favorites","description":"Page Favorites","config":{"onPageLaunch":"/favoritos"}}]}