*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
    outline:none;
}

button, a, .game-card{
    -webkit-tap-highlight-color:transparent;
}

body{
    animation:pageFadeIn 0.25s ease;
}

@keyframes pageFadeIn{
    from{ opacity:0; }
    to{ opacity:1; }
}
button:focus, a:focus, .game-card:focus{
    outline:none;
}

html{
    scroll-behavior:smooth;
}

html{
    height:100%;
    background:#1E2235;
}

body{
    min-height:100%;
    background:#1E2235;
}

body.fixed-layout{
    height:auto;
    min-height:100%;
    overflow-y:auto;
    overscroll-behavior-y:contain;
}

body.fixed-layout .container{
    height:auto;
    min-height:100vh;
    min-height:100dvh;
}

body.fixed-layout .game-scroll{
    flex:1;
    overflow:visible;
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
}

body{
    font-family:'Inter',sans-serif;
    background:#1E2235;
    color:#fff;
    -webkit-user-select:none;
    -webkit-touch-callout:none;
    user-select:none;
}

input, textarea{
    -webkit-user-select:text;
    -webkit-touch-callout:default;
    user-select:text;
}

img{
    max-width:100%;
    user-select:none;
    -webkit-user-drag:none;
}

button{
    font-family:'Inter',sans-serif;
}

.container{
    max-width:480px;
    margin:0 auto;
    height:100vh;
    display:flex;
    flex-direction:column;
    padding:20px 18px 0;
    padding-top:calc(20px + var(--tg-safe-top, 0px));
}

.top-fixed{
    flex-shrink:0;
}

.game-scroll{
    flex:1;
    overflow:hidden;
    padding-top:18px;
    padding-bottom:20px;
}

.header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:24px;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo-icon{
    width:50px;
    height:50px;
    border-radius:16px;
    background:#FFD54A;
    color:#1E2235;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
    font-weight:800;
}

.logo-text h2{
    font-size:22px;
    font-weight:800;
    color:#fff;
}

.language{
    display:flex;
    gap:8px;
}

.lang-btn{
    width:48px;
    height:40px;
    border:none;
    border-radius:12px;
    background:#2A3046;
    color:#AEB6CF;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.lang-btn.active{
    background:#FFD54A;
    color:#1E2235;
}

.lang-btn:hover{
    transform:translateY(-2px);
}

.balance-card{
    background:#2A3046;
    border-radius:22px;
    padding:22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:22px;
}

.balance-title{
    color:#AEB6CF;
    font-size:14px;
}

.balance-card h2{
    margin-top:8px;
    font-size:28px;
    font-weight:800;
}

.js-balance.balance-large{
    transform:scale(0.9);
    transform-origin:left center;
}

.topup-btn{
    border:none;
    background:#FFD54A;
    color:#1E2235;
    padding:13px 20px;
    border-radius:14px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.topup-btn:hover{
    transform:translateY(-2px);
}

.banner{
    border-radius:16px;
    padding:12px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:linear-gradient(135deg,#6E46FF,#2A5BFF);
    margin-bottom:14px;
}

.channel-btn{
    flex-shrink:0;
    border:none;
    background:#fff;
    color:#2A5BFF;
    padding:10px 16px;
    border-radius:12px;
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    transition:.25s;
}

.channel-btn:hover{
    transform:translateY(-2px);
}

.banner h2{
    font-size:28px;
    font-weight:800;
    margin-bottom:10px;
}

.banner p{
    color:#ECEFFF;
    line-height:1.5;
}

.games h3{
    font-size:21px;
    margin-bottom:18px;
}

.game-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.game-card{
    position:relative;
    border-radius:20px;
    overflow:hidden;
    aspect-ratio:1/0.85;
    cursor:pointer;
    transition:.25s;
}

.game-card::after{
    content:"Скоро";
    position:absolute;
    top:8px;
    right:8px;
    background:rgba(30,34,53,0.85);
    color:#FFD54A;
    font-size:9px;
    font-weight:700;
    padding:3px 7px;
    border-radius:8px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    z-index:2;
}

@media (hover:hover) and (pointer:fine){
    .game-card:hover{
        background:#363D59;
        transform:translateY(-2px);
    }
}

.game-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(100%);
    opacity:0.5;
}

.game-card.ready::after{
    display:none;
}

.game-card.ready img{
    filter:none;
    opacity:1;
}

.game-card span{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    background:rgba(30,34,53,0.8);
    color:#fff;
    text-align:center;
    font-size:12px;
    font-weight:600;
    line-height:16px;
    padding:6px 4px;
    z-index:1;
}

.bottom-nav-backdrop{
    display:none;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    height:54px;
    background:#1E2235;
    z-index:999;
    pointer-events:none;
}

body.fixed-layout .bottom-nav-backdrop,
body.methods-page .bottom-nav-backdrop,
body.history-page .bottom-nav-backdrop,
body.profile-page .bottom-nav-backdrop,
body.games-page .bottom-nav-backdrop{
    display:block;
}

.bottom-nav{
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    max-width:480px;
    margin:auto;
    height:72px;
    background:#2A3046;
    border-radius:22px;
    display:flex;
    justify-content:space-around;
    align-items:center;
    z-index:1000;
}

.bottom-nav button{
    flex:1;
    height:100%;
    border:none;
    background:transparent;
    color:#AEB6CF;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    cursor:pointer;
    transition:.25s;
    border-radius:18px;
}

.bottom-nav button svg{
    width:22px;
    height:22px;
}

.bottom-nav button span{
    font-size:11px;
    font-weight:600;
}

@media (hover:hover) and (pointer:fine){
    .bottom-nav button:hover{
        color:#FFD54A;
    }
}

.bottom-nav button.active{
    color:#FFD54A;
    background:rgba(255,213,74,.12);
}

.bottom-nav button.active span{
    color:#FFD54A;
}

*{
    scrollbar-width:none;
    -ms-overflow-style:none;
}

*::-webkit-scrollbar{
    display:none;
}

.balance-card,
.banner,
.games{
    width:100%;
}

@media (max-width:500px){

.container{
    padding:14px 14px 95px;
    padding-top:calc(14px + var(--tg-safe-top, 0px));
}

.header{
    margin-bottom:16px;
}

.logo-icon{
    width:40px;
    height:40px;
    font-size:19px;
}

.logo-text h2{
    font-size:17px;
}

.balance-card{
    padding:16px;
    margin-bottom:15px;
}

.balance-card h2{
    font-size:20px;
    margin-top:6px;
}

.topup-btn{
    padding:11px 16px;
    font-size:14px;
}

.banner{
    height:150px;
    padding:18px;
}

.banner h2{
    font-size:24px;
}

.banner p{
    font-size:14px;
}

.popular-games-title{
    margin-bottom:15px;
}

.game-scroll{
    padding-top:0;
}

.game-grid{
    gap:10px;
}


.game-card span{
    font-size:12px;
}

#reviewsSection h3{
    margin-top:15px !important;
    margin-bottom:15px !important;
}

.bottom-nav{
    left:14px;
    right:14px;
    bottom:14px;
}

}



