/*
 * BROPANEL · cybernetic dark theme (shared by inner pages)
 * Overrides the original bootstrap + modern theme. To change colors, edit only the :root variables.
 */
@font-face{font-family:Bricolage;src:url(../fonts/bricolage/vietnamese.woff2) format('woff2');font-weight:400 800;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Bricolage;src:url(../fonts/bricolage/latin-ext.woff2) format('woff2');font-weight:400 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Bricolage;src:url(../fonts/bricolage/latin.woff2) format('woff2');font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root, [data-bs-theme=dark], [data-bs-theme=light] {
  --cy-bg: #07090d;
  --cy-bg2: #05070a;
  --cy-panel: #0b1016;
  --cy-panel2: #0f151c;
  --cy-line: #1b2733;
  --cy-line2: #2b3c4b;
  --cy-text: #d7e3ea;
  --cy-soft: #9fb2c1;
  --cy-dim: #5b7083;
  --cy-mint: #2ee59d;
  --cy-mint-rgb: 46, 229, 157;
  --cy-gold: #ffb020;
  --cy-font: Bricolage, system-ui, -apple-system, "Segoe UI", "Noto Sans Thai", "Leelawadee UI", sans-serif;
  --cy-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --primary-rgb: var(--cy-mint-rgb);
  --bs-primary: var(--cy-mint);
  --bs-primary-rgb: var(--cy-mint-rgb);
  --bs-primary-bg-subtle: rgba(46, 229, 157, .1);
  --bs-primary-border-subtle: rgba(46, 229, 157, .35);
  --bs-primary-text-emphasis: var(--cy-mint);
  --bs-body-bg: var(--cy-bg);
  --bs-body-bg-rgb: 7, 9, 13;
  --bs-body-color: var(--cy-text);
  --bs-secondary-color: var(--cy-soft);
  --bs-tertiary-bg: var(--cy-panel2);
  --bs-secondary-bg: var(--cy-panel);
  --bs-border-color: var(--cy-line);
  --bs-border-color-translucent: var(--cy-line);
  --bs-heading-color: #fff;
  --bs-link-color: var(--cy-mint);
  --bs-link-color-rgb: var(--cy-mint-rgb);
  --bs-link-hover-color: #5ff0b6;
  --bs-emphasis-color: #fff;
  --bs-light: var(--cy-panel2);
  --bs-light-rgb: 15, 21, 28;
  --bs-dark: var(--cy-text);
  --bs-card-bg: var(--cy-panel);
  --menu-bg: var(--cy-bg2);
  --menu-prime-color: var(--cy-soft);
  --menu-border-color: var(--cy-line);
  --header-bg: rgba(7, 9, 13, .88);
  --header-prime-color: var(--cy-soft);
  --header-border-color: var(--cy-line);
  --default-background: var(--cy-bg);
  --default-border: var(--cy-line);
  --bootstrap-card-border: var(--cy-line);
  --modern-active-bg: rgba(46, 229, 157, .1);
  --modern-active-color: var(--cy-mint);
  --modern-accent: var(--cy-mint);
  --modern-accent-soft: rgba(46, 229, 157, .1);
  --default-font-family: var(--cy-font);
}

/* ---------- Background ---------- */
html[data-theme] body, body {
  background-color: var(--cy-bg) !important;
  background-image:
    linear-gradient(rgba(46,229,157,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,229,157,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  background-attachment: fixed;
  color: var(--cy-text);
}
[data-theme="modern"] body, [data-theme="modern"] .card, [data-theme="modern"] .btn, [data-theme="modern"] .form-control,
[data-theme="modern"] .form-select, [data-theme="modern"] .nav-link,
[data-theme="modern"] h1, [data-theme="modern"] h2, [data-theme="modern"] h3, [data-theme="modern"] h4, [data-theme="modern"] h5, [data-theme="modern"] h6,
body, .card, .btn, .form-control, .form-select, .nav-link, h1, h2, h3, h4, h5, h6 { font-family: var(--cy-font) !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .page-title, .section-title { color: #fff !important; letter-spacing: -.01em; }
.text-muted, .text-secondary, small.text-muted { color: var(--cy-dim) !important; }
.text-dark, .text-body, .text-black { color: var(--cy-text) !important; }
.text-primary { color: var(--cy-mint) !important; }
.text-success { color: var(--cy-mint) !important; }
.text-warning { color: var(--cy-gold) !important; }
a { color: var(--cy-mint); }
a:hover { color: #5ff0b6; }
.page-content a.text-reset, .text-reset { color: inherit !important; }
code, kbd, pre, .mono, .toc-num, .legal-nav-num { font-family: var(--cy-mono) !important; }
::selection { background: rgba(46,229,157,.3); color: #fff; }
hr { border-color: var(--cy-line); opacity: 1; }

/* ---------- Top bar ---------- */
.topbar, .topbar .container-fluid, #topbar-custom, .navbar-custom {
  background: rgba(7, 9, 13, .85) !important;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--cy-line) !important;
  box-shadow: none !important;
}
.modern-breadcrumb, .modern-breadcrumb a, .modern-breadcrumb span { color: var(--cy-soft) !important; }
.modern-search, .modern-pill, .modern-icon-btn, .modern-search kbd {
  background: var(--cy-panel) !important; border: 1px solid var(--cy-line) !important; color: var(--cy-soft) !important; box-shadow: none !important;
}
.modern-search input { background: transparent !important; color: var(--cy-text) !important; }
.modern-search kbd { font-family: var(--cy-mono) !important; font-size: 10px; }
.modern-search-results, .dropdown-menu, .modern-user-menu, .modern-notif-menu, .modern-lang-menu {
  background: var(--cy-panel) !important; border: 1px solid var(--cy-line2) !important; box-shadow: 0 18px 40px rgba(0,0,0,.6) !important; color: var(--cy-text);
}
.dropdown-item, .modern-search-item { color: var(--cy-text) !important; }
.dropdown-item:hover, .dropdown-item:focus, .modern-search-item:hover, .modern-search-item.active { background: rgba(46,229,157,.08) !important; color: var(--cy-mint) !important; }
.modern-menu-head, .modern-user-head, .modern-user-balance, .modern-notif-item { border-color: var(--cy-line) !important; color: var(--cy-text) !important; background: transparent !important; }
.modern-notif-date { color: var(--cy-dim) !important; font-family: var(--cy-mono) !important; }
.modern-bell-dot { background: var(--cy-mint) !important; box-shadow: 0 0 8px var(--cy-mint); }
.modern-user-summary-name, .modern-user-name { color: #fff !important; }
.js-user-balance { color: var(--cy-gold) !important; font-family: var(--cy-mono) !important; }

/* ---------- Sidebar ---------- */
.startbar, .startbar .brand, .startbar-menu {
  background: var(--cy-bg2) !important; border-right: 1px solid var(--cy-line) !important; box-shadow: none !important;
}
.startbar .brand { border-bottom: 1px solid var(--cy-line) !important; }
.startbar .menu-label, .startbar .menu-label span { color: var(--cy-dim) !important; font-family: var(--cy-mono) !important; letter-spacing: .18em; font-size: 10px !important; }
.startbar .nav-link { color: var(--cy-soft) !important; border-radius: 0 !important; border-left: 2px solid transparent; }
.startbar .nav-link:hover { color: var(--cy-mint) !important; background: rgba(46,229,157,.05) !important; }
.startbar .nav-link.active, .startbar .nav-link[aria-expanded="true"] {
  color: var(--cy-mint) !important; background: rgba(46,229,157,.08) !important; border-left-color: var(--cy-mint) !important; box-shadow: none !important;
}
.startbar .sb-dot { background: var(--cy-line2) !important; }
.startbar .nav-link.active .sb-dot, .startbar .nav-link:hover .sb-dot { background: var(--cy-mint) !important; box-shadow: 0 0 6px var(--cy-mint); }
.startbar-overlay { background: rgba(0,0,0,.6) !important; }

/* ---------- Cards · panels ---------- */
.card, .panel, .tier-panel, .legal-nav-card, .modern-side-card, .qb-card, .accordion-item, .list-group-item, .modal-content, .offcanvas,
.profile-balance-box, .profile-terms-box, .svc-pay, .svc-detail, .server-table-container, .hs-list, .tier, .term-doc, .legal-cta {
  background: var(--cy-panel) !important;
  border: 1px solid var(--cy-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  color: var(--cy-text);
}
.card { position: relative; }
.card::before, .card::after { content: ""; position: absolute; width: 10px; height: 10px; pointer-events: none; border-color: var(--cy-mint); opacity: .8; }
.card::before { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }
.card::after { bottom: -1px; right: -1px; border-bottom: 2px solid; border-right: 2px solid; }
.card .card { background: var(--cy-panel2) !important; }
.card .card::before, .card .card::after { display: none; }
.card-header, .card-footer, .card-title, .modal-header, .modal-footer { background: transparent !important; border-color: var(--cy-line) !important; }
.card-header, .card-title { color: #fff !important; }
.page-title-box { background: transparent !important; }
.page-title-box p { color: var(--cy-soft) !important; }
.bg-white, .bg-light, .bg-body, .bg-body-tertiary, .bg-body-secondary { background-color: var(--cy-panel2) !important; color: var(--cy-text) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end, .border-bottom-0 { border-color: var(--cy-line) !important; }
.shadow, .shadow-sm, .shadow-lg, .shadow-custom { box-shadow: none !important; }

/* ---------- Buttons ---------- */
.btn { border-radius: 2px !important; font-weight: 700 !important; }
[data-theme="modern"] .btn-primary, .btn-primary, .btn-success, .qb-submit {
  background: var(--cy-mint) !important; border: 1px solid var(--cy-mint) !important; color: #05110b !important;
  box-shadow: 0 0 0 1px var(--cy-mint), 0 0 20px rgba(46,229,157,.22) !important;
}
[data-theme="modern"] .btn-primary:hover, .btn-primary:hover, .btn-success:hover, .qb-submit:hover { background: #5ff0b6 !important; color: #05110b !important; }
.btn-primary:disabled, .btn-primary.disabled, .qb-submit.disabled { opacity: .45 !important; box-shadow: none !important; }
.btn-light, .btn-outline-secondary, .btn-outline-primary, .btn-outline-danger, .btn-secondary, .btn-link.btn, .tier-btn {
  background: transparent !important; border: 1px solid var(--cy-line2) !important; color: var(--cy-text) !important; box-shadow: none !important;
}
.btn-outline-primary { color: var(--cy-mint) !important; border-color: rgba(46,229,157,.5) !important; }
.btn-outline-danger { color: #ff6b6b !important; border-color: rgba(255,107,107,.5) !important; }
.btn-light:hover, .btn-outline-secondary:hover, .btn-outline-primary:hover, .btn-secondary:hover { border-color: var(--cy-mint) !important; color: var(--cy-mint) !important; }
.btn-danger { background: #ff4d4f !important; border-color: #ff4d4f !important; color: #fff !important; }
.btn-warning { background: var(--cy-gold) !important; border-color: var(--cy-gold) !important; color: #120c00 !important; }
.btn-info { background: transparent !important; border: 1px solid #38bdf8 !important; color: #38bdf8 !important; }

/* ---------- Forms ---------- */
[data-theme="modern"] .form-control, [data-theme="modern"] .form-select, [data-theme="modern"] textarea.form-control, [data-theme="modern"] .input-group-text,
.form-control, .form-select, .input-group-text, .select2-container--default .select2-selection--single, .form-servers {
  background-color: var(--cy-bg2) !important; border: 1px solid var(--cy-line2) !important; color: var(--cy-text) !important; border-radius: 2px !important; box-shadow: none !important;
}
.form-control::placeholder { color: var(--cy-dim) !important; }
.form-control:focus, .form-select:focus { border-color: var(--cy-mint) !important; box-shadow: 0 0 0 3px rgba(46,229,157,.15) !important; }
.form-control[readonly], .form-control:disabled { background-color: var(--cy-panel2) !important; color: var(--cy-soft) !important; }
.form-label, label { color: var(--cy-soft); }
.form-check-input { background-color: var(--cy-bg2) !important; border-color: var(--cy-line2) !important; }
.form-check-input:checked { background-color: var(--cy-mint) !important; border-color: var(--cy-mint) !important; }
.form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239fb2c1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important; }
.select2-dropdown, .select2-results__option { background: var(--cy-panel) !important; color: var(--cy-text) !important; border-color: var(--cy-line2) !important; }
.select2-results__option--highlighted { background: rgba(46,229,157,.12) !important; color: var(--cy-mint) !important; }

/* ---------- Service order ---------- */
.server-item .form-check { border-color: var(--cy-line) !important; padding-top: .55rem !important; padding-bottom: .55rem !important; }
.server-item:hover { background: rgba(46,229,157,.04); }
.server-item:has(input:checked) { background: rgba(46,229,157,.08); box-shadow: inset 2px 0 0 var(--cy-mint); }
.server-item label, .server-item sp { color: var(--cy-text) !important; }
.server-item .text-end span, #payment, .svc-pay .text-primary { color: var(--cy-gold) !important; font-family: var(--cy-mono) !important; }
.badge.bg-info { background: transparent !important; color: #38bdf8 !important; border: 1px solid rgba(56,189,248,.5) !important; }
.badge.bg-success { background: rgba(46,229,157,.15) !important; color: var(--cy-mint) !important; }
.badge.bg-light, .badge.text-dark { background: var(--cy-panel2) !important; color: var(--cy-soft) !important; border: 1px solid var(--cy-line) !important; }
.badge.bg-danger { background: rgba(255,77,79,.18) !important; color: #ff7a7c !important; }
.badge.bg-warning { background: rgba(255,176,32,.18) !important; color: var(--cy-gold) !important; }
.badge.bg-primary, .badge.bg-primary-subtle { background: rgba(46,229,157,.12) !important; color: var(--cy-mint) !important; border-color: rgba(46,229,157,.35) !important; }
.seo-layout-grid, #seoContent, #seoContentText { color: var(--cy-soft) !important; }
#seoContentText h2, #seoContentText h3 { color: #fff !important; }
#seoContentText table, .docs-table { color: var(--cy-text) !important; }

/* ---------- Home (service list) ---------- */
.hs-platforms .hs-plat { background: var(--cy-panel2) !important; border: 1px solid var(--cy-line) !important; color: var(--cy-soft) !important; border-radius: 2px !important; }
.hs-platforms .hs-plat.is-active, .hs-platforms .hs-plat:hover { border-color: var(--cy-mint) !important; color: var(--cy-mint) !important; background: rgba(46,229,157,.08) !important; box-shadow: none !important; }
.hs-item { background: transparent !important; border: 1px solid var(--cy-line) !important; color: var(--cy-text) !important; border-radius: 2px !important; }
.hs-item:hover { border-color: var(--cy-mint) !important; color: var(--cy-mint) !important; background: rgba(46,229,157,.05) !important; }
.hs-num { background: var(--cy-panel2) !important; color: var(--cy-mint) !important; font-family: var(--cy-mono) !important; border-radius: 2px !important; }
.hs-list-title { color: #fff !important; }
.hs-search, .hs-search input { background: var(--cy-bg2) !important; border-color: var(--cy-line2) !important; color: var(--cy-text) !important; }
.modern-stat, .modern-stat-card, .stat-card, .balance-card { background: var(--cy-panel) !important; border-color: var(--cy-line) !important; }

/* ---------- Tables · accordions · tabs ---------- */
.table, table { --bs-table-bg: transparent; --bs-table-color: var(--cy-text); --bs-table-striped-bg: rgba(255,255,255,.02); --bs-table-hover-bg: rgba(46,229,157,.05); --bs-table-hover-color: #fff; color: var(--cy-text) !important; border-color: var(--cy-line) !important; }
.table > :not(caption) > * > * { background-color: transparent !important; border-color: var(--cy-line) !important; color: inherit; }
.table thead th, table thead th { color: var(--cy-dim) !important; font-family: var(--cy-mono) !important; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.dataTables_wrapper, .dt-container, .dataTables_info, .dt-info, .dataTables_length, .dataTables_filter { color: var(--cy-soft) !important; }
.page-link { background: var(--cy-panel) !important; border-color: var(--cy-line) !important; color: var(--cy-soft) !important; }
.page-item.active .page-link { background: var(--cy-mint) !important; color: #05110b !important; border-color: var(--cy-mint) !important; }
.accordion-button { background: var(--cy-panel) !important; color: var(--cy-text) !important; box-shadow: none !important; }
.accordion-button:not(.collapsed) { color: var(--cy-mint) !important; background: rgba(46,229,157,.06) !important; }
.accordion-button::after { filter: invert(1) brightness(1.4); }
.accordion-body { background: var(--cy-bg2) !important; }
.nav-pills .nav-link { color: var(--cy-soft) !important; border-radius: 2px !important; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: rgba(46,229,157,.1) !important; color: var(--cy-mint) !important; box-shadow: inset 2px 0 0 var(--cy-mint) !important; }
.nav-tabs { border-color: var(--cy-line) !important; }
.nav-tabs .nav-link.active { background: var(--cy-panel) !important; color: var(--cy-mint) !important; border-color: var(--cy-line) var(--cy-line) transparent !important; }

/* ---------- Tiers ---------- */
.tier.is-current { border-color: var(--cy-mint) !important; background: rgba(46,229,157,.05) !important; }
.tier-name { color: #fff !important; }
.tier-amount { color: var(--cy-gold) !important; font-family: var(--cy-mono) !important; }
.tier-note, .tier-caption { color: var(--cy-soft) !important; }
.tier-btn.btn-current { color: var(--cy-mint) !important; border-color: var(--cy-mint) !important; }
.tier-head-icon { background: rgba(255,176,32,.12) !important; color: var(--cy-gold) !important; }

/* ---------- Terms ---------- */
.legal-nav-item { color: var(--cy-soft) !important; border-radius: 2px !important; }
.legal-nav-item.is-active, .legal-nav-item:hover { background: rgba(46,229,157,.08) !important; color: var(--cy-mint) !important; }
.legal-nav-ico { background: var(--cy-panel2) !important; color: var(--cy-mint) !important; border-radius: 2px !important; }
.legal-toc-item { color: var(--cy-soft) !important; }
.legal-toc-item.is-active, .legal-toc-item:hover { color: var(--cy-mint) !important; }
.legal-content-col h3 { border-left-color: var(--cy-mint) !important; }
.legal-doc p, .legal-doc li { color: var(--cy-soft); }
.legal-doc b { color: #fff; }
.breadcrumb-item, .breadcrumb-item a, .breadcrumb-item.active { color: var(--cy-soft) !important; }

/* ---------- API docs ---------- */
.docs-card, .docs-nav-sidebar, .json-panel { background: var(--cy-panel) !important; border-color: var(--cy-line) !important; color: var(--cy-text); }
.json-console-box, .json-console-box pre { background: var(--cy-bg2) !important; color: #b7f7da !important; }
.json-panel-header { background: var(--cy-panel2) !important; border-color: var(--cy-line) !important; color: var(--cy-soft) !important; }
.endpoint-method { background: var(--cy-mint) !important; color: #05110b !important; }
.endpoint-action-param, .param-name { color: var(--cy-gold) !important; font-family: var(--cy-mono) !important; }
.docs-nav-link { color: var(--cy-soft) !important; }
.docs-nav-link.active, .docs-nav-link:hover { color: var(--cy-mint) !important; background: rgba(46,229,157,.08) !important; }
.docs-table td, .docs-table th { border-color: var(--cy-line) !important; }

/* ---------- Alerts · modals · misc ---------- */
.alert { border-radius: 2px !important; border: 1px solid var(--cy-line2) !important; background: var(--cy-panel2) !important; color: var(--cy-text) !important; }
.alert-warning { border-color: rgba(255,176,32,.45) !important; color: #ffd58a !important; background: rgba(255,176,32,.07) !important; }
.alert-success { border-color: rgba(46,229,157,.45) !important; color: #9df5cf !important; background: rgba(46,229,157,.07) !important; }
.alert-danger { border-color: rgba(255,77,79,.45) !important; color: #ffb3b4 !important; background: rgba(255,77,79,.07) !important; }
.alert-info { border-color: rgba(56,189,248,.45) !important; color: #a5e3fb !important; background: rgba(56,189,248,.07) !important; }
.swal2-popup { background: var(--cy-panel) !important; color: var(--cy-text) !important; border: 1px solid var(--cy-line2) !important; border-radius: 4px !important; }
.swal2-title, .swal2-html-container { color: var(--cy-text) !important; }
.btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
.footer .card, footer .card { background: transparent !important; border: 0 !important; border-top: 1px solid var(--cy-line) !important; }
.footer .card::before, .footer .card::after { display: none; }
.progress { background: var(--cy-panel2) !important; }
.progress-bar { background: var(--cy-mint) !important; }
img.rounded-circle { box-shadow: 0 0 0 1px var(--cy-line2); }

/* ---------- Login · sign up ---------- */
.auth-page, .auth-bg, .account-body, .auth-card, .auth-header-box { background-color: transparent !important; }
.auth-header-box { border-bottom: 1px solid var(--cy-line) !important; }

/* Scrollbar */
* { scrollbar-color: var(--cy-line2) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--cy-line2); }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- Login · sign-up screens (auth.css overrides) ---------- */
body:has(.auth-bg) { background-color: var(--cy-bg) !important; }
.auth-bg { background: transparent !important; }
.auth-bg:before, body:has(.auth-header-box) .auth-bg .mx-auto:before { display: none !important; }
.auth-bg .card { background: var(--cy-panel) !important; border: 1px solid var(--cy-line) !important; box-shadow: 0 30px 80px rgba(0,0,0,.55) !important; overflow: visible !important; }
.auth-bg .auth-header-box { background: var(--cy-bg2) !important; border-bottom: 1px solid var(--cy-line) !important; border-radius: 0 !important; }
.auth-bg .auth-header-box h4, .auth-bg .auth-header-box h4 * { color: #fff !important; }
.auth-bg .auth-header-box p, .auth-bg .text-muted { color: var(--cy-dim) !important; }
.auth-bg .form-label { color: var(--cy-soft) !important; }
.auth-bg .form-control { background-color: var(--cy-bg2) !important; border: 1px solid var(--cy-line2) !important; color: var(--cy-text) !important; }
.auth-bg .form-control:focus { border-color: var(--cy-mint) !important; box-shadow: 0 0 0 3px rgba(46,229,157,.15) !important; }
.auth-bg .btn-primary { background: var(--cy-mint) !important; color: #05110b !important; border: 0 !important; }
.auth-bg .btn-outline-secondary, .auth-bg .btn-outline-danger { background: transparent !important; border-color: var(--cy-line2) !important; color: var(--cy-text) !important; }
.auth-bg .text-primary, .auth-bg a { color: var(--cy-mint) !important; }
.auth-bg .form-check-input:checked { background-color: var(--cy-mint) !important; border-color: var(--cy-mint) !important; }
.auth-bg .dropdown-menu { background: var(--cy-panel) !important; border-color: var(--cy-line2) !important; }
.auth-bg .alert { text-align: left; }
.swal2-container.swal2-backdrop-show { background: rgba(0,0,0,.7) !important; }

/* ---------- Extra fixes ---------- */
.card[style*="background"] { background: var(--cy-panel) !important; }
.legal-content-col .card-body, .legal-content-col p, .legal-content-col li, .legal-doc p, .legal-doc li { color: var(--cy-soft) !important; }
.legal-content-col b, .legal-content-col strong { color: #fff !important; }
:root { --auth-accent: #2ee59d; --auth-accent-2: #2ee59d; --auth-accent-soft: rgba(46,229,157,.15); }
html body .auth-bg a, html body .auth-bg .text-primary, html body .auth-bg a.text-primary { color: var(--cy-mint) !important; }
html[data-theme="modern"] body .row:has(> .legal-content-col) > .col-12:first-child > .card,
html[data-theme="modern"] body .legal-cta, html[data-theme="modern"] body .contact-box {
  background: var(--cy-panel) !important; border: 1px solid var(--cy-line) !important; border-radius: 4px !important;
}
.swal2-popup .swal2-confirm, .swal2-popup .btn.btn-primary { background: var(--cy-mint) !important; color: #05110b !important; border: 0 !important; box-shadow: none !important; border-radius: 2px !important; }
.swal2-popup .swal2-cancel { background: transparent !important; color: var(--cy-text) !important; border: 1px solid var(--cy-line2) !important; border-radius: 2px !important; }
.swal2-icon.swal2-warning { border-color: var(--cy-gold) !important; color: var(--cy-gold) !important; }
.swal2-icon.swal2-success { border-color: var(--cy-mint) !important; color: var(--cy-mint) !important; }
/* Empty list image: toned down for dark theme */
.dataTables_empty img, .dt-empty img, td.dataTables_empty svg, .dt-empty svg { filter: grayscale(1) brightness(.45) contrast(1.1); opacity: .8; }
/* API docs tables · tags */
.docs-table thead th, .docs-table thead tr, .docs-table thead { background: var(--cy-panel2) !important; color: var(--cy-dim) !important; }
.docs-table td { color: var(--cy-soft) !important; }
.badge-data-type { background: rgba(56,189,248,.1) !important; color: #7dd3fc !important; border: 1px solid rgba(56,189,248,.35) !important; font-family: var(--cy-mono) !important; }
.badge-required.yes { background: rgba(255,77,79,.1) !important; color: #ff8f90 !important; border: 1px solid rgba(255,77,79,.35) !important; }
.badge-required.no { background: var(--cy-panel2) !important; color: var(--cy-dim) !important; border: 1px solid var(--cy-line2) !important; }
.endpoint-action-param { background: var(--cy-panel2) !important; border: 1px solid var(--cy-line2) !important; }
.docs-card code, .legal-doc code { background: var(--cy-panel2) !important; color: var(--cy-gold) !important; padding: 1px 5px; }
.json-copy-btn { background: transparent !important; border: 1px solid var(--cy-line2) !important; color: var(--cy-soft) !important; }
.json-copy-btn:hover { border-color: var(--cy-mint) !important; color: var(--cy-mint) !important; }
