/* mriv admin — neutral, cool palette layered on Tabler. */
:root, [data-bs-theme="light"] {
  --tblr-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --tblr-primary: #4c5b8a;
  --tblr-primary-rgb: 76, 91, 138;
  --tblr-primary-darken: #3f4c74;
  --tblr-primary-fg: #fff;
  --tblr-primary-lt: #e4e8f1;
  --tblr-primary-lt-rgb: 228, 232, 241;
  --tblr-primary-text-emphasis: #3a4770;
  --tblr-primary-bg-subtle: #eceff6;
  --tblr-primary-border-subtle: #c9d1e4;
  --tblr-link-color: #4c5b8a;
  --tblr-link-color-rgb: 76, 91, 138;
  --tblr-link-hover-color: #3a4770;
  --tblr-body-bg: #f4f6fa;
  --mriv-mark: #4c5b8a;
}
[data-bs-theme="dark"] {
  --tblr-primary: #8b9bd1;
  --tblr-primary-rgb: 139, 155, 209;
  --tblr-primary-darken: #7484bd;
  --tblr-primary-fg: #0f1520;
  --tblr-primary-lt: #2a3350;
  --tblr-primary-lt-rgb: 42, 51, 80;
  --tblr-primary-text-emphasis: #b0bde6;
  --tblr-primary-bg-subtle: #232b41;
  --tblr-primary-border-subtle: #3a4666;
  --tblr-link-color: #9fadd9;
  --tblr-link-color-rgb: 159, 173, 217;
  --tblr-link-hover-color: #c0caea;
  --tblr-body-bg: #151b25;
  --mriv-mark: #8b9bd1;
}
body { font-feature-settings: 'cv11', 'ss01'; }
.btn-primary { --tblr-btn-bg: var(--tblr-primary); --tblr-btn-border-color: var(--tblr-primary); --tblr-btn-hover-bg: var(--tblr-primary-darken); --tblr-btn-hover-border-color: var(--tblr-primary-darken); --tblr-btn-active-bg: var(--tblr-primary-darken); --tblr-btn-color: var(--tblr-primary-fg); --tblr-btn-hover-color: var(--tblr-primary-fg); }
.form-control:focus, .form-select:focus { border-color: var(--tblr-primary); box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .2); }