body.balance-page{
    height:100%;
    overflow:hidden;
}

body.methods-page{
    height:auto;
    min-height:100%;
    overflow-y:auto;
}

body.balance-page.keyboard-open{
    height:auto;
    min-height:100%;
    overflow-y:auto;
}

body.balance-page.keyboard-open .container{
    height:auto;
    min-height:100vh;
    min-height:100dvh;
    padding-bottom:120px;
}

body.balance-page.methods-page .container{
    height:auto;
    min-height:100vh;
    min-height:100dvh;
    padding-bottom:110px;
}

body.balance-page .container{
    height:100vh;
    height:100dvh;
    padding:16px 18px;
}

body.balance-page .header{
    margin-bottom:10px;
}

body.balance-page .balance-card{
    padding:16px;
    margin-bottom:12px;
}

body.balance-page .balance-card h2{
    font-size:22px;
    margin-top:4px;
}

body.balance-page .games h3{
    font-size:16px;
    margin-bottom:10px;
    text-align:center;
}

body.balance-page .method-tabs{
    margin-bottom:12px;
}

body.balance-page .method-btn{
    height:44px;
    font-size:14px;
}

body.balance-page .amount-grid{
    gap:8px;
    margin-bottom:10px;
}

body.balance-page .amount-btn{
    height:42px;
    font-size:15px;
}

body.balance-page .amount-input{
    height:44px;
    font-size:15px;
    margin-bottom:6px;
}

body.balance-page .amount-error{
    min-height:14px;
    margin:0 0 8px;
}

body.balance-page .pay-btn{
    height:46px;
    font-size:15px;
}/* ---------- 
Balance ---------- */

.back-btn{
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:#2A3046;
    color:#fff;
    font-size:18px;
    font-weight:900;
    line-height:1;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.25s;
}

.back-btn:hover{
    background:#363D59;
}

.amount-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-bottom:18px;
}

.amount-btn{
    height:52px;
    border:none;
    border-radius:14px;
    background:#2A3046;
    color:#fff;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.amount-btn:hover{
    background:#363D59;
}

.amount-btn.active{
    background:#FFD54A;
    color:#1E2235;
}

.amount-input{
    width:100%;
    height:54px;
    border:none;
    outline:none;
    border-radius:14px;
    background:#2A3046;
    color:#fff;
    font-size:18px;
    padding:0 16px;
    margin-bottom:18px;
}

.amount-input::placeholder{
    color:#AEB6CF;
}

.amount-input.invalid{
    box-shadow: 0 0 0 2px #FF5C5C;
}

.amount-input:disabled{
    opacity:0.55;
    cursor:not-allowed;
}

.amount-error{
    display:block;
    min-height:16px;
    color:#FF5C5C;
    font-size:13px;
    font-weight:600;
    margin:-12px 0 14px;
    text-align:center;
}

.mlbb-input-wrap{
    position:relative;
}

.mlbb-input-wrap .amount-input{
    padding-right:44px;
}

.mlbb-info-icon{
    position:absolute;
    top:50%;
    right:10px;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    border-radius:50%;
    background:#3F4664;
    color:#fff;
    opacity:0.55;
    border:none;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
}

.mlbb-info-card{
    display:flex;
    align-items:center;
    color:#AEB6CF;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.mlbb-bottom-buttons{
    display:flex;
    gap:10px;
    margin-top:14px;
}

.mlbb-bottom-buttons .pay-btn{
    margin-top:0;
}

.pay-btn.mlbb-buy-btn{
    background:rgba(61,220,132,0.25);
    color:rgba(30,34,53,0.6);
}

.pay-btn.mlbb-buy-btn:disabled{
    cursor:not-allowed;
}

.pay-btn.mlbb-buy-btn.active{
    background:#3DDC84;
    color:#1E2235;
}



.mlbb-confirm-buttons{
    display:flex;
    gap:10px;
    margin-top:8px;
}

.mlbb-confirm-buttons .pay-btn{
    margin-top:0;
    height:46px;
    font-size:15px;
}

.pay-btn.mlbb-cancel-btn{
    background:rgba(255,92,92,0.15);
    color:#FF5C5C;
}

.pay-btn.mlbb-confirm-btn{
    background:#3DDC84;
    color:#1E2235;
}

#mlbbOrderSuccessTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:14px;
    letter-spacing:1.5px;
    color:#D7DCEE;
    margin-bottom:10px;
}

.mlbb-result-hint{
    font-size:12.5px;
    color:#AEB6CF;
    line-height:1.5;
}

.mlbb-result-accent{
    color:#FFD54A;
    font-weight:700;
}

