#screen-profile {
  padding:12px 14px 20px;
}
#screen-profile .profile-head {
  gap:12px; padding:0 2px 16px;
}
#screen-profile .avatar {
  width:50px; height:50px; border:1px solid var(--chip-on-border); border-radius:50%;
  background:var(--active-fill) center/cover;
  color:var(--text); font-size:21px; box-shadow:none;
}
.profile-identity { min-width:0; }
.profile-identity .p-name, .profile-identity .p-sub {
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.profile-identity .p-name { font-size:21px; line-height:1.15; }
.profile-identity .p-sub { margin-top:4px; }

#screen-profile .balance-card {
  gap:14px; padding:16px; border-radius:20px; border:1px solid var(--field-border);
  background:var(--hero-fill);
}
/* Сетка, как на карточках кейсов и плашках игр — поверх прежней заливки карточки */
.app #screen-profile .balance-card {
  background:
    linear-gradient(90deg,#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    linear-gradient(#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    var(--hero-fill) !important;
}
.profile-label { color:var(--muted); font-size:12px; font-weight:700; }
.profile-amount { display:flex; align-items:center; gap:8px; margin-top:3px; }
.profile-amount img { flex:none; width:26px; height:26px; }
#screen-profile #pBalance {
  display:block; font-size:clamp(25px,8vw,34px); font-weight:900; line-height:1.15;
  white-space:normal; overflow-wrap:anywhere; min-width:0;
}
:is(#screen-profile,#screen-referrals) .bal-actions button {
  display:flex; align-items:center; justify-content:center; gap:6px;
  min-width:0; height:40px; font-size:13px; font-weight:900; border-radius:11px !important;
}
#screen-profile .bal-actions button svg {
  flex:none; width:16px; height:16px; fill:none; stroke:currentColor;
  stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}
#screen-profile .bal-actions .btn-ghost { background:var(--control-fill) !important; border-color:var(--field-border) !important; }
#screen-profile .bal-actions .btn-ghost:hover { background:var(--panel-top) !important; }

.profile-heading { margin:16px 2px 8px; font-size:16px; font-weight:900; }
:is(#screen-profile,#screen-referrals) .profile-stats {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:0;
  overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line);
}
.profile-stats > div { padding:11px 12px; background:var(--panel-bottom);
  /* сетка, как на карточках кейсов и баланса */
  background:
    linear-gradient(90deg,#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    linear-gradient(#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    var(--panel-bottom); }
/* большие суммы не переносятся по цифрам («5 958 232,0 / 7») — шрифт чуть меньше на узких экранах, одна строка */
.profile-stats strong { display:block; margin-top:2px; font-size:clamp(15px,4.8vw,20px); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

#screen-profile button.admin-entry {
  display:grid; grid-template-columns:34px minmax(0,1fr) auto; grid-template-rows:auto auto;
  column-gap:10px; align-items:center; width:100%; margin-top:12px; padding:8px 10px;
  text-align:left; border-radius:13px !important; background:var(--panel-bottom) !important;
}
#screen-profile button.admin-entry[hidden] { display:none; }
#screen-profile .admin-entry span {
  grid-row:1 / 3; display:grid; place-items:center; width:34px; height:34px; border-radius:10px;
  background:var(--field-bg); font-size:16px;
}
#screen-profile .admin-entry b { font-size:13px; }
#screen-profile .admin-entry small { font-size:11px; color:var(--muted); }
#screen-profile .admin-entry i {
  grid-column:3; grid-row:1 / 3; margin-right:3px; font-style:normal; font-size:20px; color:var(--accent);
}

#screen-profile #histSeg {
  display:flex; gap:3px; margin:0 0 9px; padding:3px;
  border:1px solid var(--line); border-radius:13px;
}
#screen-profile #histSeg button {
  flex:1; min-width:0; min-height:36px; padding:4px;
  border-color:transparent !important; background:transparent !important;
  color:var(--muted) !important; font-size:12px; font-weight:800;
}
#screen-profile #histSeg button[aria-pressed="true"] {
  background:var(--active-fill) !important; color:var(--accent) !important; border-color:var(--chip-on-border) !important;
}
#screen-profile #histList { padding:0; }
#screen-profile #histList .row { padding:8px 10px; background:var(--panel-bottom) !important; }
#screen-profile #histList .r-ico {
  flex:none; display:grid; place-items:center; width:34px; height:34px; border-radius:10px;
  background:var(--field-bg); font-size:17px;
}
#screen-profile #histList .r-title, #screen-profile #histList .r-val { font-size:13px; }
#screen-profile #histList .empty { color:var(--muted); }

