:root {
  /* --- Latar Belakang & Layout --- */
  --bg-main: #0c1520;                         /* Deep teal/blue-dark bawaan */
  --bg-dark-container: #0a0813;               /* Hitam keunguan pekat */
  --bg-card-purple: #181325;                  /* Ungu gelap komponen */
  
  /* --- Palet Neon PARIS123 & Aksen Premium --- */
  --brand-pink-neon: #ff2a85;                 /* Pink/Magenta menyala */
  --brand-dark-pink: #b92b75;                 /* Magenta dasar tombol */
  --brand-gold-bright: #ffd700;               /* Emas terang premium */
  --brand-cyan-glow: #00b8d8;                 /* Cyan interaktif utama */
  --brand-cyan-light: #5dd4f0;                /* Cyan muda untuk highlight */
  
  /* --- Status & Teks --- */
  --text-white: #ffffff;
  --text-muted: #aca4c2;
  --text-dark-grey: #676767;
}

/* ==========================================================================
   1. Struktur Dasar, Header, & Navigasi
   ========================================================================== */
body {
  background-color: var(--bg-main);
}

.site-header {
  background: linear-gradient(to right, #062d42 0%, #003444 100%);
  box-shadow: inset 0 2px 1px rgba(255, 255, 255, 0.1);
}

.topbar-container {
  border-bottom-color: #171b34;
  background-color: #0f181f;
}

.topbar-left-section .topbar-item,
.topbar-left-section .topbar-item a {
  color: #d5d5d5;
}

.topbar-left-section .topbar-item + .topbar-item {
  border-left-color: #322b4c;
}

.topbar-left-section .language-selector-container,
.topbar-left-section .topbar-item a:hover {
  color: var(--text-white);
}

.topbar-left-section .language-selector-trigger:after {
  border-color: var(--text-white) transparent transparent;
}

.topbar-left-section .language-selector-trigger[data-active=true]:after {
  border-bottom-color: var(--text-white);
}

.topbar-left-section .language-selector {
  background-color: #0b0917;
}

.topbar-left-section .language-selector li {
  background-color: #0f181f;
}

.topbar-left-section .language-selector li:hover {
  background-color: var(--brand-cyan-glow);
}

/* Top Menu Navigation */
.top-menu > li {
  color: var(--text-white);
}

.top-menu > li + li:before {
  background: #0a5f80;
}

.top-menu > li:hover,
.top-menu > li[data-active=true] {
  color: var(--brand-cyan-glow);
}

.top-menu .game-list-container {
  background-color: rgba(5, 28, 45, 0.98);
  border-bottom-color: var(--brand-cyan-glow);
}

.top-menu .games-container > li {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, var(--brand-cyan-glow) 100%);
}

.top-menu .games-container > li:hover > a {
  background-color: rgba(0, 120, 140, 0.25);
}