.mlbb-success-buttons{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.mlbb-success-buttons .pay-btn{
    margin-top:0;
    height:46px;
    font-size:15px;
}

.mlbb-history-btn{
    background:#FFD54A;
    color:#1E2235;
}

.mlbb-warning-icon{
    width:56px;
    height:56px;
    margin:0 auto 14px;
    border-radius:18px;
    background:rgba(255,152,0,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.mlbb-region-tabs{
    display:flex;
    gap:6px;
    margin:22px 0 18px;
}

.mlbb-region-tab{
    flex:1;
    min-width:0;
    height:46px;
    border:none;
    border-radius:12px;
    background:#2A3046;
    color:#AEB6CF;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:0;
}

.mlbb-region-tab-disabled{
    opacity:0.35;
    cursor:not-allowed;
}

.mlbb-region-flag{
    font-size:15px;
    line-height:1;
}

.mlbb-region-code{
    font-size:9px;
    letter-spacing:0.3px;
}

.mlbb-region-tab.active{
    background:#FFD54A;
    color:#1E2235;
}

.mlbb-region-tab:disabled{
    opacity:0.35;
    cursor:not-allowed;
}

.mlbb-packages-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    margin-top:4px;
}

.mlbb-package-card{
    background:#2A3046;
    border-radius:14px;
    padding:10px 12px;
    border:2px solid transparent;
    cursor:pointer;
    transition:.2s;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    overflow:hidden;
}

.mlbb-package-card.selected{
    border-color:#FFD54A;
}

.mlbb-package-skeleton{
    background:#2A3046;
    border-radius:14px;
    height:64px;
    overflow:hidden;
    position:relative;
}

.mlbb-package-skeleton::after{
    content:"";
    position:absolute;
    top:0;
    left:-150%;
    width:150%;
    height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,0.07), transparent);
    animation:mlbbSkeletonShine 1.2s infinite;
}

@keyframes mlbbSkeletonShine{
    100%{ left:150%; }
}

.mlbb-package-info{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    text-align:left;
}

.mlbb-package-icon{
    width:38px;
    height:38px;
    object-fit:contain;
    flex-shrink:0;
}

.mlbb-package-name{
    font-size:13px;
    font-weight:700;
    color:#fff;
    display:block;
    white-space:normal;
    overflow:hidden;
    line-height:1.25;
    width:100%;
}

.mlbb-package-subtitle{
    font-size:11.5px;
    color:#AEB6CF;
    display:block;
    white-space:nowrap;
    overflow:hidden;
    width:100%;
    margin-top:2px;
}

.mlbb-package-price{
    font-size:13px;
    font-weight:800;
    color:#FFD54A;
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    width:100%;
    margin-top:4px;
}

.mlbb-info-card.error{
    color:#FF5C5C;
}

.mlbb-info-card.success{
    color:#3DDC84;
}

.pay-btn{
    width:100%;
    height:56px;
    border:none;
    border-radius:16px;
    background:#FFD54A;
    color:#1E2235;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.pay-btn:hover{
    transform:translateY(-2px);
}

.payment-box{
    background:#2A3046;
    border-radius:18px;
    padding:20px;
    margin-bottom:20px;
}

.payment-box h2{
    font-size:28px;
    font-weight:800;
}

.payment-box p{
    margin-top:10px;
    color:#AEB6CF;
    line-height:1.6;
}

.copy-card-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    margin-top:18px;
    padding:14px 22px;
    border:none;
    border-radius:12px;
    background:#FFD54A;
    color:#1E2235;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.copy-card-btn:hover{
    transform:translateY(-2px);
}

.method-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.method-btn{
    flex:1;
    height:52px;
    border:none;
    border-radius:14px;
    background:#2A3046;
    color:#AEB6CF;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.method-btn:hover{
    background:#363D59;
}

.method-btn.active{
    background:#FFD54A;
    color:#1E2235;
}

.status-dot{
    display:inline-block;
    width:14px;
    height:14px;
    border-radius:50%;
    margin-right:10px;
    vertical-align:middle;
}

.status-dot.waiting{
    background:#FFD54A;
}

.status-dot.paid{
    background:#3DDC84;
}

.status-dot.cancelled,
.status-dot.expired{
    background:#FF5C5C;
}

.timer-text{
    color:#AEB6CF;
    font-size:15px;
    font-weight:700;
    margin-bottom:6px;
}

.timer-text.urgent{
    color:#FF5C5C;
}

.success-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#3DDC84;
    color:#1E2235;
    font-size:18px;
    font-weight:900;
    margin-right:10px;
    vertical-align:middle;
}

body.payment-page{
    height:100%;
    overflow:hidden;
}

body.payment-page .container{
    height:100vh;
    height:100dvh;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding:16px 18px;
}

body.payment-page .header{
    margin-bottom:6px;
}

body.payment-page .header h2{
    text-transform:uppercase;
    font-size:15px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#expiredTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:15px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#successTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#D7DCEE;
}

#receiptSuccessTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#D7DCEE;
}

body.payment-page .back-btn{
    width:38px;
    height:38px;
    font-size:16px;
}

body.payment-page .games h3{
    text-transform:uppercase;
    font-size:13px;
    margin-top:20px;
    margin-bottom:12px;
    text-align:center;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

body.payment-page .payment-box{
    padding:16px 18px;
    margin-bottom:12px;
}

body.payment-page .payment-box h2{
    font-size:22px;
}

body.payment-page .payment-box p{
    margin-top:6px;
    font-size:12px;
    line-height:1.4;
}

body.payment-page .copy-card-btn{
    margin-top:12px !important;
    padding:12px 18px;
    font-size:14px;
}

body.payment-page .pay-btn{
    height:44px;
    font-size:15px;
    margin-top:12px !important;
}

body.payment-page .timer-text{
    font-size:13px;
    margin-bottom:2px;
    text-align:center;
}

body.payment-page #statusHint{
    text-align:center;
    font-size:12px;
    color:#AEB6CF;
}

body.payment-page #expiredHint{
    display:none !important;
}