/* ── Профиль: шапка, статистика и история (обновлённый вид) ── */
#screen-profile .profile-head { align-items:center; gap:13px; padding:2px 2px 14px; }
#screen-profile .avatar {
  flex:none; width:56px; height:56px; font-size:23px; font-weight:900;
  border:0; box-shadow:0 0 0 2px var(--dark), 0 0 0 4px #2f8fe0, 0 6px 18px #2f8fe044;
}
#screen-profile .profile-identity .p-name { font-size:20px; font-weight:900; }
#screen-profile .profile-identity .p-sub {
  display:inline-block; max-width:100%; margin-top:5px; padding:3px 9px; border-radius:99px;
  background:var(--field-bg); border:1px solid var(--field-border); color:var(--muted); font-size:11px; font-weight:700;
}
#screen-profile .profile-heading { margin:18px 2px 9px; }
#screen-profile .profile-stats .profile-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:11px; }
#screen-profile .profile-stats > div { padding:12px; }

/* История: дни и компактные строки */
#screen-profile #histList { gap:0; }
#screen-profile #histList .h-day {
  margin:12px 4px 6px; color:var(--faint); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
}
#screen-profile #histList .h-day:first-child { margin-top:2px; }
#screen-profile #histList .h-group {
  overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--panel-bottom);
}
#screen-profile #histList .hrow {
  display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px;
  min-height:56px; padding:8px 12px;
}
#screen-profile #histList .hrow + .hrow, #screen-profile #histList .row-details + .hrow { border-top:1px solid var(--line); }
#screen-profile #histList .hrow.clickable { cursor:pointer; }
#screen-profile #histList .hrow.clickable:active { background:#ffffff08; }
#screen-profile #histList .h-ico {
  display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:var(--field-bg); font-size:18px; overflow:hidden;
}
#screen-profile #histList .h-ico img { width:32px; height:32px; object-fit:contain; }
#screen-profile #histList .h-main { min-width:0; }
#screen-profile #histList .h-main b, #screen-profile #histList .h-main span {
  display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
#screen-profile #histList .h-main b { font-size:13.5px; font-weight:800; }
#screen-profile #histList .h-main span { margin-top:3px; color:var(--muted); font-size:11.5px; }
#screen-profile #histList .h-side { text-align:right; }
#screen-profile #histList .h-side b { display:block; font-size:14px; font-weight:900; white-space:nowrap; }
#screen-profile #histList .h-side span { display:block; margin-top:3px; color:var(--faint); font-size:11px; }
#screen-profile #histList .h-group .row-details { margin:0; border-radius:0; border-top:1px dashed var(--line); background:#0007; }
#screen-profile #histList button.h-more {
  width:100%; min-height:42px; margin-top:10px; border-radius:13px !important;
  background:var(--control-fill) !important; border:1px solid var(--field-border) !important;
  color:var(--accent) !important; font-size:13px; font-weight:800;
}