.top-menu .games-container > li > a img {
  background: linear-gradient(180deg, var(--bg-dark-container) 25%, #004d66 100%);
}

/* Nav Bar & Side Menu */
.standard-nav-bar .nav-bar-title,
.standard-nav-bar a:not([data-active=true]):hover,
.standard-side-menu a:not([data-active=true]):hover {
  color: var(--brand-cyan-light);
  border-color: var(--brand-cyan-light);
}

.standard-nav-bar a,
.standard-side-menu a {
  border-color: #171225;
  background-color: #171225;
  color: var(--text-white);
}

.standard-nav-bar a[data-active=true],
.standard-side-menu a[data-active=true] {
  background-color: var(--brand-cyan-glow);
  background-image: linear-gradient(to right, var(--brand-cyan-glow) 0%, #005a70 100%);
}

.standard-side-menu {
  background-color: #120e1d;
  color: var(--text-white);
}

/* ==========================================================================
   2. Modals & Popups (Tema Gelap Premium)
   ========================================================================== */
.modal-body,
.modal-footer,
.simple-modal .modal-header {
  background-color: #0e0b16;
  color: var(--text-white);
}

.modal-footer {
  border-top: 1px solid #1f1934;
}

.modal-footer .btn-secondary {
  background: transparent;
  color: var(--text-white);
}

.modal-footer .btn-secondary:hover {
  color: var(--brand-cyan-glow);
}

.modal-footer .btn-primary {
  color: var(--text-white);
  background: var(--brand-cyan-glow);
  background-image: linear-gradient(to right, var(--brand-cyan-glow) 0%, #003444 100%);
}

.modal-footer .btn-primary:hover {
  background: #003444;
  background-image: linear-gradient(to right, #003444 0%, var(--brand-cyan-glow) 100%);
}

/* Bonus Slider & Claim Modal */
.bonus-slider-modal .modal-body,
.bonus-slider-modal .modal-footer {
  background-color: #120e1a;
  border-color: #1f1934;
}

.bonus-slider-modal .activation-button {
  background-color: var(--brand-cyan-glow);
  color: var(--text-white);
}

.bonus-slider-modal .activation-button:hover {
  background-color: #00a8d0;
}

.bonus-slider-modal .close-button {
  background-color: #312a3f;
}

.bonus-slider-modal .close-button:hover {
  background-color: #241e30;
}

.bonus-slider-modal .bonus-form {
  background-color: #1a1526;
  color: #dad9d9;
  border-top-color: var(--brand-pink-neon);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

.bonus-controls-field .bonus-control-button {
  background-color: #2d253b;
  color: #b0aad0;
  border: 1px solid rgba(255, 42, 133, 0.2);
}

.bonus-controls-field .bonus-amount,
.bonus-range .bubble {
  background-color: #0c0914;
  color: var(--brand-cyan-glow);
}

.bonus-range .bubble {
  color: var(--text-white);
  border-color: var(--brand-cyan-glow);
}

.bonus-range .bubble::before {
  border-color: rgba(0, 0, 0, 0);
  border-top-color: var(--brand-cyan-glow);
}

.bonus-range .bubble::after {
  border-color: rgba(12, 9, 20, 0);
  border-top-color: #0c0914;
}

/* Confirmation Message Modal */
.confirmation-message-modal .modal-header {
  background-color: #171328;
  border-bottom-color: rgba(255, 42, 133, 0.2);
}

.confirmation-message-modal h4.modal-title,
.claim-info-modal h4 {
  color: var(--text-white);
}

.confirmation-message-modal .modal-body {
  background-color: #120e1d;
}

.confirmation-message-modal .confirm-btn,
.confirmation-message-modal .confirm-btn.blank {
  background: #251e36;
  color: #a5a5a5;
  border-color: #312745;
}

.confirmation-message-modal .confirm-btn:hover,
.confirmation-message-modal .confirm-btn.blank:hover {
  background: var(--brand-pink-neon);
  color: var(--text-white);
  border-color: var(--brand-pink-neon);
}

.forgot-password-modal .modal-body,
.register-modal .modal-body {
  background-color: #141125;
  color: #b0aad0;
}

.simple-modal .btn-secondary {
  border: 1px solid var(--brand-cyan-glow);
  color: var(--brand-cyan-glow);
}

/* ==========================================================================
   3. Form Standar, Input, & Validasi
   ========================================================================== */
.standard-form-content {
  background: rgba(15, 12, 27, 0.98);
  color: var(--text-white);
}

.standard-form-title {
  color: var(--brand-cyan-glow);
}

.standard-form-sub-title {
  border-left-color: var(--brand-cyan-glow);
}

.standard-form-note,
.standard-inline-form-group label,
.standard-form-note.claim-note span,
.standard-form-note.claim-note strong,
.standard-form-content .offline-container {
  color: var(--text-white);
}

.standard-form-note a {
  color: var(--brand-cyan-glow);
}

.standard-form-note span,
.standard-form-note strong {
  color: var(--brand-cyan-glow);
}

.mobile-app-container .mobile-app-select,
.standard-form-content .form-control,
.standard-inline-form-group .form-control,
.standard-reporting-control-group > input,
.otp-input {
  background-color: #0c0914;
  border-color: #251b3a;
  color: var(--text-white);
}

.standard-inline-form-group .form-control[disabled],
.standard-inline-form-group .form-control[readonly] {
  background-color: #161121;
}

.field-validation-error,
.standard-required-message,
.standard-inline-form-group [data-section=asterisk],
.mobile-app-container .tab-pane .note,
.claim-item .claim-title .expiration-note {
  color: var(--brand-pink-neon);
}

.mobile-app-container .tab-pane .important {
  color: var(--brand-gold-bright);
}

/* Buttons Group */
.deposit-container .reveal-bank-account-button,
.standard-button-group .btn-primary,
.standard-reporting-control-group .btn-primary {
  background: var(--brand-cyan-glow);
  background-image: linear-gradient(to right, var(--brand-cyan-glow) 0%, #003444 100%);
  color: var(--text-white);
}

.deposit-container .reveal-bank-account-button:hover,
.standard-button-group .btn-primary:hover,
.standard-reporting-control-group .btn-primary:hover {
  background: #003444;
  background-image: linear-gradient(to right, #003444 0%, var(--brand-cyan-glow) 100%);
}

.standard-button-group .btn-primary[disabled] {
  background-color: #29243d;
  color: #67617c;
}

/* ==========================================================================
   4. User Wallets, Deposit, & Withdrawal
   ========================================================================== */
.standard-profile-bar {
  background-color: rgba(15, 12, 27, 0.98);
  color: #d5d5d5;
}

.standard-profile-bar .username-field .username {
  color: #827ab1;
}

.standard-profile-bar .balance-field .balance,
.withdrawal-container .total-balance {
  color: var(--brand-cyan-glow);
}

.withdrawal-container .total-balance {
  border-bottom: 1px solid #322b4c;
}

.user-info {
  color: var(--text-white);
}

.user-info .user-main-info {
  background: #1c172b;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.user-info .balance > a > span,
.user-info .balance > span {
  color: #00ffc0; /* Hijau balance tetap dipertahankan untuk indikator uang aman */
}

.user-info .balance .locked-balance {
  background: #2a243a;
  color: var(--text-white);
}

.user-info .wallet-container > .balance::after {
  border-top-color: var(--text-white);
}

.user-info .wallet-container > .balance.open::after {
  border-color: var(--text-white);
}

.user-info .vendor-balances-container {
  border-color: var(--brand-cyan-glow);
  background-color: rgba(10, 8, 19, 0.95);
}

.user-info .vendor-balances-container .vendor-balances-header,
.user-info .vendor-balances-container strong {
  color: var(--brand-cyan-glow);
  border-color: var(--brand-cyan-glow);
}

.user-info .vendor-balances-container .vendor-balance-item {
  color: var(--text-white);
}

.deposit-container .formatted-balance,
.deposit-container .standard-form-note a {
  color: var(--brand-gold-bright);
}

.deposit-container .bank-info,
.withdrawal-container .bank-info,
.payment-maintenance-container,
.remarks-container,
.modal-body .pending-transaction-details-container {
  background-color: #141021;
  color: var(--text-white);
}

.deposit-container .deposit-amount .currency-suffix,
.deposit-container .deposit-amount input.form-control,
.deposit-container .real-deposit-amount {
  color: var(--brand-pink-neon);
}

/* ==========================================================================
   5. Item Claim & Promosi Section
   ========================================================================== */
.claim-item {
  background-color: var(--bg-card-purple);
  color: var(--brand-cyan-light);
  border-radius: 10px;
  padding: 10px;
}

.claim-item .activation-button,
.claim-item .cancellation-button,
.claim-item .expiration-button {
  background-color: var(--brand-dark-pink);
  color: var(--text-white);
}

/* Tombol Claim Utama - Efek Hijau Sukses Gradasi Sempurna */
.claim-item .claim-button {
  border-color: #e4ff23;
  color: #000;
  background: linear-gradient(to bottom, #00ff23 0%, #009d16 100%);
}

.claim-item .activation-button:hover,
.claim-item .cancellation-button:hover,
.claim-item .claim-button:hover,
.claim-item .expiration-button:hover {
  background-color: #003444;
}

.promotion-list,
.promotion-side-menu {
  background-color: #0c0a17;
  border-color: #120f23;
}

.promotion-side-menu > h5 {
  color: #b0aad0;
}

.promotion-side-menu > a {
  border-bottom-color: #120f23;
  color: var(--text-white);
}

.promotion-side-menu > a:hover,
.promotion-side-menu > a[data-active=true] {
  background-color: #17132a;
  border-left-color: var(--brand-cyan-glow);
}

.promotion-item {
  background-color: #270730; /* Ungu gelap kasino */
  border: 1px solid rgba(255, 42, 133, 0.2);
}

.promotion-item .promotion-footer {
  color: var(--text-white);
}

.promotion-item .click-for-get-promo-button {
  background-color: var(--brand-dark-pink);
  color: var(--text-white);
}

.promotion-item .click-for-get-promo-button:hover {
  background-color: var(--brand-pink-neon);
}

/* ==========================================================================
   6. Game Grid & Kontainer Halaman Utama
   ========================================================================== */
[data-container-background=arcade],
[data-container-background=crash-game],
[data-container-background=general],
[data-container-background=home],
[data-container-background=others],
[data-container-background=slots],
.game-list,
.games-list-container .game-info,
.provider-outer-container {
  background-color: var(--bg-dark-container);
}

[data-container-background=casino],
[data-container-background=race] {
  background-color: #050310;
}

.games-list-container {
  background-color: rgba(5, 28, 45, 0.74);
  border-radius: 15px;
}

.games-list-container .filter-section {
  background: linear-gradient(to right, #003444 0%, #00222e 100%);
}

.games-list-container .filter-section input[type=text] {
  border-color: #0088a0;
  background: #0a1520;
  color: var(--text-white);
}

.games-list-container .filter-section:after {
  background-color: var(--brand-cyan-glow);
  color: var(--text-white);
}

.games-list-container .category-filter-link {
  color: var(--text-white);
}

.games-list-container .category-filter-link.active,
.games-list-container .category-filter-link:hover {
  background-color: var(--brand-cyan-glow);
}

.game-list-title {
  background-image: linear-gradient(transparent calc(50% - 1px), rgba(255, 42, 133, 0.3) 2px, transparent calc(50% + 1px));
  background-color: #02071c;
}

.game-list-title > div {
  background-color: inherit;
  color: #edeff6;
}

.game-list {
  border-color: #004d66;
}

.game-list .game-item {
  background: linear-gradient(to bottom, #12202c 0%, #0c1520 100%);
}

.game-list .game-name {
  color: var(--text-white);
}

.game-list .provider-name {
  color: var(--brand-cyan-glow);
}

.game-list .link-container,
.arcade-game-list,
.crash-game-game-list {
  background-color: rgba(5, 28, 45, 0.85);
}

/* Large Game List */
.large-game-list-container .section-heading h4 {
  color: var(--text-white);
}

.large-game-list-container .large-game-list .play-now,
.play-now {
  color: var(--text-white);
  background: linear-gradient(to right, var(--brand-cyan-glow) 0%, #006080 100%);
}

.large-game-list-container .large-game-list .play-now:hover,
.play-now:hover {
  color: var(--text-white);
  background: linear-gradient(to right, #006080 0%, var(--brand-cyan-glow) 100%);
}

.large-game-list-container .large-game-list .free-play,
.free-play {
  color: #d3d3d3;
}

.large-game-list-container .large-game-list .free-play:hover,
.free-play:hover {
  color: var(--text-white);
}

.large-game-list .link-container {
  background-color: rgba(0, 0, 0, 0.7);
}

.large-game-list .bottom-link-container {
  background-color: #091122;
}

.large-game-list li {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, var(--brand-cyan-glow) 100%);
}

.large-game-list img {
  background: linear-gradient(180deg, var(--bg-dark-container) 25%, #004d66 100%);
}

.large-game-list li a.game-info {
  border-color: var(--brand-cyan-glow);
  color: var(--brand-cyan-glow);
}

.large-game-list li a.game-info:focus,
.large-game-list li a.game-info:hover {
  color: var(--brand-cyan-light);
  border-color: var(--brand-cyan-light);
}

/* ==========================================================================
   7. Progressive Jackpot Box & Widget
   ========================================================================== */
.home-progressive-jackpot .jackpot-border-container {
  text-shadow: 0 0 15px var(--brand-pink-neon), 0 0 25px var(--brand-pink-neon);
}

.progressive-jackpot .jackpot-container {
  color: var(--brand-gold-bright);
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
}

.expiration-countdown [data-section] {
  background-color: #491735;
  color: var(--text-white);
  border-color: #705b68;
}

.expiration-countdown [data-value] {
  background-color: #f6f6f6;
  color: #491735;
}

/* ==========================================================================
   8. Tables, Reports, & Messaging Center
   ========================================================================== */
.standard-form-content .table thead,
.standard-reporting-scroll-container .table thead {
  background-color: #171225;
  border-color: #231b38;
}

.standard-form-content .table thead tr th,
.standard-reporting-scroll-container .table thead tr th {
  border-color: #231b38;
  color: var(--text-white);
}

.standard-form-content .table tbody,
.standard-reporting-scroll-container .table tbody,
.profile-summary-table.table tbody {
  background-color: #130f21;
}

.last-transaction-table.table tbody {
  background-color: #120e1d;
}

.standard-form-content .table tbody td,
.standard-reporting-scroll-container .table tbody td {
  border-color: #231b38;
  color: var(--text-muted);
}

.table, .table .table {
  color: #bbb;
}

.message-detail-title {
  color: var(--text-white);
  border-bottom-color: #2c253d;
}

.replied-message {
  color: #858585;
  border-bottom-color: #2c253d;
}

.replied-message[data-creator=true] .replied-message-content {
  background-color: #1a1629;
}

.message-table,
.message-table-header .buttons-container a {
  color: #d5d5d5;
}

.message-table-header .buttons-container a:hover {
  background-color: var(--brand-dark-pink);
  color: var(--text-white);
}

.message-table-body .checkbox-column,
.message-table-body .message-column {
  border-top-color: var(--brand-cyan-glow);
}

/* ==========================================================================
   9. Footer, Info Brands, & Lain-lain
   ========================================================================== */
.site-info-container {
  background-color: #0e0c1a;
}

.site-info-container .section-title,
.footer-section-title,
.percentCount,
.provider-container > legend,
.site-info .site-info-title h3 {
  color: #d5d5d5;
}

.site-info-inner-container {
  color: #74708f;
}

.site-info-inner-container .site-links-container,
.footer-links > li + li > a,
.footer-separator,
.provider-container,
.site-info .site-info-description.with-seperator + .with-seperator,
.site-info .site-info-title {
  border-color: #221c3a;
}

.footer-links > li > a,
.site-info-inner-container .footer-links li a {
  color: #74708f;
}

.footer-links > li > a:hover,
.site-info-inner-container .footer-links li a:hover,
.site-description a,
.site-footer .copyright,
.copyright-info-container .copyright {
  color: var(--text-white);
}

.site-info-inner-container .support-list li {
  border-color: #2f2a4b;
}

.copyright-info-container {
  border-top-color: #060411;
  color: #d5d5d5;
}

.site-contacts {
  background: linear-gradient(to bottom, #1d183a 0%, #110e24 100%);
}

.site-contacts .contact-list li a {
  background-color: #0a0814;
  color: var(--text-white);
}

.site-contacts .contact-list li a i {
  background-color: #20254f;
}

.info-center-container h2,
.info-center-container a,
.about-us-container h5[data-title=safe-and-secure-gaming-environment],
.about-us-container h5[data-title=fast-and-secure-payments] {
  color: var(--brand-cyan-light);
}

.info-center-container h3 {
  border-left-color: var(--brand-cyan-glow);
}

.info-center-container .panel-group .panel-heading {
  background-color: #0a2f3d;
}

.info-center-container .panel-group .panel-heading .glyphicon-question-sign {
  color: #a5a5a5;
}

.info-center-container .panel-group .panel-title a {
  color: var(--text-white);
}

.info-center-container .panel-default > .panel-heading + .panel-collapse .panel-body {
  background-color: #160921;
}

.about-us-container h5[data-title=customer-experience] {
  color: #00bf99;
}

.about-us-container h5[data-title=sky-is-not-the-limit] {
  color: var(--brand-pink-neon);
}

.about-us-container .inner-box {
  background-color: #140e1c;
  border-color: #21182e;
}

.about-us-container .game-panel li > p {
  color: var(--text-white);
}

/* Mobile Application & Utilities */
.mobile-app-container .logo-container {
  background-color: #1f1933;
}

.mobile-app-container .title-container {
  color: #bc79cd;
}

.mobile-app-container .link-container a:hover {
  background-color: #15131c;
}

.mobile-app-container .nav-tabs {
  border-bottom-color: var(--brand-cyan-glow);
}

.mobile-app-container > .nav-tabs a {
  color: #827ab1;
}

.mobile-app-container .nav-tabs > li.active > a,
.mobile-app-container .nav-tabs > li.active > a:focus,
.mobile-app-container .nav-tabs > li.active > a:hover {
  background-color: #0f0c1a;
  color: var(--brand-cyan-glow);
  border-color: var(--brand-cyan-glow) var(--brand-cyan-glow) transparent;
}

.mobile-app-container .nav > li > a:focus,
.mobile-app-container .nav > li > a:hover {
  background-color: #460a31;
  color: var(--text-white);
}

.mobile-app-container a {
  color: #ce1ac0;
}

.profile-container .section-heading {
  color: var(--text-white);
}

.profile-container .mobile-info-button {
  border-color: var(--brand-pink-neon);
  color: var(--brand-pink-neon);
}

.profile-container .mobile-info-button:hover {
  background-color: #4f0b38;
  color: var(--text-white);
}

/* Teks Deskripsi SEO Bawah Halaman */
.site-description, .site-description div, .site-description h1, 
.site-description h2, .site-description h3, .site-description p, 
.site-info .site-info-description h4, .site-info .site-info-description p, 
.site-info .site-info-title p {
  color: #808080; /* Dibuat sedikit lebih kontras dari abu-abu gelap agar tetap ramah SEO crawling */
}