.success-icon-big{
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:18px;
    background:rgba(61,220,132,.15);
    color:#3DDC84;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:800;
}

.method-btn.method-disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: not-allowed;
}

.method-group-hint{
    text-align:center;
    font-size:11px;
    opacity:0.6;
    margin:-6px 0 16px;
    line-height:1.5;
}

.selected-method-text{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    margin-bottom:16px;
}

.mlbb-confirm-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:4px;
    border-radius:16px;
    padding:12px 14px;
    margin-bottom:8px;
}

.mlbb-confirm-card-account{
    background:rgba(42,91,255,0.15);
}

.mlbb-confirm-card-account .mlbb-confirm-card-value{
    color:#6E9BFF;
}

.mlbb-confirm-card-item{
    background:rgba(155,110,255,0.15);
}

.mlbb-confirm-card-item .mlbb-confirm-card-value{
    color:#B98EFF;
}

.mlbb-confirm-card-label{
    font-size:11px;
    letter-spacing:0.5px;
    text-transform:uppercase;
    opacity:0.5;
    color:#fff;
}

.mlbb-confirm-card-value{
    font-size:14px;
    font-weight:700;
    color:#fff;
}

.mlbb-insufficient-title{
    font-size:15px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#FFB020;
    margin-bottom:14px;
}

.mlbb-insufficient-buttons{
    display:flex;
    gap:10px;
    margin-top:8px;
}

.mlbb-insufficient-buttons .pay-btn{
    margin-top:0;
}

.mlbb-topup-btn{
    height:46px;
    font-size:15px;
}

.mlbb-close-btn{
    height:46px;
    font-size:15px;
    background:#3F4664;
    color:#fff;
}

.selected-label{
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
    opacity:0.5;
}

.selected-value{
    font-size:14px;
    font-weight:700;
    color:#FFD54A;
    background:rgba(255,213,74,0.12);
    padding:5px 16px;
    border-radius:20px;
}

.selected-value.disabled{
    color:#AEB6CF;
    background:rgba(174,182,207,0.12);
}

.method-availability-error{
    color:#FF5C5C;
    font-size:12px;
    font-weight:600;
    text-align:center;
    min-height:14px;
    margin:-8px 0 16px;
}

.requisite-line{
    margin-top:4px;
    font-size:11px;
    opacity:0.6;
    text-align:center;
    line-height:1.4;
}

.receipt-page .payment-box{
    padding:12px 16px;
    margin-bottom:20px;
}
.receipt-page .payment-box h2{
    font-size:22px;
}

.receipt-page .copy-card-btn{
    margin-top:8px;
    padding:8px 20px;
    font-size:14px;
}

.receipt-page .games h3{
    margin-bottom:6px;
    font-size:15px;
}

.receipt-page .balance-card{
    margin-bottom:10px;
    padding:12px 16px;
}

.receipt-page .balance-card h2{
    font-size:20px;
}

.receipt-page .pay-btn{
    height:42px;
    font-size:14px;
}

.receipt-page .amount-input{
    height:40px;
    font-size:14px;
}

.receipt-page .file-preview-badge{
    margin-top:8px;
    margin-bottom:0;
}

.receipt-page .receipt-spaced-btn{
    margin-top:10px;
}

body.receipt-page{
    overflow-y:auto;
    height:auto;
    min-height:100%;
}

body.receipt-page .container{
    height:auto;
    min-height:100vh;
    min-height:100dvh;
}

.receipt-page .header h2{
    text-transform:uppercase;
    font-size:16px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#receiptAmountTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#receiptFileTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

/* ===== Страница Профиль ===== */

body.profile-page{
    overflow-y:auto;
    height:auto;
    min-height:100%;
}

body.profile-page .container{
    height:auto;
    min-height:100vh;
    min-height:100dvh;
    padding-bottom:92px;
}

.profile-page-title{
    font-size:22px;
    font-weight:800;
    text-align:center;
    margin-bottom:16px;
}

.profile-card{
    background:#2A3046;
    border-radius:20px;
    padding:18px;
    margin-bottom:24px;
}

.profile-top-row{
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    gap:10px;
}

.profile-left{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:12px;
    min-width:0;
}

.profile-identity{
    display:flex;
    flex-direction:row;
    align-items:center;
    text-align:left;
    gap:10px;
}



.profile-action-btn.highlight{
    background:#FFD54A;
    color:#1E2235;
}

@media (hover:hover) and (pointer:fine){
    .profile-action-btn:hover{
        transform:translateY(-2px);
    }
}

.profile-avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    flex-shrink:0;
    object-fit:cover;
    background:#FFD54A;
}

.profile-info{
    flex:1;
    min-width:0;
}

