/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================================================
   BODY
========================================================== */

body{
    font-family:Segoe UI,Arial,sans-serif;
    background:#eef2f7;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
}

/* ==========================================================
   LAYOUT
========================================================== */

.container{
    width:100%;
    max-width:700px;
}

.card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 15px 50px rgba(0,0,0,.15);
}

.content{
    padding:30px;
    text-align:center;
}

/* ==========================================================
   HEADER
========================================================== */

.logo-qris{
    width:100%;
    max-width:420px;
    display:block;
    margin:auto;
}

.note{
    margin-top:15px;
    font-size:18px;
    color:#444;
    line-height:1.3;
}

.nmid{
    margin-top:10px;
    font-size:14px;
    color:#666;
}

/* ==========================================================
   QRIS
========================================================== */

.qrcode-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:25px 0;
}

#qrcode,
.qrcode{
    background:#fff;
    padding:16px;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

#qrcode img,
#qrcode canvas,
.qrcode img,
.qrcode canvas{
    display:block;
    width:100% !important;
    height:auto !important;
}

/* Desktop */

@media (min-width:1200px){

#qrcode,
.qrcode{
    width:360px;
}

}

/* Tablet */

@media (min-width:768px) and (max-width:1199px){

#qrcode,
.qrcode{
    width:380px;
}

}

/* Mobile */

@media (max-width:767px){

#qrcode,
.qrcode{
    width:90vw;
    max-width:220px;
}

}

/* ==========================================================
   AMOUNT
========================================================== */

.amount-box{
    display:inline-block;
    margin:20px auto;
    padding:10px 18px;
    background:#f8fafc;
    border:2px solid #22c55e;
    border-radius:14px;
}

.amount-title{
    font-size:16px;
    color:#6b7280;
    margin-bottom:4px;
}

.amount-value{
    font-size:32px;
    font-weight:700;
    color:#16a34a;
    line-height:1.1;
}

.jumlah_tagihan{
    font-size:21px;
    font-weight:700;
    color:#16a34a;
    line-height:1;
}

/* ==========================================================
   INFO
========================================================== */

.info{
    margin-top:20px;
    font-size:17px;
    color:#555;
}

/* ==========================================================
   SUCCESS
========================================================== */

.success-box{
    padding:45px 20px;
    text-align:center;
}

.success-animation-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:20px;
}

.success-animation{
    width:280px;
    height:280px;
    display:block;
}

.success-title{
    font-size:32px;
    font-weight:700;
    color:#16a34a;
}

.success-amount{
    margin:20px 0;
    font-size:52px;
    font-weight:700;
    color:#2563eb;
}

.success-footer{
    font-size:20px;
    color:#666;
    line-height:1.6;
}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.logo-qris{
    max-width:320px;
}

.note{
    font-size:16px;
}

.nmid{
    font-size:13px;
}

.amount-title{
    font-size:15px;
}

.amount-value{
    font-size:28px;
}

.info{
    font-size:15px;
}

.success-animation{
    width:210px;
    height:210px;
}

.success-title{
    font-size:24px;
}

.success-amount{
    font-size:38px;
}

.success-footer{
    font-size:15px;
}

.content{
    padding:22px;
}

}