.osn-svg-wrapper.tp-points {
    display:flex;
    align-items:center;
    justify-content:center;
}

.osn-svg-wrapper.tp-points::before {
    content: "";
    display:block;
    width:20px;
    height:20px;
    background: url("https://doughnuts.site/wp-content/uploads/2026/03/premium-quality_12596980.png") no-repeat center;
    background-size: contain;
    scale: 2.5;
    margin-top: 10px;
    filter: opacity(0.8);
}


#tp-open {
    margin-left: -105px;
}



.tp-history-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 10px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    border: 0;
    border-radius: 15px;
}

.tp-history-button:hover{
    background: #633b73;
    color: #fff !important;
    transform: translateY(-1px);
}




.tp-user-points{
    margin: 8px 0 14px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(0,0,0,.05);
    font-size: 14px;
}

.tp-success{
    padding: 16px;
    border-radius: 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.tp-error{
    background: #fef2f2;
    border-color: #fecaca;
}

.tp-success-title{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.tp-success a{
    text-decoration: underline;
}





#tp-open{
    margin-top: 12px;
}

#tp-modal-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:9998;
}
#tp-modal{
    display:none;
    position:fixed;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(92vw,480px);
    background:#fff;
    border-radius:16px;
    padding:18px;
    z-index:9999;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}
#tp-modal textarea,
#tp-modal input[type="number"]{
    width:100%;
    box-sizing:border-box;
    margin:8px 0 12px;
}
#tp-modal .tp-actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
}




.tp-user-points{
    margin: 8px 0 14px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(0,0,0,.05);
    font-size: 14px;
}

.tp-success{
    padding: 16px;
    border-radius: 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.tp-error{
    background: #fef2f2;
    border-color: #fecaca;
}

.tp-success-title{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.tp-success a{
    text-decoration: underline;
}





#tp-open{
    margin-top: 12px;
}

#tp-modal-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:9998;
}
#tp-modal{
    display:none;
    position:fixed;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(92vw,480px);
    background:#fff;
    border-radius:16px;
    padding:18px;
    z-index:9999;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}
#tp-modal textarea,
#tp-modal input[type="number"]{
    width:100%;
    box-sizing:border-box;
    margin:8px 0 12px;
}
#tp-modal .tp-actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
}






.tp-wrap{
    max-width: 1100px;
    margin: 24px auto;
    padding: 0 16px 32px;
}

.tp-hero{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:stretch;
    background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
    border: 1px solid #e7ebf2;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
    margin-bottom: 18px;
}

.tp-kicker{
    display:inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 8px;
}

.tp-title{
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.1;
    color: #111827;
}

.tp-subtitle{
    margin: 0;
    color: #6b7280;
    font-size: 15px;
}

.tp-balance-card{
    min-width: 220px;
    background: #111827;
    color: #fff;
    border-radius: 18px;
    padding: 18px 20px;
    align-self: stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow: 0 10px 25px rgba(17,24,39,.15);
}

.tp-balance-label{
    font-size: 13px;
    opacity: .8;
    margin-bottom: 6px;
}

.tp-balance-value{
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
}

.tp-balance-handle{
    font-size: 13px;
    opacity: .75;
}

.tp-tabs{
    display:flex;
    gap:10px;
    margin: 18px 0 16px;
    flex-wrap: wrap;
}

.tp-tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 11px 16px;
    border-radius: 999px;
    background: #633b73;
    color: #374151;
    text-decoration:none;
    font-weight: 700;
    transition: all .2s ease;
    border: 1px solid transparent;
}


.tp-empty{
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 18px;
    padding: 22px;
    color: #6b7280;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.tp-table-wrap{
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.tp-table{
    width:100%;
    border-collapse: collapse;
}

.tp-table thead th{
    text-align:left;
    padding: 14px 16px;
    background: #f8fafc;
    color: #374151;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 1px solid #e7ebf2;
}

.tp-table tbody td{
    padding: 15px 16px;
    border-bottom: 1px solid #edf1f6;
    vertical-align: top;
    color: #1f2937;
}

.tp-table tbody tr:hover{
    background: #fbfdff;
}

.tp-user-pill,
.tp-points-pill{
    display:inline-flex;
    align-items:center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    font-weight: 700;
    white-space: nowrap;
}

.tp-points-pill{
    background: #e0f2fe;
    color: #075985;
}

.tp-muted{
    color:#9ca3af;
}

.tp-footer-link{
    margin-top: 18px;
}

.tp-footer-link a{
    color:#2563eb;
    text-decoration:none;
    font-weight:700;
}

.tp-footer-link a:hover{
    text-decoration:underline;
}

@media (max-width: 720px){
    .tp-hero{
        flex-direction:column;
    }

    .tp-title{
        font-size: 24px;
    }

    .tp-balance-card{
        min-width: 0;
        width: 100%;
    }

    .tp-table,
    .tp-table thead,
    .tp-table tbody,
    .tp-table th,
    .tp-table td,
    .tp-table tr{
        display:block;
        width:100%;
    }

    .tp-table thead{
        display:none;
    }

    .tp-table tbody tr{
        border-bottom: 1px solid #edf1f6;
        padding: 8px 0;
    }

    .tp-table tbody td{
        border:0;
        padding: 10px 16px;
        display:flex;
        justify-content:space-between;
        gap:12px;
    }

    .tp-table tbody td::before{
        content: attr(data-label);
        font-weight:700;
        color:#6b7280;
        flex: 0 0 40%;
    }
}







.tp-pagination{
    margin-top: 18px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.tp-page-link,
.tp-page-current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    padding:0 10px;
    border-radius:10px;
    text-decoration:none;
    font-weight:600;
}

.tp-page-link{
    background:rgba(0,0,0,.06);
    color:inherit;
}

.tp-page-link:hover{
    filter:brightness(1.05);
}

.tp-page-current{
    background:#1f6feb;
    color:#fff;
}



.tp-tab-active{
    background:#3c1c48;
    color:#fff;
}

.tp-tab:hover{
    color: #300740;
}




.tp-pagination{
    margin-top: 18px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.tp-page-link,
.tp-page-current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    padding:0 10px;
    border-radius:10px;
    text-decoration:none;
    font-weight:600;
}

.tp-page-link{
    background:rgba(0,0,0,.06);
    color:inherit;
}

.tp-page-link:hover{
    filter:brightness(1.05);
}

.tp-page-current{
    background:#1f6feb;
    color:#fff;
}