.profile-name{
    font-size:17px;
    font-weight:700;
    margin-bottom:2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.profile-meta{
    font-size:11px;
    color:#AEB6CF;
    line-height:16px;
}

.profile-meta .meta-line{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.blocked-overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(10,12,20,0.96);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
    text-align:center;
    padding:24px;
    box-sizing:border-box;
}

.blocked-box h2{
    color:#fff;
    font-size:20px;
    margin-bottom:8px;
}

.blocked-box p{
    color:#AEB6CF;
    font-size:14px;
}

.pay-btn-disabled{
    opacity:0.4;
    pointer-events:none;
    cursor:not-allowed;
}

.client-badge{
    width:100%;
    box-sizing:border-box;
    padding:8px 14px;
    border-radius:12px;
    font-size:13px;
    font-weight:700;
    text-align:center;
    white-space:nowrap;
}

.client-badge.tier-newbie{
    background:rgba(255,213,74,0.08);
    color:#FFD54A;
}

.client-badge.tier-regular{
    background:rgba(74,144,226,0.15);
    color:#4A90E2;
}

.client-badge.tier-vip{
    background:linear-gradient(90deg, #FFD54A, #E8A93A);
    color:#1E2235;
}

.profile-balance-row{
    display:flex;
    justify-content:flex-start;
}

.profile-balance-row > div{
    display:flex;
    align-items:baseline;
    gap:8px;
    flex-wrap:nowrap;
    max-width:100%;
}

.profile-balance-row .balance-title{
    font-size:14px;
    color:#AEB6CF;
    font-weight:600;
    white-space:nowrap;
    flex-shrink:0;
}

.profile-balance-row h2{
    font-size:20px;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.profile-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    flex-shrink:0;
}

.profile-action-btn{
    border:none;
    background:#363D59;
    color:#AEB6CF;
    padding:9px 14px;
    border-radius:12px;
    font-size:11px;
    font-weight:600;
    cursor:pointer;
    transition:.25s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    white-space:nowrap;
    width:118px;
}

.profile-action-btn svg{
    width:13px;
    height:13px;
    flex-shrink:0;
}

.profile-action-btn.highlight{
    background:#FFD54A;
    color:#1E2235;
}

@media (hover:hover) and (pointer:fine){
    .profile-action-btn:hover{
        transform:translateY(-2px);
    }
}

.info-section-title{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.5px;
    color:#AEB6CF;
    margin-bottom:16px;
}

h3.popular-games-title{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1.5px;
}

#methodTypeTitle{
    margin-top:20px;
}

#methodsPageTitle{
    font-size:19px;
    font-weight:700;
    letter-spacing:1px;
}

#methodsHeader{
    margin-bottom:6px;
}

.info-section-title{
    font-size:13px;
}

#balancePageTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}
#chooseAmountTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#balanceLabelTitle{
    margin-bottom:10px;
}

#methodsHeader .back-btn{
    width:0;
    height:0;
    padding:0;
    margin:0;
    border:none;
}

#methodsBalanceTitle{
    text-align:center;
    text-transform:uppercase;
    font-size:16px;
    letter-spacing:1.5px;
    color:#AEB6CF;
}

#balancePageTitle{
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
}

.info-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:16px;
}

.info-row{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:none;
    background:#2A3046;
    border-radius:14px;
    color:#fff;
    cursor:pointer;
    transition:.2s;
    text-align:left;
}

@media (hover:hover) and (pointer:fine){
    .info-row:hover{
        background:#363D59;
    }
}

.info-row-icon{
    width:70px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-left:6px;
    background:rgba(255,213,74,0.15);
    border-radius:9px;
}

.info-row-icon svg{
    width:18px;
    height:18px;
    color:rgba(255,213,74,0.6);
}

.info-row > span:not(.info-row-icon):not(.info-row-arrow){
    flex:1;
    min-width:0;
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-align:left;
    margin-left:05px;
    color:#AEB6CF;
}
.info-row-arrow{
    color:#AEB6CF;
    font-size:15px;
    flex-shrink:0;
    margin-right:6px;
}

/* Плитки в блоке "Важные информации". Чтобы вернуть старый вид, удалите этот блок до строки ".invite-modal{" */
.info-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.info-row{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:10px;
    padding:14px;
    min-height:92px;
}

.info-row-icon{
    width:34px;
    height:34px;
    margin:0;
    border-radius:10px;
}

.info-row-icon svg{
    width:18px;
    height:18px;
    color:#FFD54A;
}

.info-row > span:not(.info-row-icon):not(.info-row-arrow){
    flex:none;
    width:100%;
    margin:0;
    font-size:12.5px;
    line-height:1.3;
    white-space:normal;
    color:#fff;
}

.info-row-arrow{
    display:none;
}

.invite-modal{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,0.6);
    z-index:2000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

#reviewModal{
    z-index:2100;
}

/* Список "Важные информации" в стиле сервисов. Для отката удалите этот блок и style="display:none" у .info-list в index.html */
.svc-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:16px;
}

.svc-row{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:none;
    background:#2A3046;
    border-radius:16px;
    color:#fff;
    cursor:pointer;
    transition:.2s;
    text-align:left;
}

@media (hover:hover) and (pointer:fine){
    .svc-row:hover{
        background:#363D59;
    }
}

.svc-icon{
    width:40px;
    height:40px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(255,213,74,0.15);
}

.svc-icon svg{
    width:20px;
    height:20px;
    color:#FFD54A;
}

.svc-text{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.svc-title{
    font-size:14px;
    font-weight:700;
    color:#fff;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.svc-sub{
    font-size:12px;
    color:#AEB6CF;
    line-height:1.3;
}

.svc-arrow{
    color:#AEB6CF;
    font-size:18px;
    flex-shrink:0;
}

/* Уменьшенный вид списка сервисов (перекрывает размеры выше) */
.svc-list{
    gap:6px;
    margin-top:0;
}

.svc-row{
    padding:8px 12px;
    gap:10px;
    border-radius:14px;
}

.svc-icon{
    width:32px;
    height:32px;
    border-radius:10px;
}

.svc-icon svg{
    width:16px;
    height:16px;
}

.svc-title{
    font-size:13px;
}

.svc-sub{
    font-size:11px;
    line-height:1.25;
}

.svc-arrow{
    font-size:16px;
}

/* Список сервисов: средний размер (перекрывает предыдущие размеры) */
.svc-list{
    gap:7px;
}

.svc-row{
    padding:10px 13px;
    gap:11px;
    border-radius:15px;
}

.svc-icon{
    width:36px;
    height:36px;
    border-radius:11px;
}

.svc-icon svg{
    width:18px;
    height:18px;
}

.svc-title{
    font-size:13.5px;
}

.svc-sub{
    font-size:11.5px;
    line-height:1.25;
}

.svc-arrow{
    font-size:17px;
}

/* Заголовок "Важные информации": меньше зазор сверху и снизу */
.info-section-title{
    margin-top:-8px;
    margin-bottom:8px;
}

/* История: больше воздуха между двумя строками в карточке (верхняя чуть выше, нижняя чуть ниже) */
.history-item-info > .history-item-method:nth-child(2):last-child{
    margin-top:5px;
}

.history-item-right > .history-item-status:last-child{
    margin-top:6px;
}

/* История заказов: 3 строки слева и 3 справа стоят ровно друг напротив друга */
#ordersList .history-item-row{
    align-items:center;
}