/* Инвентарь */
:is(#histList,#invBody) .inv-head {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:11px 12px; margin-bottom:3px; border-radius:15px; background:var(--hero-fill); border:1px solid var(--field-border);
}
:is(#histList,#invBody) .inv-head b { display:block; font-size:15px; }
:is(#histList,#invBody) .inv-head span { display:block; margin-top:2px; color:var(--muted); font-size:11px; }
:is(#histList,#invBody) button.inv-sell-all {
  flex:none; min-height:36px; padding:4px 9px; font-size:12px;
  background:var(--primary-fill) !important; border-color:var(--btn-border) !important;
}
:is(#histList,#invBody) .inv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
:is(#histList,#invBody) .inv-cell {
  display:flex; flex-direction:column; gap:3px; min-width:0; padding:6px;
  background:var(--panel-bottom); border:1px solid var(--line); border-radius:14px;
}
:is(#histList,#invBody) .inv-art {
  display:grid; place-items:center; aspect-ratio:1; margin-bottom:3px; border-radius:9px;
  background:radial-gradient(ellipse at 50% 45%, #22394f, var(--panel) 76%);
}
:is(#histList,#invBody) .inv-art img { width:84%; height:84%; object-fit:contain; filter:drop-shadow(0 3px 5px #08121c80); }
:is(#histList,#invBody) .inv-cell > b {
  color:var(--text); font-size:12px; line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
:is(#histList,#invBody) .inv-value { color:var(--accent); font-size:13px; font-weight:900; overflow-wrap:anywhere; }
:is(#histList,#invBody) .inv-acts { display:flex; gap:3px; margin-top:auto; padding-top:4px; }
:is(#histList,#invBody) .inv-acts button {
  flex:1; min-width:0; min-height:30px; padding:0 2px; font-size:10px; border-radius:7px !important;
}
:is(#histList,#invBody) .inv-acts button:is([data-invsteam],[data-invtg]) { flex:0 0 34px; font-size:9px; }
:is(#histList,#invBody) .inv-acts button[data-invup] {
  flex:0 0 25px; color:var(--accent) !important; font-size:16px; background:var(--chip-on) !important;
}

/* Пополнение, вывод и реферальная программа */
#screen-deposit .rate-note {
  margin-top:0; padding:11px 13px; border-radius:14px; background:var(--hero-fill); border:1px solid var(--field-border);
}
#screen-deposit .rate-note img { width:17px; height:17px; }
#screen-deposit .rate-note b { color:var(--text); }
#screen-deposit .profile-heading { margin-inline:16px; }
#screen-deposit .pay-tabs {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:4px;
  background:var(--panel-bottom); border:1px solid var(--line); border-radius:15px;
}
#screen-deposit button.pay-tab {
  height:56px; padding:3px 2px; gap:3px; line-height:1.12; text-align:center; font-size:11px;
  background:transparent !important; border-color:transparent !important; color:var(--muted) !important;
}
#screen-deposit button.pay-tab.off { opacity:.65; }
#screen-deposit button.pay-tab.active {
  background:var(--active-fill) !important; border-color:var(--chip-on-border) !important; color:var(--text) !important;
}
#screen-deposit .pay-tab .pt-badge { top:-4px; right:1px; font-size:8px; padding:1px 4px; }
#screen-deposit .pay-tab .pt-ico { font-size:18px; }
:is(#screen-deposit, #screen-withdraw) .card { border-radius:18px !important; }
:is(#screen-deposit, #screen-withdraw) .field-label {
  display:block; color:var(--muted) !important; font-size:12px; text-transform:none; letter-spacing:0;
}
:is(#screen-deposit, #screen-withdraw) .amount-input { border-radius:12px; }
:is(#screen-deposit, #screen-withdraw) .amount-input:focus-within { border-color:var(--accent) !important; }
:is(#screen-deposit, #screen-withdraw) .amount-input input:focus-visible { outline:none; }
:is(#screen-deposit, #screen-withdraw) .amount-input input { height:47px; }
:is(#screen-deposit, #screen-withdraw) .btn-pay { height:46px; font-size:15px; border-radius:12px !important; }
#screen-deposit #btnSbp {
  padding:10px; border-radius:12px !important; background:var(--panel-bottom) !important;
}
#screen-deposit .sbp-open-text b { font-size:13px; }
#screen-deposit .sbp-open-text small { font-size:11px; }
#screen-deposit .gift-panel .list { padding-inline:0; }
#screen-deposit .gift-step b { background:var(--chip-on); border-color:var(--chip-on-border); color:var(--accent); }
#screen-referrals .ref-hero {
  display:flex; align-items:center; gap:12px; margin:0 16px 12px; padding:14px;
  background:var(--hero-fill); border:1px solid var(--field-border); border-radius:18px;
}
#screen-referrals .ref-hero strong { flex:none; margin-left:auto; color:var(--accent); font-size:22px; line-height:1; font-weight:900; }
.ref-income-icon img { display:block; width:26px; height:26px; }
#screen-referrals .ref-hero h3, #screen-referrals .ref-invite h3 { font-size:15px; font-weight:900; }
#screen-referrals .ref-hero p { margin-top:3px; color:var(--muted); font-size:12px; line-height:1.4; }
#screen-referrals .profile-stats { margin:0 16px 12px; }
#screen-referrals .ref-link {
  margin:8px 0 10px; border-radius:10px; color:var(--accent); overflow-wrap:anywhere; word-break:normal;
}
#screen-referrals .profile-heading { margin-inline:16px; }

.bonus-menu, .bonus-quest { display:grid; gap:10px; margin:0 16px 16px; }
.bonus-hero, .bonus-tiers-card, .bonus-stages li, .daily-tasks-dialog {
  background:var(--panel-bottom); border:1px solid var(--field-border); border-radius:18px; padding:14px;
}
.bonus-menu .bonus-hero {
  background:linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0 / 16px 16px,
    linear-gradient(#ffffff08 1px,transparent 1px) 0 0 / 16px 16px,var(--hero-fill) !important;
  border-color:var(--chip-on-border); text-align:left;
}
.bonus-hero-head, .bonus-stage-head { display:flex; align-items:center; gap:10px; }
.bonus-menu .bonus-hero-head { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:10px; row-gap:8px; }
.bonus-menu .bonus-hero-head > .bonus-telegram { grid-column:1; grid-row:1 / span 2; }
.bonus-menu .bonus-hero-head > .bonus-title { grid-column:2; grid-row:1; overflow-wrap:normal; word-break:normal; }
.bonus-menu .bonus-hero-head > .bonus-hero-reward { grid-column:2; grid-row:2; justify-self:start; max-width:100%; white-space:normal; }
.bonus-title { min-width:0; flex:1; font-size:16px; line-height:1.2; overflow-wrap:anywhere; }
.bonus-title strong { display:block; margin-top:3px; color:var(--accent); }
.bonus-title small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.bonus-hero-reward { flex:none; padding:6px 8px; border-radius:9px; color:var(--accent); background:var(--chip-on); font-size:11px; font-weight:900; white-space:nowrap; }
.bonus-stage-head h4 { margin:0; line-height:1.25; }
.bonus-stage-head h4 { font-size:14px; }
.bonus-stage-head p, .bonus-tier-label {
  margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.35;
}
.bonus-telegram {
  flex:0 0 40px; width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  color:#fff; background:linear-gradient(145deg,#32b7f5,#1176bd);
}
.bonus-telegram svg { display:block; width:24px; height:24px; }
.bonus-tier-label { margin:0 0 7px; }
.bonus-tiers, .bonus-example { display:grid; gap:6px; }
.bonus-tiers { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bonus-tiers > div, .bonus-example > div, .daily-task-steps > li {
  background:var(--field-bg); border:1px solid var(--field-border); border-radius:11px; padding:8px 5px;
}
.bonus-tiers > div { text-align:center; }
.bonus-tiers b { display:block; font-size:15px; white-space:nowrap; }
.bonus-tiers span { display:block; margin-top:3px; color:var(--accent); font-size:12px; font-weight:800; }
.bonus-stages, .daily-task-steps { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.bonus-stages li.current { border-color:var(--chip-on-border); }
.bonus-stage-head > span, .daily-task-status {
  display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:10px;
  color:var(--accent); background:var(--chip-on); font-size:12px; font-weight:900;
}
.bonus-example { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }
.bonus-example > div { padding:8px; overflow-wrap:anywhere; }
.bonus-example small { display:block; color:var(--muted); margin-bottom:3px; font-size:10px; }
.bonus-example b { font-size:12px; }
.bonus-stages button, .daily-tasks-dialog > button { width:100%; min-height:40px; margin-top:10px; }
.bonus-time { font-size:24px; font-weight:900; font-variant-numeric:tabular-nums; margin-top:8px; }
.bonus-message { color:var(--muted); font-size:12px; line-height:1.4; margin:0; }
.bonus-message:empty { display:none; }
.daily-tasks-dialog {
  width:min(360px, calc(100% - 24px)); max-height:85dvh; margin:auto;
  color:var(--text); box-shadow:0 18px 60px #0009;
}
.daily-tasks-dialog::backdrop { background:#0009; }
.daily-tasks-head, .daily-task-steps > li { display:flex; align-items:center; gap:8px; }
.daily-tasks-head { justify-content:space-between; margin-bottom:12px; }
.daily-tasks-head h2 { margin:0; font-size:18px; }
.daily-tasks-head button { flex:0 0 32px; width:32px; height:32px; padding:0; font-size:20px; }
.daily-task-steps > li { padding:7px; }
.daily-task-steps strong { flex:1; font-size:13px; overflow-wrap:anywhere; }
.daily-task-steps a { font-size:12px; padding:8px; text-decoration:none; }
.daily-task-status.done { color:#75edb2; background:#123329; }
.daily-tasks-dialog .bonus-message { margin-top:9px; }

.deposit-bonus-page { display:grid; gap:12px; margin:0 16px; }
.deposit-bonus-heading { display:flex; align-items:center; gap:7px; padding:4px 16px 12px; }
.deposit-bonus-heading .title { padding:0; }
#depositBonusHelpOpen {
  display:grid; place-items:center; flex:none; width:24px; height:24px; min-height:24px;
  padding:0; border-radius:4px !important; font-size:13px; line-height:1; font-weight:900;
}
.deposit-bonus-summary {
  padding:12px; border:1px solid var(--field-border); border-radius:14px; background:var(--hero-fill);
  color:var(--muted); font-size:12px; line-height:1.45;
}
.deposit-bonus-summary p { margin:0 0 6px; }
.deposit-bonus-summary strong { display:block; margin-top:8px; color:var(--accent); }
.deposit-bonus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.deposit-bonus-card {
  --reward-tone:#54baff; min-width:0; display:flex; flex-direction:column; padding:7px;
  background:var(--panel-bottom); border:1px solid var(--field-border); border-radius:15px;
}
.deposit-bonus-card.violet { --reward-tone:#c692ff; }
.deposit-bonus-card.gold { --reward-tone:#f3c26c; }
.deposit-bonus-art {
  min-width:0; display:grid; place-items:center; align-content:start; gap:4px;
  padding:6px 4px; border-radius:10px; border-bottom:2px solid var(--reward-tone);
  background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--reward-tone) 35%,transparent),transparent 75%),var(--panel-top);
}
.deposit-bonus-art span {
  padding:3px 8px; border-radius:20px; background:var(--panel-bottom); color:var(--reward-tone);
  font-size:10px; font-weight:800; line-height:1.2;
}
.deposit-bonus-art img { display:block; width:100%; height:clamp(72px, 24vw, 115px); object-fit:contain; }
.deposit-bonus-previews { position:relative; width:100%; height:clamp(72px, 24vw, 115px); }
.deposit-bonus-previews.multi img { position:absolute; width:66%; height:100%; }
.deposit-bonus-previews.multi img:nth-child(1) { left:17%; z-index:1; }
.deposit-bonus-previews.multi img:nth-child(2) { left:0; transform:scale(.75) rotate(-12deg); }
.deposit-bonus-previews.multi img:nth-child(3) { right:0; transform:scale(.75) rotate(12deg); }
.deposit-bonus-copy { flex:1; display:flex; flex-direction:column; gap:3px; padding:8px 2px 0; }
.deposit-bonus-copy h3, .deposit-bonus-copy p { margin:0; }
.deposit-bonus-copy h3 { font-size:14px; }
.deposit-bonus-copy p { color:var(--text); font-size:11px; overflow-wrap:anywhere; }
.deposit-bonus-copy small { color:var(--muted); font-size:10px; line-height:1.3; }
.deposit-bonus-copy progress {
  width:100%; height:5px; accent-color:var(--reward-tone); margin:5px 0 0; border:0; border-radius:10px;
}
.deposit-bonus-copy button { width:100%; margin-top:auto; min-height:36px; padding:5px; font-size:11px; }

/* Вспомогательные панели и окна */
.toast {
  width:max-content; max-width:min(360px, calc(100% - 28px));
  padding:10px 16px; border-radius:16px; border-color:var(--field-border);
  background:var(--panel); color:var(--text); box-shadow:0 6px 20px #08121ca6;
  font-weight:800; line-height:1.4; overflow-wrap:anywhere;
}
.csx-mcard, .sbp-card {
  background:var(--panel); border-color:var(--line);
}
.sbp-shot { background:var(--panel-bottom); border-color:var(--line); }
.sbp-dots i.on, .sbp-num { background:var(--accent); color:var(--dark); }
#screen-withdraw .wd-cur, #screen-deposit .wallet-row {
  background:var(--active-fill); border-color:var(--chip-on-border);
}
#csModal button.csx-mbtn.main {
  background:var(--primary-fill) !important; border-color:var(--btn-border) !important; color:var(--btn-text) !important;
}
#csModal button.csx-mbtn.main:hover:not(:disabled) {
  background:var(--primary-hover) !important;
}
#csModal button.csx-mclose {
  background:var(--field-bg) !important; border-color:var(--field-border) !important; color:var(--muted) !important;
}
#screen-admin .admin-hero, #screen-admin .hero-num, #playerSheet .profile-head {
  background:var(--hero-fill) !important; border-color:var(--field-border) !important;
}
#screen-admin :is(.admin-eyebrow,.section-title), #playerSheet .section-title { color:var(--accent); }
#screen-admin :is(.admin-hero h2,.c-title,.r-title), #playerSheet :is(.sheet-title,.p-name,.r-title) { color:var(--text); }
#screen-admin :is(.admin-hero p,.hero-num .h-sub,.r-sub,.list-meta), #playerSheet :is(.p-sub,.r-sub) { color:var(--muted); }
#screen-admin :is(.chart-card,.pl,.empty), #playerSheet :is(.sheet-head,.empty) {
  background:var(--panel-bottom); border-color:var(--line); color:var(--muted); box-shadow:none;
}
#screen-admin :is(.seg,.search) { border-color:var(--line) !important; box-shadow:none; }
#screen-admin .seg button.active {
  background:var(--active-fill) !important; color:var(--accent) !important; border-color:var(--chip-on-border) !important;
}
#screen-admin .mini-av, #playerSheet .avatar {
  background:var(--active-fill) center/cover; border-color:var(--field-border); color:var(--text); box-shadow:none;
}
#playerSheet :is(.row,.card,.stat-card) {
  background:var(--panel); border-color:var(--line); box-shadow:none;
}
#screen-admin .chart-card .axis { fill:var(--muted); }

/* Бонусные кейсы: переключатели «За пополнения / За друзей» и «Подарки / Скины CS2» */
#screen-deposit-bonuses .bonus-seg { display:flex; gap:6px; margin:0 0 8px; padding:4px; border-radius:12px; background:#ffffff0d; }
#screen-deposit-bonuses .bonus-seg button { flex:1; height:34px; padding:0; border:1px solid transparent; border-radius:9px; background:transparent;
  color:#c9cfdb; font-size:13px; font-weight:900; }
#screen-deposit-bonuses .bonus-seg button.on { background:linear-gradient(180deg,#3fa9ff,#1f7fe0); border-color:#7cc8ff; color:#fff; }

/* Награда возле каждого задания в меню бонусов — как у TikTok: мятная капсула с тонкой рамкой, справа от названия */
.bonus-menu .bonus-hero-head { grid-template-columns:40px minmax(0,1fr) auto; align-items:center; }
.bonus-menu .bonus-hero-head > .bonus-telegram { grid-row:1; }
.bonus-menu .bonus-hero-head > .bonus-hero-reward { grid-column:3; grid-row:1; justify-self:end; align-self:center; white-space:nowrap;
  padding:7px 9px; border:1px solid #5cdcd14d; border-radius:999px; color:#b9fff1; background:linear-gradient(135deg,#123d42,#172f3a);
  box-shadow:inset 0 1px #ffffff0a; text-shadow:none; font-size:11px; font-weight:900; }

/* Меню бонусов — ровно у всех: иконка слева по центру, название на всю ширину, награда-капсула под названием (не отнимает ширину у текста) */
.bonus-menu .bonus-hero-head, .bonus-menu .tt-promo { grid-template-columns:40px minmax(0,1fr) !important; row-gap:8px; align-items:center; }
.bonus-menu .bonus-hero-head > .bonus-telegram, .bonus-menu .tt-promo > .bonus-telegram { grid-column:1 !important; grid-row:1 / span 2 !important; align-self:center; }
.bonus-menu .bonus-hero-head > .bonus-title, .bonus-menu .tt-promo > .bonus-title { grid-column:2 !important; grid-row:1 !important; }
.bonus-menu .bonus-hero-head > .bonus-hero-reward, .bonus-menu .tt-promo > .bonus-hero-reward { grid-column:2 !important; grid-row:2 !important; justify-self:start !important; align-self:start; }

/* Тема кейса за друзей (подарки / скины) под названием */
#screen-deposit-bonuses .bonus-theme { display:block; margin-top:2px; color:#b9fff1; font-size:12px; font-weight:800; }

/* ── Уровень и кешбэк (профиль) ── цвет ранга — --tier */
#screen-profile .lvl-card[hidden] { display:none; }
#screen-profile .lvl-card {
  --tier:#9fb0c4; margin-top:12px; padding:12px 12px 12px; border-radius:18px; border:1px solid color-mix(in srgb, var(--tier) 35%, var(--line));
  background:
    radial-gradient(ellipse at 0% 0%, color-mix(in srgb, var(--tier) 22%, transparent), transparent 60%),
    linear-gradient(90deg,#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    linear-gradient(#969ac117 1px,transparent 1px) 50% 0 / 18px 18px,
    var(--panel-bottom);
}
#screen-profile .lvl-head {
  display:grid; grid-template-columns:44px minmax(0,1fr) auto 12px; align-items:center; gap:10px; width:100%;
  padding:0; border:0 !important; background:none !important; text-align:left; color:var(--text); box-shadow:none !important;
}
#screen-profile .lvl-badge {
  display:grid; place-items:center; width:44px; height:44px; border-radius:14px; font-size:18px; font-weight:900; color:#0b0d12;
  background:linear-gradient(145deg, color-mix(in srgb, var(--tier) 100%, #fff 25%), var(--tier));
  box-shadow:0 4px 14px color-mix(in srgb, var(--tier) 40%, transparent), inset 0 -3px 0 #0003;
}
#screen-profile .lvl-main { min-width:0; }
#screen-profile .lvl-main b, #screen-profile .lvl-main small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#screen-profile .lvl-main b { font-size:15px; font-weight:900; color:var(--tier); }
#screen-profile .lvl-main small { margin-top:3px; color:var(--muted); font-size:11.5px; font-weight:700; }
#screen-profile .lvl-pct {
  padding:4px 9px; border-radius:99px; font-size:11px; font-weight:900; white-space:nowrap;
  color:var(--tier); background:color-mix(in srgb, var(--tier) 14%, transparent); border:1px solid color-mix(in srgb, var(--tier) 35%, transparent);
}
#screen-profile .lvl-head i { font-style:normal; font-size:20px; color:var(--muted); }
#screen-profile .lvl-bar { height:7px; margin:11px 0 12px; border-radius:99px; background:#ffffff12; overflow:hidden; }
#screen-profile .lvl-bar i { display:block; height:100%; min-width:4px; border-radius:inherit;
  background:linear-gradient(90deg, color-mix(in srgb, var(--tier) 60%, #fff 0%), var(--tier)); box-shadow:0 0 10px var(--tier); transition:width .5s ease; }
#screen-profile .lvl-cb { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:11px; border-top:1px solid var(--line); }
#screen-profile .lvl-cb-txt small { display:block; color:var(--muted); font-size:11px; font-weight:700; }
#screen-profile .lvl-cb-txt b { display:flex; align-items:center; gap:5px; margin-top:2px; font-size:17px; font-weight:900; }
#screen-profile .lvl-cb button { flex:none; min-width:104px; height:38px; border-radius:11px !important; font-size:13px; font-weight:900; }
#screen-profile .lvl-cb button:disabled { opacity:.45; filter:saturate(.4); }

/* Окно «Уровни и кешбэк» */
.lvl-sheet[hidden] { display:none; }
.lvl-sheet { position:fixed; inset:0; z-index:120; display:flex; align-items:flex-end; justify-content:center; background:#000a; }
.lvl-sheet-card {
  position:relative; width:100%; max-width:480px; max-height:86vh; overflow:auto; padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  border-radius:22px 22px 0 0; background:#14161d; border-top:1px solid var(--line); animation:crSheetIn .28s cubic-bezier(.22,.8,.3,1);
}
.lvl-sheet-card h3 { margin:0 40px 6px 2px; font-size:19px; font-weight:900; }
.lvl-how { margin:0 2px 14px; color:var(--muted); font-size:12.5px; line-height:1.45; }
.lvl-tiers { display:flex; flex-direction:column; gap:7px; }
.lvl-tier {
  --tier:#9fb0c4; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px;
  border-radius:14px; background:var(--panel-bottom); border:1px solid var(--line);
}
.lvl-tier.cur { border-color:var(--tier); background:linear-gradient(90deg, color-mix(in srgb, var(--tier) 16%, transparent), var(--panel-bottom) 70%); }
.lvl-tier.done { opacity:.6; }
.lvl-tier-ico { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; font-weight:900; color:#0b0d12; background:var(--tier); }
.lvl-tier-main b { display:block; font-size:14px; color:var(--tier); }
.lvl-tier-main small { display:block; margin-top:2px; color:var(--muted); font-size:11.5px; }
.lvl-tier-pct { font-size:16px; font-weight:900; color:var(--tier); }
.lvl-sum { margin:12px 2px 0; color:var(--muted); font-size:12px; text-align:center; }
#lvlSheet button.csx-mclose { position:absolute; top:14px; right:14px; width:30px; height:30px; padding:0; border-radius:8px !important;
  font-size:13px; color:#aaa !important; background:#2c2f35 !important; border:1px solid #3d4048 !important; }

/* Уровень плашкой под аватаркой в профиле — цветом ранга */
#screen-profile .p-av-wrap { position:relative; flex:none; padding-bottom:6px; }
#screen-profile .p-av-lvl[hidden] { display:none; }
#screen-profile .p-av-lvl {
  --tier:#9fb0c4; position:absolute; left:50%; bottom:-2px; transform:translateX(-50%); z-index:1;
  padding:2px 7px; border-radius:99px; white-space:nowrap; font-size:10px; font-weight:900; line-height:1.3; color:#0b0d12;
  background:var(--tier); box-shadow:0 0 0 2px var(--dark), 0 3px 8px color-mix(in srgb, var(--tier) 45%, transparent);
}

/* Большая кнопка «Инвентарь» под карточкой уровня */
#screen-profile button.p-inv-btn {
  display:grid; grid-template-columns:40px minmax(0,1fr) 14px; align-items:center; gap:12px; width:100%;
  margin-top:10px; min-height:62px; padding:10px 14px; border-radius:16px !important; text-align:left;
}
#screen-profile .p-inv-ico {
  display:grid; place-items:center; width:40px; height:40px; border-radius:12px; font-size:21px; background:#ffffff26;
}
#screen-profile .p-inv-txt { min-width:0; }
#screen-profile .p-inv-txt b { display:block; font-size:16px; font-weight:900; }
#screen-profile .p-inv-txt small { display:block; margin-top:2px; font-size:11.5px; font-weight:700; opacity:.85;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#screen-profile .p-inv-btn i { font-style:normal; font-size:22px; opacity:.9; }

/* Окно инвентаря */
#invSheet .lvl-sheet-card { min-height:50vh; }
#invSheet button.csx-mclose { position:absolute; top:14px; right:14px; width:30px; height:30px; padding:0; border-radius:8px !important;
  font-size:13px; color:#aaa !important; background:#2c2f35 !important; border:1px solid #3d4048 !important; }
#invBody { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
#invBody .empty { padding:30px 16px; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:14px; }
/* иконка кнопки «Инвентарь» — Mood Pack Bank Vault */
#screen-profile .p-inv-ico img { width:36px; height:36px; object-fit:contain; filter:drop-shadow(0 2px 4px #0006); }

/* «Шахта»: без белой подложки вокруг игры — фон приложения */
.app #screen-shaft, body #screen-shaft { background:transparent !important; box-shadow:none !important; border:0 !important; padding:4px 0 0 !important; }
#screen-shaft #shaftFrame { background:transparent !important; border-radius:0 !important; color-scheme:dark; }

/* Магазин скинов */
#invBody .inv-head-acts { display:flex; gap:6px; flex:none; }
#invBody .inv-shop-empty { display:block; width:100%; margin-top:10px; }
#invBody .shop-bar { display:flex; gap:6px; align-items:center; margin-bottom:6px; }
#invBody .shop-bar input { flex:1; min-width:0; min-height:36px; padding:6px 10px; border-radius:11px;
  background:var(--panel-bottom); border:1px solid var(--field-border); color:inherit; font:inherit; font-size:13px; }
#invBody .shop-bar select { flex:none; min-height:36px; padding:4px 6px; border-radius:11px;
  background:var(--panel-bottom); border:1px solid var(--field-border); color:inherit; font:inherit; font-size:12px; }
#invBody .shop-note { margin:0 2px 8px; color:var(--muted); font-size:11px; }
#invBody .shop-more { grid-column:1 / -1; padding:8px; text-align:center; color:var(--muted); font-size:12px; }
#invBody .shop-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:3px; margin-bottom:8px; border-radius:13px;
  background:var(--panel-bottom); border:1px solid var(--line); }