/* Brand */
.brand { display: inline-flex; align-items: center; gap: .55rem; color: inherit; text-decoration: none; font-weight: 700; letter-spacing: -.01em; }
.brand-mark { width: 22px; height: 22px; border-radius: 7px; background: var(--mriv-mark); position: relative; flex: none; }
.brand-mark::after { content: ''; position: absolute; inset: 6px; border-radius: 50%; border: 2.5px solid #fff; }
.brand-lg { font-size: 1.35rem; } .brand-lg .brand-mark { width: 30px; height: 30px; border-radius: 9px; } .brand-lg .brand-mark::after { inset: 8px; border-width: 3px; }
#sidebar .navbar-brand { justify-content: flex-start; }
#sidebar .brand-text { color: #fff; }

/* Sidebar */
.navbar-vertical.navbar-expand-lg { --tblr-navbar-bg: #1b2231; --tblr-navbar-border-color: #262f42; }
.navbar-vertical .nav-link { border-radius: .5rem; margin: 1px .5rem; padding-block: .45rem; }
.navbar-vertical .nav-link.active { background: rgba(255,255,255,.08); font-weight: 600; }
.navbar-vertical .nav-link .nav-link-icon { opacity: .8; }
.nav-group-label { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); padding: .9rem 1rem .3rem; font-weight: 600; }
.scope-pill { margin: .35rem 1rem 0; font-size: .75rem; color: rgba(255,255,255,.7); display: flex; align-items: center; gap: .4rem; }
.scope-pill .badge { text-transform: uppercase; letter-spacing: .04em; font-size: .62rem; }
.sidebar-foot { padding: 1rem; font-size: .72rem; color: rgba(255,255,255,.45); }
.btn-unstyled { background: none; border: 0; color: inherit; cursor: pointer; }
.badge-notification { position: absolute; top: 4px; right: 0; font-size: .6rem; }

/* Page */
.page-main { padding-bottom: 2rem; }
.page-header { margin-bottom: 1.25rem; }
.page-title { letter-spacing: -.01em; }
.card { box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.card-table td, .card-table th { vertical-align: middle; }
.table thead th { font-size: .72rem; letter-spacing: .05em; }
.th-sort { cursor: pointer; user-select: none; white-space: nowrap; }
.th-sort:hover { color: var(--tblr-body-color); }
.th-sort::after { font-family: 'tabler-icons'; margin-left: .25rem; font-size: .8rem; content: '\eab8'; opacity: .35; }
.th-sort.asc::after { content: '\ea62'; opacity: 1; } .th-sort.desc::after { content: '\ea5f'; opacity: 1; }
.num { font-variant-numeric: tabular-nums; text-align: end; white-space: nowrap; }
.mono { font-family: var(--tblr-font-monospace); font-size: .82em; }
.row-link { cursor: pointer; }
.row-link:hover td { background: var(--tblr-active-bg); }
.row-highlight td { background: var(--tblr-primary-lt) !important; }
.stat-value { font-size: 1.55rem; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.stat-label { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tblr-secondary); font-weight: 600; }
.stat-hint { font-size: .78rem; color: var(--tblr-secondary); }
.chart-box { position: relative; height: 240px; }
.chart-box.tall { height: 300px; }
.filter-bar { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: flex-end; }
.filter-bar .form-control, .filter-bar .form-select { min-width: 9rem; }
.filter-bar label { font-size: .72rem; font-weight: 600; color: var(--tblr-secondary); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .2rem; display: block; }
.table-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(var(--tblr-body-bg-rgb, 255,255,255), .6); z-index: 2; border-radius: inherit; }
.table-wrap { position: relative; }
.kv dt { color: var(--tblr-secondary); font-weight: 500; font-size: .8rem; }
.kv dd { margin-bottom: .6rem; }
.json-view { font-family: var(--tblr-font-monospace); font-size: .75rem; white-space: pre-wrap; word-break: break-all; max-height: 260px; overflow: auto; background: var(--tblr-bg-surface-secondary); border-radius: .4rem; padding: .6rem; margin: 0; }
.severity-critical { --tblr-alert-color: var(--tblr-red); }
.tp-menu { max-height: 320px; overflow: auto; min-width: 20rem; }
.tp-menu .dropdown-item { white-space: normal; }
.alert-strip .alert { margin-bottom: .5rem; }
.tab-panel { min-height: 200px; }
.copyable { cursor: copy; }
@media (max-width: 991.98px) { .page-main { padding-top: 1rem; } .filter-bar .form-control, .filter-bar .form-select { min-width: 7rem; flex: 1; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* FX ticker in the top bar */
.fx-ticker { font-size: .8rem; color: var(--tblr-secondary); text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fx-ticker strong { color: var(--tblr-body-color); font-weight: 600; }
.fx-ticker .sep { opacity: .5; margin: 0 .35rem; }
.agg-ticker { display: inline-flex; align-items: center; padding: .2rem .6rem; border: 1px solid var(--tblr-border-color); border-radius: 999px; background: var(--tblr-bg-surface); transition: box-shadow .3s; }
.agg-ticker .agg-main { font-weight: 600; color: var(--tblr-body-color); margin-left: .3rem; }
.agg-ticker.text-warning .agg-main, .agg-ticker.text-danger .agg-main { color: inherit; }
.agg-ticker .agg-exact { font-size: .68rem; opacity: .6; margin-left: .4rem; font-variant-numeric: tabular-nums; }
.agg-ticker.agg-flash { animation: agg-flash 1.2s ease-out; }
@keyframes agg-flash { 0% { box-shadow: 0 0 0 4px rgba(32, 107, 196, .35); } 100% { box-shadow: 0 0 0 0 rgba(32, 107, 196, 0); } }
a.fx-ticker:hover strong { color: var(--tblr-primary); }
#topbar .container-xl { flex-wrap: nowrap; }
#topbar-crumbs { display: flex; align-items: center; min-width: 0; overflow: hidden; }
#topbar-crumbs .fx-ticker { overflow: hidden; text-overflow: ellipsis; }
#topbar-agg { flex: none; }
#topbar .navbar-nav { flex: none; }
@media (max-width: 1500px) { .agg-ticker .agg-exact { display: none; } .fx-ticker .fx-day { display: none; } }
@media (max-width: 1300px) { .agg-ticker strong { display: none; } .agg-ticker .agg-main { margin-left: 0; } #global-search .form-control { width: 170px; } }
.btn-pill .badge { font-size: .6rem; }

/* storefront content editor */
.banner-preview { position: relative; aspect-ratio: 1680 / 480; background-size: cover; background-position: center; border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; background-color: #111; }
.banner-safe { position: absolute; top: 0; bottom: 0; left: 50%; width: 30.9%; transform: translateX(-50%); border-left: 1px dashed rgba(255,255,255,.55); border-right: 1px dashed rgba(255,255,255,.55); pointer-events: none; }
.legal-preview { max-height: 32rem; overflow: auto; font-size: .9rem; }
.legal-preview h2, .legal-preview h3, .legal-preview h4 { font-size: 1.05rem; margin-top: 1rem; }

/* image lightbox (request proofs) */
.mriv-lightbox { position: fixed; inset: 0; z-index: 1100; background: rgba(10, 12, 18, .9); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; cursor: zoom-out; }
.mriv-lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; border-radius: .5rem; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.mriv-lightbox-title { color: #cbd3dd; font-size: .85rem; }
.proof-thumb { width: 72px; height: 54px; object-fit: cover; border-radius: .4rem; border: 1px solid var(--tblr-border-color); cursor: zoom-in; background: #111; }
.pay-brand { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 24px; padding: 2px 4px; background: #fff; border: 1px solid var(--tblr-border-color); border-radius: .3rem; }
.pay-brand img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pay-brand.lg { width: 128px; height: 48px; }
.pay-brand.xl { width: 256px; height: 96px; }
.pay-brand.dark { background: #0e1117; }

/* Row-action menus: never clipped by a short table. Popper uses a fixed strategy (see core/table.js); this is the fallback. */
.table-responsive:has(.dropdown-menu.show) { overflow: visible; }
.card:has(.table-responsive .dropdown-menu.show) { overflow: visible; }
.dropdown-menu { z-index: 1050; }

/* "Install the app" / "Turn on notifications" card */
.app-banner { position: fixed; z-index: 1040; right: 16px; bottom: 16px; width: min(380px, calc(100vw - 24px)); display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 16px; background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); box-shadow: 0 18px 50px rgba(15, 23, 42, .22); transform: translateY(24px); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.app-banner.open { transform: none; opacity: 1; }
.app-banner-icon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 1.4rem; color: #fff; background: linear-gradient(140deg, var(--tblr-primary), color-mix(in srgb, var(--tblr-primary) 55%, #000)); }
.app-banner-main { flex: 1; min-width: 0; } .app-banner-actions { display: flex; gap: 8px; margin-top: 10px; }
@media (max-width: 991.98px) { .app-banner { right: 12px; left: 12px; width: auto; bottom: calc(68px + env(safe-area-inset-bottom, 0px)); } .app-banner-actions .btn { min-height: 40px; flex: 1; } }

/* Lucky wheel editor */
.wheel-preview { position: relative; width: min(100%, 320px); aspect-ratio: 1; margin: 0 auto; }
.wheel-preview-canvas { position: absolute; inset: 0; }
.wheel-preview-pointer { position: absolute; z-index: 2; top: -4px; left: 50%; width: 0; height: 0; margin-left: -12px; border: 12px solid transparent; border-top: 22px solid #e5484d; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
.wheel-slice { padding: .75rem; border: 1px solid var(--tblr-border-color); border-radius: .6rem; margin-bottom: .6rem; background: var(--tblr-bg-surface); }
.wheel-slice .input-group { flex-wrap: nowrap; } .wheel-slice > .d-flex > .input-group { width: 13rem !important; flex: none; }
.wheel-slice .form-control-color { width: 2.4rem; height: 2.25rem; padding: .2rem; flex: none; }
.wheel-rule { padding: .7rem .8rem; border: 1px solid var(--tblr-border-color); border-radius: .6rem; margin-bottom: .6rem; opacity: .75; }
.wheel-rule.on { opacity: 1; border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.wheel-rule-line { line-height: 2.3; } .wheel-rule-line .form-control, .wheel-rule-line .form-select { vertical-align: middle; }
.wheel-dot { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; margin-right: .4rem; vertical-align: -1px; }

/* Public demo: a floating chip (never part of the layout, so nothing of the real admin moves) */
.demo-chip { position: fixed; z-index: 1035; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 5px; border-radius: 999px; background: #14122b; color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); font-size: 12.5px; max-width: calc(100vw - 20px); }
.demo-chip-tag { border: 0; border-radius: 999px; padding: 6px 12px; background: #7c3aed; color: #fff; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.demo-chip-links { display: flex; gap: 4px; }
.demo-chip-links a { color: #fff; text-decoration: none; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .1); white-space: nowrap; }
.demo-chip-links a:hover { background: rgba(255, 255, 255, .22); }
@media (max-width: 991.98px) {
  .demo-chip { bottom: calc(var(--m-bottom, 58px) + env(safe-area-inset-bottom, 0px) + 8px); left: 10px; transform: none; flex-direction: column-reverse; align-items: flex-start; border-radius: 16px; background: transparent; box-shadow: none; padding: 0; }
  .demo-chip-tag { box-shadow: 0 6px 18px rgba(0, 0, 0, .35); font-size: 11.5px; padding: 5px 10px; }
  .demo-chip-links { display: none; flex-direction: column; gap: 4px; padding: 6px; border-radius: 14px; background: #14122b; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
  .demo-chip.open .demo-chip-links { display: flex; }
}

/* Telegram connect panel and invitation card */
.tg-connect { display: block; }
.tg-qr { width: 200px; margin: 0 auto 16px; padding: 8px; background: #fff; border-radius: 12px; border: 1px solid var(--tblr-border-color); }
.tg-qr svg { width: 100%; height: auto; display: block; }
.tg-steps { flex: 1 1 auto; min-width: 0; } .tg-steps ol { padding-left: 1.1rem; } .tg-steps li { margin-bottom: .35rem; }
.tg-wait { padding: 10px 12px; border-radius: 8px; background: var(--tblr-bg-surface-secondary); color: var(--tblr-secondary); font-size: .875rem; }
.tg-wait.ok { background: rgba(47, 179, 68, .12); color: #2fb344; font-weight: 600; }
.tg-invite { border-left: 3px solid #229ed9; }
@media (max-width: 767.98px) { .tg-connect { display: block; } }

.tg-code { padding: 10px 12px; border-radius: 8px; border: 1px dashed var(--tblr-border-color); text-align: center; }
.tg-code-digits { font-size: 1.6rem; font-weight: 700; letter-spacing: .18em; font-variant-numeric: tabular-nums; user-select: all; }

.tg-actions { border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); padding: 1rem; } .tg-actions.is-on { border-color: var(--tblr-azure); background: rgba(var(--tblr-azure-rgb), .04); } .tg-actions:not(.is-on) .tg-actions-more { opacity: .55; }
.tgc-steps { display: flex; flex-direction: column; gap: .25rem; } .tgc-step { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--tblr-border-color); } .tgc-step:last-child { border-bottom: 0; } .tgc-body { flex: 1 1 auto; min-width: 0; }
.tgc-num { flex: none; width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; border: 1.5px solid var(--tblr-border-color); color: var(--tblr-secondary); } .tgc-step.is-done .tgc-num { background: var(--tblr-green); border-color: var(--tblr-green); color: #fff; }
.tgc-url { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border: 1px dashed var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: var(--tblr-bg-surface-secondary); } .tgc-url code { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; background: none; padding: 0; font-size: .85rem; } .tgc-how { padding-left: 1.1rem; } .tgc-how li { margin-bottom: .2rem; }
.tgc-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; } @media (max-width: 575.98px) { .tgc-modes { grid-template-columns: 1fr; } }
.tgc-mode { display: flex; flex-direction: column; gap: .15rem; padding: .8rem; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); cursor: pointer; margin: 0; } .tgc-mode input { position: absolute; opacity: 0; pointer-events: none; } .tgc-mode i { font-size: 1.4rem; color: var(--tblr-secondary); } .tgc-mode.is-on { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary); } .tgc-mode.is-on i { color: var(--tblr-primary); } .tgc-mode:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.tgc-design { display: flex; align-items: center; gap: .75rem; padding: .7rem .8rem; border: 1px solid var(--tblr-primary); border-radius: var(--tblr-border-radius); } .tgc-swatch { flex: none; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #0A0A0B 55%, #D8B56A); border: 1px solid rgba(0,0,0,.2); }
.tgc-metals { display: flex; flex-wrap: wrap; gap: .5rem; } .tgc-metal { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .8rem; border: 1px solid var(--tblr-border-color); border-radius: 999px; cursor: pointer; margin: 0; } .tgc-metal input { position: absolute; opacity: 0; pointer-events: none; } .tgc-metal.is-on { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary); }
.tgc-metal-dot { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,.2); } .m-gold { background: linear-gradient(135deg,#8A6A2E,#F0DCA0,#B48A3C); } .m-platinum { background: linear-gradient(135deg,#6F757C,#F2F5F7,#A9B1B9); } .m-rose { background: linear-gradient(135deg,#8C5A4B,#F3CDBF,#BD8673); } .m-brass { background: linear-gradient(135deg,#6E5A22,#E6D38C,#A58B38); }
.tg-flow { padding-left: 1.2rem; color: var(--tblr-secondary); } .tg-flow li { margin-bottom: .3rem; }
#tg-create-qr { width: 170px; } #tg-create { white-space: normal; line-height: 1.25; }

/* Deal choice (New casino) */
.deal-cards{ display:grid; grid-template-columns:1fr 1fr; gap:10px; } .deal-card{ display:flex; flex-direction:column; gap:4px; padding:14px; border:1px solid var(--tblr-border-color); border-radius:10px; cursor:pointer; } .deal-card input{ position:absolute; opacity:0; pointer-events:none; } .deal-card i{ font-size:1.5rem; color:var(--tblr-secondary); } .deal-card.is-on{ border-color:var(--tblr-primary); box-shadow:0 0 0 1px var(--tblr-primary); } .deal-card.is-on i{ color:var(--tblr-primary); }
@media (max-width:480px){ .deal-cards{ grid-template-columns:1fr; } }

/* the casino's deal chip: its NAME is always written out (the aggregator chip may drop its label on narrow screens, this one never does) */
.agg-ticker.deal-chip strong{ display:inline !important; } .deal-chip .deal-chip-k{ font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; opacity:.7; margin-right:.35rem; } .deal-chip .agg-main{ margin-left:.4rem !important; }
@media (max-width: 1100px){ .deal-chip .deal-chip-k{ display:none; } }

/* Direct Plan: the live balance in the deal chip, and the simple report */
.deal-chip .deal-chip-sep{ width:1px; height:14px; background:var(--tblr-border-color); margin:0 .5rem; } .deal-chip .agg-main{ margin-left:0 !important; font-variant-numeric:tabular-nums; } .deal-chip .agg-main small{ font-size:.72em; opacity:.6; }
.deal-chip .deal-tick{ margin-left:.4rem; font-size:.72rem; color:var(--tblr-red); font-variant-numeric:tabular-nums; animation:deal-tick 2.6s ease-out forwards; } @keyframes deal-tick{ 0%{ opacity:0; transform:translateY(4px); } 12%{ opacity:1; transform:none; } 75%{ opacity:1; } 100%{ opacity:0; } }
.m-deal-balance{ font-size:.8rem; font-weight:600; font-variant-numeric:tabular-nums; text-decoration:none; color:var(--tblr-body-color); padding:.2rem .5rem; border:1px solid var(--tblr-border-color); border-radius:999px; margin-right:.25rem; white-space:nowrap; }
.deal-report .cur{ font-size:.85em; opacity:.6; font-weight:500; text-transform:none; letter-spacing:0; } .deal-report .col-agg{ background:color-mix(in srgb, var(--tblr-primary) 5%, transparent); } .deal-report .det{ border-left:0; opacity:.9; } .deal-report tfoot td{ border-top:2px solid var(--tblr-border-color); }
.deal-how summary{ list-style:none; } .deal-how summary::-webkit-details-marker{ display:none; }

/* ---------- The menu (core/menu.js): calmer groups, one active pill, the casino workspace header ---------- */
.navbar-vertical .nav-link { border-radius: .6rem; margin: 0 .6rem; padding: .3rem .7rem; min-height: 0; font-size: .875rem; color: rgba(255,255,255,.72); transition: background .15s ease, color .15s ease; }
.navbar-vertical .nav-link:hover { background: rgba(255,255,255,.05); color: #fff; }
.navbar-vertical .nav-link.active { background: rgba(255,255,255,.1); color: #fff; font-weight: 600; box-shadow: inset 2px 0 0 var(--tblr-primary); }
.navbar-vertical .nav-link .nav-link-icon { opacity: .75; width: 1.35rem; } .navbar-vertical .nav-link.active .nav-link-icon { opacity: 1; color: var(--tblr-primary); }
.navbar-vertical .nav-link .badge { font-size: .62rem; }
.nav-group-label { padding: .8rem 1.3rem .2rem; font-size: .64rem; letter-spacing: .12em; color: rgba(255,255,255,.38); }
.scope-pill.is-workspace { margin: .5rem .6rem 0; padding: .45rem .55rem; border-radius: .7rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); gap: .5rem; }
.scope-pill .ws-back { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: .5rem; color: #fff; background: rgba(255,255,255,.08); text-decoration: none; flex: none; } .scope-pill .ws-back:hover { background: var(--tblr-primary); }
.scope-pill .ws-name { display: flex; flex-direction: column; min-width: 0; flex: 1; color: #fff; font-weight: 600; font-size: .82rem; line-height: 1.15; } .scope-pill .ws-k { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); font-weight: 600; }
/* a casino section is a page of its own now (no tab bar above it) */
.section-card > .tab-panel { border-top: 0; }

/* ---------- Telegram hub ---------- */
.tg-hub-bot{ display:flex; align-items:center; gap:1rem; padding:1rem 1.1rem; border:1px solid var(--tblr-border-color); border-radius:.8rem; background:var(--tblr-bg-surface); }
.tg-hub-nav{ display:flex; flex-wrap:wrap; gap:.25rem; margin-top:1rem; padding-bottom:.9rem; border-bottom:1px solid var(--tblr-border-color); }
.tg-hub-lines{ display:grid; gap:.6rem; } .tg-hub-line{ display:flex; align-items:center; gap:1rem; padding:.9rem 1.1rem; border:1px solid var(--tblr-border-color); border-radius:.8rem; color:inherit; text-decoration:none; transition:border-color .15s, transform .15s; } .tg-hub-line:hover{ border-color:var(--tblr-primary); transform:translateY(-1px); text-decoration:none; color:inherit; }
/* a section shows only its own cards of the shared screen */
#tg-hub-body[data-hub-show=notifications] [data-hub]:not([data-hub~=notifications]), #tg-hub-body[data-hub-show=actions] [data-hub]:not([data-hub~=actions]), #tg-hub-body[data-hub-show=reach] [data-hub]:not([data-hub~=reach]){ display:none !important; }
#tg-hub-body[data-hub-show=actions] #pol > .card-header{ display:none; }

/* ---------- search: the thing you were looking for blinks grey twice, then stops ---------- */
@keyframes hl-pulse { 0%, 100% { background-color: transparent; box-shadow: 0 0 0 0 transparent; } 25%, 75% { background-color: color-mix(in srgb, var(--tblr-secondary) 22%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tblr-secondary) 22%, transparent); } 50% { background-color: transparent; box-shadow: 0 0 0 0 transparent; } }
.hl-pulse { animation: hl-pulse 1.9s ease-in-out 1; border-radius: .5rem; position: relative; z-index: 1; } tr.hl-pulse > td { animation: hl-pulse 1.9s ease-in-out 1; }
@media (prefers-reduced-motion: reduce) { .hl-pulse, tr.hl-pulse > td { animation: none; outline: 2px solid color-mix(in srgb, var(--tblr-secondary) 45%, transparent); outline-offset: 2px; } }

/* ---------- The search palette ---------- */
.pal-trigger{ display:flex; align-items:center; gap:.55rem; min-width:17rem; height:2.1rem; padding:0 .55rem 0 .7rem; border:1px solid var(--tblr-border-color); border-radius:.65rem; background:var(--tblr-bg-surface-secondary, var(--tblr-bg-surface)); color:var(--tblr-secondary); font-size:.85rem; cursor:text; transition:border-color .15s, box-shadow .15s; }
.pal-trigger:hover{ border-color:var(--tblr-primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--tblr-primary) 12%, transparent); } .pal-trigger span{ flex:1; text-align:left; } .pal-trigger kbd, .pal kbd{ font:600 .66rem/1 var(--tblr-font-monospace); padding:.22rem .38rem; border-radius:.35rem; background:var(--tblr-bg-surface); border:1px solid var(--tblr-border-color); color:var(--tblr-secondary); box-shadow:none; }
@media (max-width:1300px){ .pal-trigger{ min-width:11rem; } }
.pal{ position:fixed; inset:0; z-index:2000; display:flex; justify-content:center; align-items:flex-start; padding:11vh 1rem 1rem; background:rgba(10,14,22,.45); backdrop-filter:blur(3px); animation:pal-in .14s ease-out; } @keyframes pal-in{ from{ opacity:0; } }
.pal-box{ width:min(720px, 100%); max-height:72vh; display:flex; flex-direction:column; border-radius:1rem; overflow:hidden; background:var(--tblr-bg-surface); border:1px solid var(--tblr-border-color); box-shadow:0 30px 80px -20px rgba(0,0,0,.55); animation:pal-pop .16s cubic-bezier(.2,.8,.2,1); } @keyframes pal-pop{ from{ transform:translateY(-8px) scale(.985); opacity:0; } }
.pal-head{ display:flex; align-items:center; gap:.7rem; padding:.95rem 1.1rem; border-bottom:1px solid var(--tblr-border-color); } .pal-head > .ti{ font-size:1.25rem; color:var(--tblr-secondary); } .pal-head input{ flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--tblr-body-color); font-size:1.05rem; }
.pal-only{ font-size:.72rem; font-weight:600; padding:.2rem .5rem; border-radius:99px; background:color-mix(in srgb, var(--tblr-primary) 14%, transparent); color:var(--tblr-primary); white-space:nowrap; }
.pal-body{ overflow:auto; padding:.35rem .4rem .5rem; overscroll-behavior:contain; } .pal-group{ display:flex; align-items:center; gap:.5rem; padding:.7rem .75rem .3rem; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tblr-secondary); } .pal-count{ font-weight:600; opacity:.6; }
.pal-row{ display:flex; align-items:center; gap:.75rem; padding:.5rem .75rem; border-radius:.6rem; color:inherit; text-decoration:none; } .pal-row:hover{ text-decoration:none; color:inherit; } .pal-row.is-sel{ background:color-mix(in srgb, var(--tblr-primary) 9%, transparent); }
.pal-ic{ flex:none; width:2rem; height:2rem; border-radius:.55rem; display:grid; place-items:center; background:var(--tblr-bg-surface-secondary, rgba(128,128,128,.1)); color:var(--tblr-secondary); font-size:1.05rem; } .pal-row.is-sel .pal-ic{ color:var(--tblr-primary); }
.pal-main{ flex:1; min-width:0; display:flex; flex-direction:column; } .pal-title{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .pal-title mark{ background:none; color:var(--tblr-primary); padding:0; } .pal-sub{ font-size:.78rem; color:var(--tblr-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pal-path{ flex:none; max-width:42%; font-size:.76rem; color:var(--tblr-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .pal-enter{ flex:none; opacity:0; color:var(--tblr-secondary); } .pal-row.is-sel .pal-enter{ opacity:1; }
.pal-empty{ display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:2.4rem 1rem; text-align:center; color:var(--tblr-secondary); } .pal-empty > .ti{ font-size:2rem; opacity:.6; } .pal-tips{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:.4rem; } .pal-tips span{ font-size:.75rem; padding:.25rem .6rem; border-radius:99px; border:1px solid var(--tblr-border-color); }
.pal-more{ padding:.6rem .9rem; font-size:.8rem; color:var(--tblr-secondary); } .pal-foot{ display:flex; align-items:center; gap:1rem; padding:.55rem 1rem; border-top:1px solid var(--tblr-border-color); font-size:.72rem; color:var(--tblr-secondary); } .pal-foot kbd{ margin-right:.2rem; }
html.pal-open{ overflow:hidden; }
@media (max-width:640px){ .pal{ padding:0; } .pal-box{ width:100%; max-height:none; height:100dvh; border-radius:0; border:0; } .pal-foot span:not(.pal-scope){ display:none; } .pal-path{ display:none; } .pal-sub::after{ content:attr(data-path); } }

/* ---------- Reports home ---------- */
.rep-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(420px, 1fr)); gap:.8rem; } @media (max-width:520px){ .rep-grid{ grid-template-columns:1fr; } }
.rep-card{ display:flex; align-items:center; gap:1rem; padding:1rem 1.1rem; border:1px solid var(--tblr-border-color); border-radius:.9rem; background:var(--tblr-bg-surface); color:inherit; text-decoration:none; transition:border-color .15s, transform .15s, box-shadow .15s; } .rep-card:hover{ border-color:var(--tblr-primary); transform:translateY(-1px); box-shadow:0 10px 24px -16px rgba(0,0,0,.35); color:inherit; text-decoration:none; }
.rep-ic{ flex:none; width:2.6rem; height:2.6rem; border-radius:.75rem; display:grid; place-items:center; font-size:1.3rem; } .rep-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:.15rem; } .rep-title{ font-weight:700; } .rep-text{ font-size:.8rem; color:var(--tblr-secondary); }
.rep-fig{ flex:none; text-align:end; display:flex; flex-direction:column; max-width:45%; } .rep-num{ font-weight:700; font-size:1.05rem; font-variant-numeric:tabular-nums; white-space:nowrap; } .rep-hint{ font-size:.72rem; color:var(--tblr-secondary); }

/* ── Team & roles ─────────────────────────────────────────────────────────── */
.team-table tr.team-off td{ opacity:.55; } .team-table tr.team-off td:first-child{ opacity:1; }
.perm-dot{ display:inline-block; width:.5rem; height:.5rem; border-radius:50%; margin-inline-end:.5rem; flex:none; }
.role-level{ margin-bottom:1.75rem; } .role-level-h{ display:flex; align-items:baseline; gap:.75rem; flex-wrap:wrap; margin-bottom:.75rem; } .role-level-h>span:first-child{ font-weight:600; font-size:1rem; }
.role-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:.75rem; }
.role-card{ border:1px solid var(--tblr-border-color); border-radius:.8rem; padding:.9rem 1rem .6rem; display:flex; flex-direction:column; gap:.55rem; background:var(--tblr-bg-surface); transition:border-color .15s, box-shadow .15s; }
.role-card:hover{ border-color:var(--tblr-primary); box-shadow:0 2px 10px rgba(0,0,0,.05); } .role-card.is-owner{ background:linear-gradient(180deg, rgba(var(--tblr-primary-rgb),.05), transparent 60%); }
.role-name{ font-weight:600; } .role-hint{ font-size:.8125rem; color:var(--tblr-secondary); line-height:1.35; min-height:2.2em; }
.role-meta{ display:flex; flex-wrap:wrap; gap:.85rem; font-size:.78rem; color:var(--tblr-secondary); } .role-actions{ display:flex; gap:.15rem; margin-inline-start:-.5rem; border-top:1px solid var(--tblr-border-color-translucent); padding-top:.4rem; }
.role-compare-bar{ position:sticky; bottom:1rem; margin:0 auto; width:max-content; max-width:100%; padding:.55rem .6rem .55rem 1rem; border-radius:999px; background:var(--tblr-dark,#1d273b); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.25); display:flex; align-items:center; font-size:.85rem; }
.role-area-h{ font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--tblr-secondary); font-weight:600; margin:1rem 0 .35rem; }
.perm-line{ display:flex; align-items:center; font-size:.85rem; padding:.12rem 0; } .perm-line.diff-add{ color:var(--tblr-green); } .perm-line.diff-rem{ color:var(--tblr-red); }
.cmp-h{ font-weight:600; font-size:.85rem; padding-bottom:.4rem; border-bottom:1px solid var(--tblr-border-color); }
.role-sum{ margin:0; padding-inline-start:1.1rem; font-size:.85rem; line-height:1.5; } .role-sum-h{ font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--tblr-secondary); font-weight:600; margin:.9rem 0 .3rem; }
.role-sum-no{ margin-top:.8rem; font-size:.8rem; color:var(--tblr-secondary); } .role-sum-n{ font-weight:600; margin-bottom:.4rem; } .role-sum-box{ border:1px solid var(--tblr-border-color); border-radius:.6rem; padding:.8rem 1rem; background:var(--tblr-bg-surface-secondary); }
.role-editor{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1.25rem; align-items:start; }
.role-editor-side{ position:sticky; top:1rem; } .role-side-card{ border:1px solid var(--tblr-border-color); border-radius:.8rem; padding:1rem 1.1rem; background:var(--tblr-bg-surface); max-height:calc(100vh - 2rem); overflow:auto; } .role-side-h{ font-weight:600; margin-bottom:.5rem; }
.role-search{ width:min(360px,100%); } .role-legend{ display:flex; flex-wrap:wrap; gap:1rem; font-size:.78rem; color:var(--tblr-secondary); margin-bottom:.75rem; } .role-legend>span{ display:inline-flex; align-items:center; }
.role-area{ border:1px solid var(--tblr-border-color); border-radius:.8rem; background:var(--tblr-bg-surface); margin-bottom:.75rem; overflow:hidden; }
.role-area>header{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border-bottom:1px solid var(--tblr-border-color-translucent); flex-wrap:wrap; } .role-area-name{ font-weight:600; }
.role-perms{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.role-perm{ display:flex; align-items:flex-start; gap:.5rem; padding:.6rem 1rem; cursor:pointer; border-bottom:1px solid var(--tblr-border-color-translucent); margin:0; } .role-perm:hover{ background:var(--tblr-bg-surface-secondary); }
.role-perm .form-check-input{ margin-top:.2rem; flex:none; } .role-perm .perm-dot{ margin-top:.45rem; margin-inline-end:0; } .role-perm.on .role-perm-label{ font-weight:600; } .role-perm.locked{ opacity:.55; cursor:not-allowed; }
.role-perm-text{ display:flex; flex-direction:column; min-width:0; } .role-perm-label{ font-size:.875rem; } .role-perm-hint{ font-size:.78rem; color:var(--tblr-secondary); line-height:1.35; } .role-perm-hint em{ color:var(--tblr-orange); font-style:normal; }
.role-limits{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.45rem; } .role-limits .input-group{ width:auto; flex:1 1 200px; } .role-limits .form-control{ min-width:70px; }
.ex-list{ max-height:none; } .ex-row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.45rem .25rem; border-bottom:1px solid var(--tblr-border-color-translucent); } .ex-row .btn{ flex:none; min-width:6.5rem; } .ex-text{ min-width:0; font-size:.875rem; } .ex-row.ex-add{ background:rgba(var(--tblr-green-rgb),.06); } .ex-row.ex-remove{ background:rgba(var(--tblr-red-rgb),.06); }
@media (max-width: 991px){ .role-editor{ grid-template-columns:1fr; } .role-editor-side{ position:static; order:-1; } .role-side-card{ max-height:none; } .role-perms{ grid-template-columns:1fr; } }

.role-menu-preview{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding:.75rem 1rem; border:1px solid var(--tblr-border-color); border-radius:.6rem; background:var(--tblr-bg-surface); } .rmp-group{ min-width:140px; } .rmp-h{ font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; color:var(--tblr-secondary); font-weight:600; margin-bottom:.2rem; } .rmp-item{ font-size:.82rem; padding:.1rem 0; white-space:nowrap; }

.approvals-card{ border-color:rgba(var(--tblr-orange-rgb),.45); } .appr-row{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; } .appr-main{ flex:1 1 280px; min-width:0; } .appr-actions{ display:flex; align-items:center; gap:.4rem; }

.shopr-box{ border:1px solid var(--tblr-border-color); border-radius:.8rem; padding:.9rem 1rem; background:var(--tblr-bg-surface-secondary); margin-bottom:.5rem; }

/* ── Referral programme ───────────────────────────────────────────────────── */
.ref-head{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:1rem 1.25rem .25rem; } .ref-head-main{ display:flex; align-items:center; gap:.75rem; flex:1 1 320px; } .ref-head-side{ display:flex; align-items:center; gap:.75rem; }
.ref-status{ font-size:.8rem; padding:.35rem .6rem; } .ref-budget{ font-size:.85rem; padding:.3rem .7rem; border:1px solid var(--tblr-border-color); border-radius:999px; white-space:nowrap; } .ref-budget.is-low{ border-color:var(--tblr-orange); color:var(--tblr-orange); }
.ref-card.is-low{ border-color:rgba(var(--tblr-orange-rgb),.6); } .ref-funnel{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; } .ref-funnel>i{ color:var(--tblr-secondary); } .ref-step{ flex:1 1 120px; text-align:center; padding:.6rem .4rem; border:1px solid var(--tblr-border-color); border-radius:.7rem; }
.ref-step-n{ font-size:1.5rem; font-weight:700; line-height:1.1; } .ref-step-l{ font-size:.8rem; } .ref-step-s{ font-size:.72rem; color:var(--tblr-secondary); min-height:1em; }
.ref-builder{ display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:1.25rem; padding:1rem 1.25rem 1.5rem; align-items:start; } .ref-builder-side{ position:sticky; top:1rem; } .ref-side-card{ border:1px solid var(--tblr-border-color); border-radius:.8rem; padding:1rem; background:var(--tblr-bg-surface); } .ref-side-h{ font-weight:600; margin-bottom:.25rem; }
.ref-sec{ border:1px solid var(--tblr-border-color); border-radius:.8rem; padding:1rem 1.1rem; margin-bottom:.9rem; background:var(--tblr-bg-surface); } .ref-sec h3{ font-size:1rem; margin-bottom:.15rem; }
.ref-templates{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.6rem; } .ref-template{ text-align:start; display:flex; flex-direction:column; gap:.2rem; padding:.7rem .8rem; border:1px solid var(--tblr-border-color); border-radius:.7rem; background:transparent; color:inherit; transition:border-color .15s, transform .15s; } .ref-template:hover:not(:disabled){ border-color:var(--tblr-primary); transform:translateY(-1px); }
.ref-chain{ display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin-top:.8rem; font-size:.8rem; } .ref-chain-n{ padding:.25rem .6rem; border-radius:999px; background:var(--tblr-bg-surface-secondary); border:1px solid var(--tblr-border-color); } .ref-chain-n.me{ background:var(--tblr-primary); color:#fff; border-color:transparent; }
.ref-rates td, .ref-rates th{ border:0; padding:.35rem .4rem; } .ref-rates th{ font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--tblr-secondary); } .ref-rates tr.is-off .ref-rate{ opacity:.45; } .ref-rate{ min-width:96px; } .ref-rates td:first-child{ min-width:210px; } .ref-opts td{ background:var(--tblr-bg-surface-secondary); border-radius:.5rem; padding:.6rem .8rem !important; }
.ref-tier{ display:grid; grid-template-columns:minmax(120px,1fr) 150px 110px auto; gap:.4rem; margin-bottom:.4rem; align-items:center; } .ref-methods{ display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
.ref-sim-l{ min-width:74px; } .ref-sim-row{ display:flex; justify-content:space-between; font-size:.85rem; padding:.12rem 0; } .ref-sim-row.total{ border-top:1px solid var(--tblr-border-color); margin-top:.3rem; padding-top:.4rem; }
.ref-sim-share{ margin-top:.4rem; text-align:center; font-weight:600; padding:.35rem; border-radius:.5rem; font-size:.85rem; } .ref-sim-share.ok{ background:rgba(var(--tblr-green-rgb),.12); color:var(--tblr-green); } .ref-sim-share.warn{ background:rgba(var(--tblr-orange-rgb),.14); color:var(--tblr-orange); } .ref-sim-share.bad{ background:rgba(var(--tblr-red-rgb),.12); color:var(--tblr-red); }
.ref-risks{ margin:.6rem 0 0; padding-inline-start:1rem; font-size:.78rem; color:var(--tblr-secondary); }
.ref-banners{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.75rem; } .ref-banner{ margin:0; border:1px solid var(--tblr-border-color); border-radius:.7rem; overflow:hidden; background:var(--tblr-bg-surface); } .ref-banner img{ width:100%; height:150px; object-fit:contain; background:var(--tblr-bg-surface-secondary); display:block; } .ref-banner figcaption{ display:flex; align-items:center; gap:.5rem; padding:.4rem .6rem; font-size:.8rem; } .ref-banner.is-off, .ref-text.is-off{ opacity:.5; }
.ref-text{ display:flex; align-items:flex-start; gap:.6rem; padding:.6rem .7rem; border:1px solid var(--tblr-border-color); border-radius:.6rem; margin-bottom:.4rem; font-size:.875rem; }
.ref-wallet-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-bottom:1rem; } .ref-friend{ display:flex; align-items:center; gap:.6rem; padding:.35rem 0; border-bottom:1px solid var(--tblr-border-color-translucent); font-size:.875rem; }
@media (max-width: 991px){ .ref-builder{ grid-template-columns:1fr; padding:.75rem; } .ref-builder-side{ position:static; } .ref-tier{ grid-template-columns:1fr 1fr; } }

/* ── Payment-number watch: the case card (inside a request, on the Risk page) and the Risk page ── */
.risk-card{ border:1px solid rgba(214,57,57,.35); border-radius:14px; padding:16px; margin-bottom:16px; background:linear-gradient(180deg, rgba(214,57,57,.06), transparent 120px), var(--tblr-bg-surface); }
.risk-head{ display:flex; gap:12px; align-items:center; }
.risk-ico{ width:44px; height:44px; flex:none; display:grid; place-items:center; border-radius:12px; font-size:22px; color:#d63939; background:rgba(214,57,57,.12); } .risk-ico.sm{ width:36px; height:36px; font-size:18px; border-radius:10px; }
.risk-title{ font-weight:700; font-size:15px; line-height:1.25; } .risk-value{ font-family:var(--tblr-font-monospace); font-size:18px; font-weight:700; letter-spacing:.04em; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.risk-verdict{ margin:12px 0; padding:9px 12px; border-radius:10px; font-size:13.5px; background:rgba(247,103,7,.1); color:var(--tblr-body-color); }
.risk-people{ display:grid; gap:8px; }
.risk-person{ display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--tblr-border-color); border-radius:10px; background:var(--tblr-bg-surface); } .risk-person.other{ border-style:dashed; }
.risk-acts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:8px; margin-top:14px; }
.risk-act{ display:flex; align-items:flex-start; gap:10px; padding:11px 12px; text-align:start; border-radius:12px; border:1px solid var(--tblr-border-color); background:var(--tblr-bg-surface); color:inherit; cursor:pointer; transition:transform .12s, border-color .12s, box-shadow .12s; }
.risk-act i{ font-size:20px; margin-top:1px; } .risk-act span{ display:grid; gap:2px; min-width:0; } .risk-act b{ font-size:14px; } .risk-act small{ font-size:12px; line-height:1.3; color:var(--tblr-secondary); }
.risk-act:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.08); } .risk-act:focus-visible{ outline:2px solid var(--tblr-primary); outline-offset:2px; }
.risk-act.risk-good i{ color:#2fb344; } .risk-act.risk-good:hover{ border-color:#2fb344; } .risk-act.risk-warn i{ color:#f76707; } .risk-act.risk-warn:hover{ border-color:#f76707; } .risk-act.risk-bad i{ color:#d63939; } .risk-act.risk-bad:hover{ border-color:#d63939; } .risk-act.risk-plain:hover{ border-color:var(--tblr-primary); }
.risk-wait{ display:flex; align-items:flex-start; margin-top:14px; padding:12px; border-radius:12px; background:rgba(32,107,196,.08); } .risk-wait i{ font-size:20px; color:var(--tblr-primary); }
.risk-history{ display:grid; gap:4px; margin-top:8px; font-size:12.5px; }
.risk-ico.risk-ico-id{ color:#ae3ec9; background:rgba(174,62,201,.12); } .risk-value-id{ font-family:inherit; font-size:14px; letter-spacing:0; }
.risk-conn{ display:inline-flex; align-items:center; gap:5px; margin:2px 6px 2px 0; padding:2px 8px; border-radius:999px; font-size:12px; background:rgba(127,127,127,.1); white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.risk-groups{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin-bottom:14px; }
.risk-group{ position:relative; display:flex; align-items:center; gap:12px; padding:14px 16px; text-align:start; border-radius:14px; border:1px solid var(--tblr-border-color); background:var(--tblr-bg-surface); color:inherit; cursor:pointer; transition:border-color .12s, box-shadow .12s; }
.risk-group i{ font-size:24px; color:var(--tblr-secondary); } .risk-group span{ display:grid; gap:2px; min-width:0; } .risk-group small{ color:var(--tblr-secondary); font-size:12px; line-height:1.3; }
.risk-group em{ margin-inline-start:auto; font-style:normal; font-weight:700; min-width:24px; text-align:center; padding:2px 8px; border-radius:999px; color:#fff; background:#d63939; }
.risk-group.on{ border-color:var(--tblr-primary); box-shadow:0 0 0 1px var(--tblr-primary) inset; } .risk-group.on i{ color:var(--tblr-primary); }
@media (max-width: 576px){ .risk-groups{ grid-template-columns:minmax(0,1fr); } }
.risk-page{ padding:20px; } .risk-intro{ margin-bottom:16px; max-width:820px; }
.risk-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.risk-tab{ display:flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px; border:1px solid var(--tblr-border-color); background:var(--tblr-bg-surface); color:inherit; font-weight:600; cursor:pointer; } .risk-tab.on{ background:var(--tblr-primary); border-color:var(--tblr-primary); color:#fff; }
.risk-count{ min-width:22px; padding:1px 7px; border-radius:999px; font-size:12px; background:rgba(127,127,127,.18); } .risk-tab.on .risk-count{ background:rgba(255,255,255,.25); }
.risk-list{ display:grid; grid-template-columns:minmax(0,1fr); gap:8px; } .risk-value .badge{ font-family:var(--tblr-font-sans-serif); letter-spacing:0; } .risk-row{ display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--tblr-border-color); background:var(--tblr-bg-surface); color:inherit; cursor:pointer; transition:border-color .12s, transform .12s; } .risk-row:hover{ border-color:var(--tblr-primary); transform:translateY(-1px); }
@media (max-width: 576px){ .risk-page{ padding:14px; } .risk-person{ flex-direction:column; } .risk-person .text-end{ text-align:start !important; } .risk-acts{ grid-template-columns:1fr; } }

/* ---- account reviews: levels, review cards, rules as sentences ---- */
.risk-groups.risk-groups-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); } @media (max-width: 1100px){ .risk-groups.risk-groups-4{ grid-template-columns:repeat(2, minmax(0, 1fr)); } } @media (max-width: 576px){ .risk-groups.risk-groups-4{ grid-template-columns:minmax(0,1fr); } }
.rv-card{ border:1px solid var(--tblr-border-color); border-inline-start:4px solid var(--rv, #f76707); border-radius:14px; padding:14px 16px; background:var(--tblr-bg-surface); }
.rv-tone-yellow{ --rv:#f59f00; } .rv-tone-orange{ --rv:#f76707; } .rv-tone-red{ --rv:#d63939; } .rv-tone-purple{ --rv:#ae3ec9; } .rv-tone-blue{ --rv:#206bc4; } .rv-tone-dark{ --rv:#1d273b; }
.rv-ico-yellow{ color:#f59f00; background:rgba(245,159,0,.14); } .rv-ico-orange{ color:#f76707; background:rgba(247,103,7,.12); } .rv-ico-red{ color:#d63939; } .rv-ico-purple{ color:#ae3ec9; background:rgba(174,62,201,.12); } .rv-ico-blue{ color:#206bc4; background:rgba(32,107,196,.12); } .rv-ico-dark{ color:#1d273b; background:rgba(29,39,59,.12); }
.rv-meaning{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; } .rv-mean{ display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:999px; font-size:12px; background:rgba(127,127,127,.1); white-space:nowrap; }
.rv-mean.rv-allow b{ color:#2fb344; } .rv-mean.rv-wait b{ color:#f76707; } .rv-mean.rv-block b{ color:#d63939; } .rv-mean.rv-allow{ opacity:.75; }
.rv-held{ margin-top:10px; padding:8px 12px; border-radius:10px; font-size:13px; background:rgba(214,57,57,.08); color:#d63939; } .rv-held a{ margin-inline-start:6px; }
.rv-actions{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:8px; margin-top:12px; }
.rv-timeline{ display:grid; gap:10px; } .rv-ev{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; } .rv-ev > i{ flex:none; width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:rgba(127,127,127,.12); }
.rv-pick{ display:grid; gap:8px; margin-bottom:14px; } .rv-pick-card{ display:block; padding:12px 14px; border-radius:12px; border:1px solid var(--tblr-border-color); cursor:pointer; transition:border-color .12s, box-shadow .12s; } .rv-pick-card input{ position:absolute; opacity:0; pointer-events:none; }
.rv-pick-card.on{ border-color:var(--tblr-primary); box-shadow:0 0 0 1px var(--tblr-primary) inset; } .rv-pick-card:focus-within{ outline:2px solid var(--tblr-primary); outline-offset:2px; }
.rv-levels{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:12px; } .rv-level{ border:1px solid var(--tblr-border-color); border-top:4px solid var(--rv, #f76707); border-radius:14px; padding:14px; background:var(--tblr-bg-surface); min-width:0; }
.rv-says{ margin-top:10px; padding:9px 12px; border-radius:10px; font-size:13px; line-height:1.45; background:rgba(127,127,127,.08); color:var(--tblr-secondary); overflow-wrap:anywhere; }
.rv-tone{ width:30px; height:30px; border-radius:999px; border:2px solid transparent; cursor:pointer; } .rv-tone.on{ border-color:var(--tblr-body-color); box-shadow:0 0 0 2px var(--tblr-bg-surface) inset; }
.rv-switches{ display:grid; gap:8px; } .rv-switch{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; border:1px solid var(--tblr-border-color); border-radius:12px; } .rv-switch-name{ font-weight:600; }
.rv-seg{ display:inline-flex; border:1px solid var(--tblr-border-color); border-radius:10px; overflow:hidden; } .rv-seg-b{ padding:6px 12px; font-size:13px; border:0; background:transparent; color:inherit; cursor:pointer; } .rv-seg-b + .rv-seg-b{ border-inline-start:1px solid var(--tblr-border-color); }
.rv-seg-b.on.rv-allow{ background:#2fb344; color:#fff; } .rv-seg-b.on.rv-wait{ background:#f76707; color:#fff; } .rv-seg-b.on.rv-block{ background:#d63939; color:#fff; }
.rv-preview{ margin-top:12px; padding:12px 14px; border-radius:12px; border:1px dashed var(--tblr-border-color); background:rgba(245,159,0,.06); }
.rules-group{ border:1px solid var(--tblr-border-color); border-radius:14px; margin-bottom:12px; overflow:hidden; background:var(--tblr-bg-surface); } .rules-group-h{ padding:9px 14px; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--tblr-secondary); background:rgba(127,127,127,.06); }
.rule{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 14px; border-top:1px solid var(--tblr-border-color); border-inline-start:3px solid transparent; } .rule-notify{ border-inline-start-color:#206bc4; } .rule-review{ border-inline-start-color:#f76707; } .rule-off .rule-s{ opacity:.7; }
.rule-text{ flex:1 1 320px; min-width:0; } .rule-s{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; line-height:1.9; } .rule-act{ flex:0 0 200px; } .rules-num{ display:inline-block; text-align:end; }
@media (max-width: 576px){ .rule-act{ flex:1 1 100%; } .rv-actions{ grid-template-columns:1fr; } }

/* Telegram mandatory for casino staff: the top-bar chip until connected */
.tg-chip{ border:0; cursor:pointer; } .tg-chip .ti{ font-size:16px; color:#229ED9; } .tg-chip-dot{ width:8px; height:8px; border-radius:50%; background:#d63939; box-shadow:0 0 0 3px rgba(214,57,57,.2); flex:none; }

/* the forced password change at the first login (owner 2026-09-22) */
.pwgate{ position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:16px; background:var(--tblr-body-bg); }
.pwgate-card{ width:100%; max-width:420px; background:var(--tblr-card-bg, var(--tblr-bg-surface)); border:1px solid var(--tblr-border-color); border-radius:14px; padding:28px 26px; box-shadow:0 20px 60px rgba(0,0,0,.18); transition:opacity .4s; }
.pwgate.ok .pwgate-card{ opacity:.4; }
.pwgate-mark{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--tblr-primary-lt, rgba(32,107,196,.12)); color:var(--tblr-primary); font-size:24px; margin-bottom:12px; }
.pwgate h2{ margin:0 0 6px; }

/* "Explain this": the (i) next to a label and its popover; the page panel */
.help-i{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-inline-start:5px; border:0; padding:0; background:transparent; color:var(--tblr-secondary); opacity:.55; cursor:pointer; vertical-align:middle; border-radius:50%; font-size:14px; line-height:1; } .help-i:hover, .help-i:focus-visible{ opacity:1; color:var(--tblr-primary); outline:0; }
.help-pop{ position:fixed; z-index:1075; padding:12px 14px; border-radius:12px; background:var(--tblr-bg-surface); border:1px solid var(--tblr-border-color); box-shadow:0 12px 40px rgba(0,0,0,.18); font-size:13.5px; line-height:1.45; animation:help-in .16s ease; } .help-pop b{ display:block; margin-bottom:4px; } .help-pop p{ margin:0; color:var(--tblr-secondary); }
@keyframes help-in{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
.help-page .help-what p{ margin:0 0 12px; } .help-items .list-group-item{ display:grid; gap:2px; } .help-items .list-group-item span{ color:var(--tblr-secondary); font-size:13px; }
/* the Guide: the veil with a hole, the thing itself grown a little, the card beside it */
.gd-veil{ position:fixed; inset:0; z-index:1070; background:rgba(8,12,20,.58); backdrop-filter:blur(1px); transition:clip-path .28s ease; }
.gd-card{ position:fixed; z-index:1071; padding:16px 18px 14px; border-radius:16px; background:var(--tblr-bg-surface); border:1px solid var(--tblr-border-color); box-shadow:0 24px 70px rgba(0,0,0,.35); animation:help-in .22s ease; transition:top .3s ease, left .3s ease; } .gd-card.gd-wait{ opacity:.65; }
.gd-eyebrow{ display:flex; justify-content:space-between; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--tblr-secondary); margin-bottom:6px; } .gd-eyebrow em{ font-style:normal; }
.gd-card h3{ margin:0 0 6px; font-size:17px; } .gd-card p{ margin:0 0 10px; font-size:13.5px; line-height:1.5; color:var(--tblr-body-color); }
.gd-bar{ height:4px; border-radius:2px; background:var(--tblr-border-color); overflow:hidden; margin-bottom:12px; } .gd-bar i{ display:block; height:100%; background:var(--tblr-primary); transition:width .3s ease; }
.gd-btns{ display:flex; gap:8px; align-items:center; }
.gd-focus{ position:relative; z-index:1069; transform:scale(1.04); transition:transform .35s cubic-bezier(.3,.75,.25,1); box-shadow:0 18px 50px rgba(0,0,0,.25); border-radius:10px; } .gd-focus-flat{ position:relative; z-index:1069; }
body.gd-on{ overflow-x:hidden; } .gd-chip .ti{ color:var(--tblr-primary); font-size:16px; }
.gd-hero .card-body{ text-align:center; } .gd-ring{ width:92px; height:92px; border-radius:50%; display:grid; place-items:center; margin:0 auto 12px; border:6px solid var(--tblr-primary); font-size:22px; }
.st-after{ margin:18px 0 0; } .st-after-btns{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
@media (max-width: 991.98px){ .gd-card{ left:12px !important; right:12px !important; width:auto !important; } }
@media (prefers-reduced-motion: reduce){ .gd-veil, .gd-card, .gd-focus{ transition:none; animation:none; } }

/* ---- what one shop sees (pages/shop-catalogue.js): fee groups that expand to their games ---- */
.sc-group{ padding:0; }
.sc-head{ display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; user-select:none; }
.sc-head:hover{ background:var(--tblr-active-bg, rgba(0,0,0,.02)); }
.sc-chev{ transition:transform .18s; color:var(--tblr-secondary); flex:none; } .sc-group.open .sc-chev{ transform:rotate(90deg); }
.sc-title{ flex:1; min-width:0; display:grid; gap:2px; } .sc-title b{ font-weight:600; }
.sc-group.off .sc-title b{ color:var(--tblr-secondary); text-decoration:line-through; text-decoration-color:rgba(128,128,128,.5); }
.sc-body{ display:none; border-top:1px solid var(--tblr-border-color); background:var(--tblr-bg-surface-secondary, rgba(0,0,0,.015)); } .sc-group.open .sc-body{ display:block; }
.sc-tools{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:10px 16px; }
.sc-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:8px; padding:0 16px 16px; }
.sc-game{ display:flex; align-items:center; gap:10px; margin:0; padding:8px 10px; border:1px solid var(--tblr-border-color); border-radius:10px; background:var(--tblr-bg-surface); cursor:pointer; transition:border-color .12s, opacity .12s; }
.sc-game:hover{ border-color:var(--tblr-primary); } .sc-game.off{ opacity:.55; } .sc-game.locked{ cursor:not-allowed; opacity:.5; }
.sc-game img, .sc-noimg{ width:44px; height:44px; border-radius:8px; object-fit:cover; flex:none; background:#0E1419; } .sc-noimg{ display:grid; place-items:center; color:#9aa3b2; }
.sc-game-t{ flex:1; min-width:0; display:grid; } .sc-game-t b{ font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .sc-game-t small{ color:var(--tblr-secondary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:600px){ .sc-grid{ grid-template-columns:1fr; } .sc-head{ padding:12px; } }
.sc-rate{ flex:none; font-variant-numeric:tabular-nums; font-weight:600; font-size:12.5px; color:var(--tblr-primary); padding:2px 8px; border-radius:999px; background:rgba(var(--tblr-primary-rgb), .08); }
.sc-rate-lg{ display:grid; text-align:center; line-height:1.1; padding:4px 10px; margin-inline-end:6px; } .sc-rate-lg b{ font-size:14px; } .sc-rate-lg small{ font-size:10px; font-weight:500; color:var(--tblr-secondary); }
@media (max-width:600px){ .sc-rate-lg small{ display:none; } }

/* paid options & billing (phase 74): the offer ribbon "old → new / month until date", the add-on cards */
.billing-ribbon{ display:inline-flex; align-items:center; gap:.35rem; flex-wrap:wrap; padding:.2rem .6rem; border-radius:999px; background:linear-gradient(90deg, rgba(32,107,196,.12), rgba(74,222,128,.14)); border:1px solid rgba(32,107,196,.25); font-size:.9rem; line-height:1.3; }
.billing-ribbon s{ color:var(--tblr-secondary); } .billing-ribbon b{ font-size:1.05rem; } .billing-ribbon small{ color:var(--tblr-secondary); }
.billing-price{ font-size:1.05rem; margin-bottom:.25rem; } .billing-sub.pending{ border-color:rgba(247,103,7,.5); } .billing-sub.active{ border-inline-start:3px solid var(--tblr-green); }
.billing-offers{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; } .billing-offers .billing-ribbon{ background:linear-gradient(90deg, rgba(247,103,7,.12), rgba(32,107,196,.12)); }

/* Reveal lab (#/lab/reveal): stills and clips of one character on one row, same 9:16 frame for all */
.labrev-row{ display:flex; flex-wrap:wrap; gap:.75rem; } .labrev-asset{ width:150px; } .labrev-asset img, .labrev-asset video{ width:150px; aspect-ratio:9/16; object-fit:cover; border-radius:.5rem; background:#111; display:block; }

/* version in the footer (owner 2026-09-27) */
.app-version { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.app-version-dev { display: inline-block; margin-inline-start: .25rem; padding: 0 .4rem; border-radius: 999px; font-size: .68rem; line-height: 1.5; background: rgba(66, 153, 225, .18); color: #4299e1; }
.ver-chip { display: inline-flex; align-items: center; padding: .2rem .6rem; border: 1px solid var(--tblr-border-color); border-radius: 999px; }
.ver-chip .ver-k { font-size: .66rem; letter-spacing: .06em; opacity: .7; }
.ver-chip .ver-side.is-mine strong { color: var(--tblr-body-color); }
.ver-chip .ver-side:not(.is-mine) strong { font-weight: 500; color: var(--tblr-secondary); }
.ver-chip .ver-plus { margin-inline-start: .3rem; padding: 0 .35rem; border-radius: 999px; font-size: .68rem; background: rgba(66, 153, 225, .18); color: #4299e1; }
#topbar-version { flex: none; }
@media (max-width: 1500px) { #topbar-version .ver-side:not(.is-mine), #topbar-version .sep { display: none; } } /* narrow screens: this server only, the rest is one click away */
