/* ── Balance sidebar (fixed) ── */
    #balance-panel{position:fixed;right:18px;bottom:18px;background:#fff;border:1.5px solid var(--soft-line,#efd9e6);border-radius:18px;padding:14px 18px;box-shadow:0 14px 36px rgba(45,16,32,.18);z-index:90;font-family:'Inter',sans-serif;display:none;min-width:220px}
    #balance-panel.show{display:block;animation:bpUp .35s ease}
    @keyframes bpUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    .bp-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--soft-text,#9a6e85);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
    .bp-close{background:none;border:none;color:var(--soft-text,#9a6e85);cursor:pointer;padding:2px 4px;line-height:1;font-size:16px}
    .bp-close:hover{color:var(--warm,#c4678a)}
    .bp-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--dark,#2d1020);padding:5px 0}
    .bp-row strong{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700}
    .bp-row.grp strong{color:var(--warm,#c4678a)}
    .bp-row.ind strong{color:var(--brown,#7a3858)}
    .bp-empty{font-size:12px;color:var(--soft-text,#9a6e85);padding:4px 0 0;margin-top:6px;border-top:1px solid var(--soft-line,#efd9e6)}
    .bp-cta{display:inline-block;margin-top:8px;font-size:11px;color:var(--warm,#c4678a);text-decoration:none;font-weight:600}
    .bp-cta:hover{text-decoration:underline}

    /* ── Client cabinet modal ── */
    .cab-modal-bg{position:fixed;inset:0;background:rgba(45,16,32,.55);backdrop-filter:blur(6px);z-index:1100;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;animation:fadeIn .25s ease}
    .cab-modal-bg.show{display:flex}
    .cab-modal{background:#fff;border-radius:24px;padding:36px;max-width:600px;width:100%;box-shadow:0 30px 80px rgba(45,16,32,.35);animation:slideUp .3s ease;position:relative}
    .cab-close{position:absolute;top:18px;right:22px;background:none;border:none;font-size:28px;color:var(--soft-text);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
    .cab-close:hover{background:var(--rose)}
    .cab-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
    .cab-avatar-big{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--warm),var(--warm-d));color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;overflow:hidden;flex-shrink:0}
    .cab-avatar-big img{width:100%;height:100%;object-fit:cover}
    .cab-name{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--dark);line-height:1.1}
    .cab-since{font-size:12px;color:var(--soft-text);margin-top:4px}
    .cab-balances{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
    .cab-bal-card{background:linear-gradient(135deg,var(--rose),var(--sand));border-radius:16px;padding:18px;text-align:center}
    .cab-bal-card.ind{background:linear-gradient(135deg,var(--sage-light),var(--rose))}
    .cab-bal-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--brown);margin-bottom:8px;font-weight:600}
    .cab-bal-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:700;color:var(--dark);line-height:1}
    .cab-section{margin-bottom:22px}
    .cab-section-title{font-size:13px;font-weight:600;color:var(--brown);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--soft-line)}
    .cab-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:var(--text);border-bottom:1px solid var(--rose);gap:12px}
    .cab-row:last-child{border-bottom:none}
    .cab-row strong{color:var(--dark)}
    .cab-bk{display:flex;align-items:center;gap:10px;padding:10px;background:var(--cream);border-radius:10px;margin-bottom:6px;font-size:13px}
    .cab-bk-icon{font-size:18px;flex-shrink:0}
    .cab-bk-info{flex:1;min-width:0}
    .cab-bk-info strong{color:var(--dark)}
    .cab-bk-meta{font-size:11px;color:var(--soft-text);margin-top:2px}
    .cab-bk.past{opacity:.55}
    .cab-empty-row{font-size:13px;color:var(--soft-text);text-align:center;padding:14px 0}
    .cab-cta{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
    .cab-cta a, .cab-cta button{flex:1;text-align:center;padding:12px;background:linear-gradient(135deg,var(--warm),var(--warm-d));color:#fff;border:none;border-radius:12px;text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif}
    .cab-cta a.sec, .cab-cta button.sec{background:var(--rose);color:var(--brown);border:1.5px solid var(--soft-line)}

    /* Nav button "Кабінет" — показується коли є TG_USER */
    .nav-cabinet-btn{display:none;background:none;border:1.5px solid var(--warm);color:var(--warm);padding:7px 14px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;margin-right:10px;transition:all .2s}
    .nav-cabinet-btn:hover{background:var(--warm);color:#fff}
    .nav-cabinet-btn.show{display:inline-flex;align-items:center;gap:6px}