#invBody .shop-tabs button { min-height:36px; border-radius:10px; border:0 !important; background:transparent !important; font-size:13px; font-weight:600; color:var(--muted); }
#invBody .shop-tabs button.on { background:var(--primary-fill) !important; color:inherit; }

/* Иконки способов оплаты */
.pay-ico-img { width:1.35em; height:1.35em; object-fit:contain; vertical-align:middle; display:inline-block; }
.r-ico .pay-ico-img { width:22px; height:22px; }

/* Профиль: кнопка «Поддержка» */
#screen-profile .p-support { display:flex; align-items:center; gap:12px; margin-top:10px; padding:12px 14px; border-radius:16px; text-decoration:none; color:inherit;
  background:var(--panel-bottom); border:1px solid var(--line); }
#screen-profile .p-support[hidden] { display:none; }
#screen-profile .p-support-ico { flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#2aabee22; font-size:19px; }
#screen-profile .p-support-txt { flex:1; min-width:0; }
#screen-profile .p-support-txt b { display:block; font-size:14px; }
#screen-profile .p-support-txt small { display:block; margin-top:2px; color:var(--muted); font-size:11.5px; }
#screen-profile .p-support i { font-style:normal; color:var(--muted); font-size:22px; }

/* Окно заданий ежедневного кейса: шаги и кнопки «Открыть / Запустить» */
.daily-task-steps > li { padding:9px 9px 9px 10px; border-radius:14px; background:var(--panel-bottom); border:1px solid var(--line); gap:10px; }
.daily-task-status { flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:9px; font-size:13px; font-weight:800;
  color:#8fd0ff; background:#14304d; border:1px solid #2a5682; }
.daily-task-status.done { color:#75edb2; background:#123329; border-color:#2a6b52; }
.daily-task-steps strong { font-size:13.5px; }
.daily-task-steps a.dt-btn { flex:none; display:inline-flex; align-items:center; gap:5px; min-width:96px; justify-content:center;
  padding:9px 14px; border-radius:999px; text-decoration:none; font-size:12.5px; font-weight:800; letter-spacing:.2px; color:#fff;
  background:linear-gradient(135deg,#3aa0ff,#1f6fe0); border:1px solid #6cbcff66;
  box-shadow:0 4px 12px #1f6fe055, inset 0 1px #ffffff40; transition:transform .12s, filter .12s; }
.daily-task-steps a.dt-btn::after { content:'›'; font-size:16px; line-height:1; opacity:.85; }
.daily-task-steps a.dt-btn:active { transform:scale(.95); filter:brightness(1.1); }
.daily-task-steps a.dt-btn.done { color:#75edb2; background:#123329; border-color:#2a6b52; box-shadow:none; }
.daily-task-steps a.dt-btn.done::after { content:'✓'; font-size:12px; }