#ordersList .history-item-info,
#ordersList .history-item-right{
    display:flex;
    flex-direction:column;
    gap:3px;
}

#ordersList .history-item-info > div,
#ordersList .history-item-right > div{
    height:16px;
    line-height:16px;
    margin:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Заголовок "Важные информации": одинаковый зазор сверху и снизу */
.info-section-title{
    margin-top:-12px;
    margin-bottom:12px;
}

/* Серые подписи в карточках: всегда в одну строку, размер подстраивается под ширину */
.svc-text{
    container-type:inline-size;
}

.svc-sub{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
    font-size:clamp(9px, 4.2cqw, 11.5px);
}

/* Топ донатеров: 7 строк, у каждой свой цвет */
.donor-line{
    display:flex;
    align-items:center;
    gap:12px;
    background:#2A3046;
    border-left:4px solid var(--c);
    background:#1E2235;
    border-radius:14px;
    padding:10px 14px 10px 12px;
    margin-bottom:7px;
}

.donor-line-place{
    color:var(--c);
    font-weight:800;
    font-size:13px;
    min-width:46px;
    white-space:nowrap;
}

.donor-line-info{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.donor-line-name{
    color:#fff;
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.donor-line-orders{
    color:#AEB6CF;
    font-size:11.5px;
}

.donor-line-amount{
    color:#fff;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

/* Топ донатеров: сумма чуть меньше, снизу UZS цветом места */
.donor-line-amountbox{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
}

.donor-line-amount{
    font-size:12px;
}

.donor-line-cur{
    color:var(--c);
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
}

/* Топ донатеров: UZS как у "заказов", расстояние между строками 14 */
.donor-line-cur{
    color:#AEB6CF;
    font-size:11.5px;
    font-weight:400;
    letter-spacing:0;
}

.donor-line{
    margin-bottom:0;
}

.donors-modal-box .donors-list{
    gap:14px;
}

/* Топ донатеров: UZS точно как у "заказов" (перебивает старые правила) */
.donor-line .donor-line-cur,
.donor-line .donor-line-orders{
    color:#AEB6CF;
    font-size:11.5px;
    font-weight:400;
    letter-spacing:0;
    text-transform:none;
}

.invite-modal-box{
    position:relative;
    width:100%;
    max-width:340px;
    background:#2A3046;
    border-radius:18px;
    padding:22px;
}

.invite-modal-box h3{
    color:#AEB6CF;
    text-align:center;
    text-transform:uppercase;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.5px;
    margin:0 0 16px;
}

.invite-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    background:transparent;
    border:none;
    color:#AEB6CF;
    font-size:16px;
    cursor:pointer;
}

.invite-modal-close{
    width:24px;
    height:24px;
    padding:0;
    top:11px;
    right:10px;
    background:rgba(255,255,255,0.06);
    border-radius:50%;
    font-size:0;
    line-height:0;
    -webkit-tap-highlight-color:transparent;
    transition:background .15s;
}

.invite-modal-close::before,
.invite-modal-close::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:10px;
    height:1.5px;
    background:#AEB6CF;
    border-radius:1px;
}

.invite-modal-close::before{
    transform:translate(-50%,-50%) rotate(45deg);
}

.invite-modal-close::after{
    transform:translate(-50%,-50%) rotate(-45deg);
}

.invite-modal-close:active{
    background:rgba(255,255,255,0.14);
}

.invite-link-row{
    display:flex;
    gap:8px;
    margin-bottom:14px;
}

.invite-link-row input{
    flex:1;
    min-width:0;
    background:#1E2235;
    border:none;
    border-radius:10px;
    padding:10px 12px;
    color:#fff;
    font-size:12px;
}

.invite-link-row button{
    flex-shrink:0;
    background:#FFD54A;
    color:#1E2235;
    border:none;
    border-radius:10px;
    padding:10px 14px;
    font-weight:700;
    font-size:13px;
    cursor:pointer;
}

.invite-steps{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:2px;
}

.invite-step{
    display:flex;
    align-items:center;
    gap:10px;
    background:#1E2235;
    border-radius:10px;
    padding:10px 12px;
}

.invite-step-num{
    flex-shrink:0;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#FFD54A;
    color:#1E2235;
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

.invite-steps .invite-step:nth-child(2) .invite-step-num{
    background:#2A5BFF;
    color:#fff;
}

.invite-steps .invite-step:nth-child(3) .invite-step-num{
    background:#4CD178;
    color:#1E2235;
}

.invite-step span:last-child{
    flex:1;
    min-width:0;
    font-size:12.5px;
    color:#AEB6CF;
    line-height:1.4;
    white-space:nowrap;
}

.invite-stats-row{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.invite-stat-box{
    flex:1;
    background:#1E2235;
    border-radius:10px;
    padding:10px 12px;
    text-align:center;
}

.invite-stat-label{
    display:block;
    font-size:10.5px;
    color:#AEB6CF;
    margin-bottom:4px;
}

.invite-stat-value{
    display:block;
    font-size:16px;
    font-weight:700;
    color:#FFD54A;
}

.invite-modal-footer{
    text-align:center;
    font-size:12px;
    color:#AEB6CF;
    opacity:0.7;
    margin:18px 0 0;
}

.partner-card{
    background:#2A3046;
    border-radius:18px;
    padding:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.partner-card p{
    font-size:12px;
    font-weight:600;
    color:#AEB6CF;
}

.partner-btn{
    flex-shrink:0;
    border:none;
    background:#FFD54A;
    color:#1E2235;
    padding:9px 16px;
    border-radius:12px;
    font-weight:700;
    font-size:12px;
    cursor:pointer;
    transition:.25s;
}

@media (hover:hover) and (pointer:fine){
    .partner-btn:hover{
        transform:translateY(-2px);
    }
}

.app-version{
    text-align:center;
    color:#AEB6CF;
    font-size:10px;
    margin-top:8px;
    opacity:.6;
}

/* ===== Страница История ===== */

body.history-page .container{
    overflow-y:auto;
    padding-bottom:110px;
}

body.history-page .balance-card{
    justify-content:center;
    text-align:center;
    padding:14px 22px;
    border-radius:14px;
}

body.history-page .balance-card h2{
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:#AEB6CF;
    margin:0;
}

body.games-page .balance-card{
    justify-content:center;
    text-align:center;
    padding:14px 22px;
    border-radius:14px;
}

body.games-page .balance-card h2{
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:#AEB6CF;
    margin:0;
}

.history-tabs{
    display:flex;
    gap:8px;
    margin-bottom:16px;
}

.history-tab{
    flex:1;
    border:none;
    background:#2A3046;
    color:#AEB6CF;
    padding:11px;
    border-radius:12px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
}

.history-tab.active{
    background:#FFD54A;
    color:#1E2235;
}

.history-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.history-item{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:12px 14px;
    background:#2A3046;
    border-radius:14px;
}

.history-item-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

#myOrdersList .history-item{
    background:#1E2235;
}

.history-item-icon{
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.history-item-icon.success{
    background:rgba(76,209,120,0.15);
    color:#4CD178;
}

.history-item-icon.pending{
    background:rgba(255,213,74,0.15);
    color:#FFD54A;
}

.history-item-icon.rejected,
.history-item-icon.deduction{
    background:rgba(255,90,90,0.15);
    color:#FF5A5A;
}

.history-item-info{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.history-item-date{
    font-size:11px;
    color:#AEB6CF;
}

.history-item-method{
    font-size:12px;
    font-weight:600;
    color:#fff;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.history-item-order-name{
    font-size:11px;
    color:#AEB6CF;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.history-item-order-id{
    font-size:10px;
    color:#AEB6CF;
    margin-top:1px;
}

.history-item-right{
    text-align:right;
    flex-shrink:0;
}

.history-item-amount{
    font-size:14px;
    font-weight:700;
    color:#fff;
}

.history-item-status{
    font-size:11px;
    font-weight:600;
    margin-top:2px;
}

.history-item-status.success{
    color:#4CD178;
}

.history-item-status.pending{
    color:#FFD54A;
}

.history-item-status.rejected,
.history-item-status.deduction{
    color:#FF5A5A;
}

.history-item-support{
    display:none;
    font-size:10px;
    color:#AEB6CF;
    margin-top:1px;
}

.history-review-btn{
    display:block;
    width:100%;
    padding:9px 10px;
    font-size:12px;
    font-weight:700;
    color:#1E2235;
    background:#FFD54A;
    border:none;
    border-radius:10px;
    cursor:pointer;
}

.review-modal-box{
    text-align:center;
    max-height:85vh;
    overflow-y:auto;
    padding:16px 18px;
}

.review-modal-box h3{
    margin-bottom:8px;
}

body.modal-lock{
    position:fixed;
    width:100%;
    overflow:hidden;
}

body.modal-lock .container{
    height:100% !important;
}

.review-stars{
    display:flex;
    justify-content:center;
    gap:3px;
    font-size:22px;
    margin:4px 0 8px;
}

.review-star{
    color:#3A4160;
    cursor:pointer;
    transition:.15s;
}

.review-star.active{
    color:#FFD54A;
}

.review-presets{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:6px;
}

.review-preset-btn{
    padding:5px 9px;
    font-size:11px;
    text-align:left;
    color:#AEB6CF;
    background:#252B45;
    border:1px solid #3A4160;
    border-radius:8px;
    cursor:pointer;
}

.review-preset-btn.active{
    color:#1E2235;
    background:#FFD54A;
    border-color:#FFD54A;
    font-weight:600;
}

.review-textarea{
    width:100%;
    min-height:32px;
    padding:7px 10px;
    font-size:12px;
    font-family:inherit;
    color:#fff;
    background:#252B45;
    border:1px solid #3A4160;
    border-radius:9px;
    resize:none;
    margin-bottom:6px;
}

.review-error{
    color:#FF5A5A;
    font-size:12px;
    min-height:14px;
    margin:-4px 0 10px;
}

.games-link-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:#252B45;
    border:1px solid #3A4160;
    border-radius:12px;
    padding:10px;
    cursor:pointer;
    margin-top:14px;
}

.games-link-row span{
    color:#AEB6CF;
    font-size:12.5px;
    font-weight:600;
}

.games-link-row svg{
    width:14px;
    height:14px;
    color:#AEB6CF;
}

.reviews-carousel{
    display:flex;
    gap:10px;
    padding-bottom:4px;
    scrollbar-width:none;
    width:max-content;
    animation:reviewsScroll 45s linear infinite;
}

.review-spotlight{
    display:flex;
    align-items:center;
    gap:14px;
    background:#252B45;
    border:1px solid #3A4160;
    border-radius:14px;
    padding:14px;
}

.review-spotlight-stats{
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding-right:14px;
    border-right:1px solid #3A4160;
}

.review-spotlight-score{
    font-size:28px;
    font-weight:800;
    color:#fff;
    line-height:1;
}

.review-spotlight-stars{
    color:#FFD54A;
    font-size:12px;
    letter-spacing:1px;
}

.review-spotlight-count{
    color:#AEB6CF;
    font-size:10px;
    white-space:nowrap;
}

.review-spotlight-content{
    flex:1;
    min-width:0;
}

.review-spotlight-fade{
    animation:reviewSpotlightFade .4s ease;
}

@keyframes reviewSpotlightFade{
    from{ opacity:0; transform:translateY(4px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes reviewsScroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

#reviewsSection{
    overflow:hidden;
}
.reviews-carousel::-webkit-scrollbar{
    display:none;
}

.review-card{
    flex:0 0 auto;
    width:260px;
    background:#252B45;
    border:1px solid #3A4160;
    border-radius:14px;
    padding:12px 14px;
}

.review-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
    gap:6px;
}

.review-card-who{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}

.review-card-avatar{
    width:26px;
    height:26px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:700;
    color:#1E2235;
    flex-shrink:0;
}

.review-card-name{
    color:#AEB6CF;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.review-card-stars{
    color:#FFD54A;
    font-size:12px;
    flex-shrink:0;
}

.review-card-text{
    color:#fff;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-bottom:8px;
}

.review-card-category{
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#AEB6CF;
    font-size:10.5px;
}

.review-card-category-left{
    display:flex;
    align-items:center;
    gap:5px;
}

.review-card-amount{
    color:#FFD54A;
    font-weight:700;
}

.review-card-category svg{
    width:13px;
    height:13px;
    stroke:#FFD54A;
    flex-shrink:0;
}

.history-empty{
    text-align:center;
    color:#AEB6CF;
    font-size:13px;
    padding:30px 10px;
}

.history-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:16px;
}

.history-page-btn{
    border:none;
    background:#2A3046;
    color:#fff;
    padding:9px 16px;
    border-radius:12px;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}

.history-page-btn:disabled{
    opacity:.35;
    cursor:not-allowed;
}

.history-page-info{
    font-size:12px;
    color:#AEB6CF;
}

.donors-modal-box{
    max-width:360px;
}

.donors-tabs{
    display:flex;
    background:#1E2235;
    border-radius:12px;
    padding:4px;
    gap:4px;
    margin-bottom:14px;
}

.donors-tab{
    flex:1;
    background:transparent;
    border:none;
    border-radius:9px;
    padding:8px 0;
    color:#AEB6CF;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}

.donors-tab.active{
    background:#FFD54A;
    color:#1E2235;
}

.donors-podium{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:10px;
    margin-bottom:16px;
}

.donor-podium-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:92px;
}

.donor-avatar{
    position:relative;
    width:50px;
    height:50px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:700;
    color:#1E2235;
}

.donor-podium-item.place-1 .donor-avatar{
    width:62px;
    height:62px;
    font-size:22px;
}

.donor-podium-item.place-1{
    margin-bottom:14px;
}

.donor-place-badge{
    position:absolute;
    bottom:-4px;
    right:-4px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#2A3046;
    color:#fff;
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #2A3046;
}

.donor-name{
    margin-top:8px;
    font-size:12px;
    color:#fff;
    font-weight:600;
    max-width:90px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.donor-orders{
    font-size:10px;
    color:#AEB6CF;
    margin-top:2px;
}

.donor-amount{
    margin-top:6px;
    background:rgba(255,255,255,0.06);
    border-radius:8px;
    padding:4px 8px;
    font-size:12px;
    font-weight:700;
    color:#FFD54A;
}

.donors-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.donor-row{
    display:flex;
    align-items:center;
    gap:10px;
    background:#1E2235;
    border-radius:10px;
    padding:10px 12px;
}

.donor-row-place{
    flex-shrink:0;
    width:16px;
    text-align:center;
    color:#AEB6CF;
    font-size:12px;
    font-weight:700;
}

.donor-row-info{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.donor-row-name{
    font-size:12.5px;
    color:#fff;
    font-weight:600;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.donor-row-orders{
    font-size:10px;
    color:#AEB6CF;
}

.donor-row-amount{
    flex-shrink:0;
    font-size:12.5px;
    font-weight:700;
    color:#FFD54A;
}

.donors-empty{
    text-align:center;
    font-size:12.5px;
    color:#AEB6CF;
    padding:24px 0;
}

.terms-modal-box{
    max-width:380px;
    max-height:78vh;
    display:flex;
    flex-direction:column;
}

.terms-modal-body{
    overflow-y:auto;
    padding-right:6px;
    margin-top:2px;
}

.terms-section{
    margin-bottom:10px;
    background:#1E2235;
    border-radius:10px;
    padding:10px 12px;
}

.terms-section:last-child{
    margin-bottom:0;
}

.terms-section-title{
    display:block;
    color:#FFD54A;
    font-size:12.5px;
    font-weight:700;
    margin-bottom:4px;
}

.terms-section-text{
    display:block;
    color:#AEB6CF;
    font-size:12px;
    line-height:1.5;
}

.terms-modal-box{
    max-width:360px;
}

.terms-section{
    margin-bottom:8px;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.07);
    border-radius:12px;
    padding:9px 12px;
}

.terms-section-title{
    color:#E6E9F5;
    font-size:12px;
    margin-bottom:3px;
}

.terms-section-text{
    font-size:11.5px;
    line-height:1.45;
}

.comingsoon-modal-box{
    max-width:340px;
    text-align:center;
    padding-top:32px;
    padding-bottom:28px;
}

.comingsoon-icon{
    font-size:36px;
    margin-bottom:10px;
}

.comingsoon-text{
    color:#AEB6CF;
    font-size:13px;
    line-height:1.5;
    margin-top:6px;
}

.splash-screen{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1E2235;
    transition:opacity .4s ease;
}

.splash-screen.splash-hide{
    opacity:0;
    pointer-events:none;
}

.splash-icon{
    position:absolute;
    width:64px;
    height:64px;
    border-radius:20px;
    background:#FFD54A;
    color:#1E2235;
    display:flex;
    align-items:center;
    justify-content:center;
    animation:splashPulse 1.1s ease-in-out infinite, splashIconOut .4s ease forwards 1.2s;
}

.splash-text{
    position:absolute;
    font-size:20px;
    font-weight:800;
    color:#fff;
    opacity:0;
    animation:splashTextIn .4s ease forwards 1.4s;
}

@keyframes splashPulse{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.12); }
}

@keyframes splashIconOut{
    to{ opacity:0; transform:scale(.8); }
}

@keyframes splashTextIn{
    to{ opacity:1; }
}