#amanah-qris-app{
    width:100%;
    max-width:430px;
    margin:0 auto;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:#0f172a;
}

.aq-page{display:none}
.aq-page.active{display:block}

.aq-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:20px;
    box-shadow:0 8px 28px rgba(15,23,42,.08);
}

.aq-header{text-align:center;margin-bottom:20px}
.aq-qris-icon{
    width:84px;height:84px;margin:0 auto 14px;
    display:flex;align-items:center;justify-content:center;
    background:#e8fffd;color:#12b7b4;border-radius:24px;
    font-size:62px;font-weight:900;
}
.aq-title{
    margin:0;
    color:#ef455e;
    font-size:22px;
    font-weight:900;
}
.aq-subtitle{
    margin:6px 0 0;
    color:#64748b;
    font-size:14px;
}
.aq-verified{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:12px;
    padding:9px 13px;
    border-radius:999px;
    background:#ecfdf5;
    color:#047857;
    font-size:13px;
    font-weight:800;
}
.aq-dot{
    width:8px;height:8px;border-radius:50%;background:#10b981;
}

.aq-summary-row{display:none;margin-bottom:16px}
.aq-summary{
    display:flex;align-items:center;gap:12px;
    padding:14px;
    border:1px solid #99f6e4;
    border-radius:16px;
    background:#f0fdfa;
    cursor:pointer;
}
.aq-summary-icon{
    width:48px;height:48px;flex:0 0 48px;
    display:flex;align-items:center;justify-content:center;
    border-radius:14px;
    background:#12b7b4;color:#fff;font-size:23px;font-weight:900;
}
.aq-summary-body{flex:1}
.aq-summary-title{font-size:15px;line-height:1.35;font-weight:900;color:#134e4a}
.aq-summary-sub{margin-top:4px;color:#64748b;font-size:11px}
.aq-summary-count{
    width:34px;height:34px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:#12b7b4;color:#fff;font-size:14px;font-weight:900;
}

.aq-label,.aq-quick-label{
    display:block;
    margin-bottom:8px;
    color:#334155;
    font-size:14px;
    font-weight:900;
}
.aq-input{
    width:100%;
    height:54px;
    padding:0 15px;
    border:1.5px solid #cbd5e1 !important;
    border-radius:13px;
    box-sizing:border-box;
    outline:none;
    background:#fff !important;
    color:#111827 !important;
    -webkit-text-fill-color:#111827 !important;
    font-size:17px;
}
.aq-input:focus{
    border-color:#12b7b4 !important;
    box-shadow:0 0 0 3px rgba(18,183,180,.12);
}
.aq-quick-label{margin-top:16px}
.aq-quick-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-bottom:15px;
}
.aq-quick{
    min-height:44px;
    border:1px solid #cbd5e1;
    background:#f8fafc;
    color:#334155;
    border-radius:10px;
    font-size:14px;
    font-weight:900;
}
.aq-quick.selected{
    border-color:#12b7b4;
    background:#e8fffd;
    color:#0f766e;
}

.aq-btn{
    width:100%;
    min-height:52px;
    border:0;
    border-radius:13px;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
}
.aq-btn + .aq-btn{margin-top:9px}
.aq-primary{background:#12b7b4;color:#fff}
.aq-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
.aq-secondary{background:#f8fafc;color:#334155;border:1px solid #cbd5e1}
.aq-btn:disabled{opacity:.55}

.aq-page-header{
    display:flex;align-items:center;gap:11px;margin-bottom:17px;
}
.aq-back{
    width:42px;height:42px;flex:0 0 42px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;color:#334155;
    font-size:26px;
}
.aq-page-title{font-size:20px;font-weight:900}

.aq-detail-card,.aq-rule-card{
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
    padding:15px;
}
.aq-detail-card{margin-bottom:12px}
.aq-detail-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding-bottom:10px;
    margin-bottom:10px;
    border-bottom:1px solid #e2e8f0;
    font-size:14px;
}
.aq-detail-row:last-of-type{border-bottom:0;margin-bottom:12px}
.aq-detail-row strong{text-align:right}

.aq-flip-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:5px;
    border-radius:12px;
    background:#e2e8f0;
}
.aq-flip-tab{
    min-height:45px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#475569;
    font-size:12px;
    font-weight:900;
}
.aq-flip-tab.active{
    background:#12b7b4;
    color:#fff;
}

.aq-flip-card{
    margin-top:10px;
    border-radius:15px;
    background:#fff;
    border:1px solid #dbe4ea;
    overflow:hidden;
}
.aq-calc-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:16px;
    min-height:62px;
    padding:12px 14px;
    box-sizing:border-box;
}
.aq-calc-row + .aq-calc-row{
    border-top:1px solid #e2e8f0;
}
.aq-calc-label{
    min-width:0;
    text-align:left;
    color:#475569;
    font-size:14px;
    font-weight:900;
    line-height:1.25;
}
.aq-calc-value{
    display:block;
    margin:0;
    text-align:right;
    color:#0f766e;
    font-size:23px;
    font-weight:900;
    line-height:1.2;
    white-space:nowrap;
}

.aq-rule-card{
    margin-bottom:12px;
}
.aq-rule-title{
    margin-bottom:11px;
    font-size:14px;
    font-weight:900;
}
.aq-rule{
    display:flex;
    gap:9px;
    margin-bottom:8px;
    color:#475569;
    font-size:12px;
    line-height:1.45;
}
.aq-rule span:first-child{color:#12b7b4;font-weight:900}

.aq-qr-box{
    padding:15px;
    border:1px dashed #12b7b4;
    border-radius:17px;
    background:#f8fafc;
    text-align:center;
}
#aq-qrcode{
    min-height:250px;
    display:flex;
    align-items:center;
    justify-content:center;
}
#aq-qrcode canvas{
    width:240px !important;
    height:240px !important;
    border-radius:8px;
}
.aq-scan{
    margin-top:9px;
    color:#64748b;
    font-size:12px;
}

.aq-expiry{
    margin-top:12px;
    padding:14px;
    border-radius:14px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    text-align:center;
}
.aq-expiry-label{
    display:block;
    margin-bottom:4px;
    color:#9a3412;
    font-size:11px;
    font-weight:900;
}
.aq-expiry-time{
    color:#ea580c;
    font-size:29px;
    font-weight:900;
    letter-spacing:1px;
}

.aq-status{
    margin-top:12px;
    padding:13px;
    border-radius:13px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1d4ed8;
    text-align:center;
    font-size:13px;
    line-height:1.4;
    font-weight:800;
}
.aq-status.success{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.aq-status.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}

.aq-nobu-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:14px 0 10px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}
.aq-nobu-brand img{
    display:block;
    width:auto;
    max-width:95px;
    height:26px;
    object-fit:contain;
}

.aq-list-item{
    padding:14px;
    margin-bottom:10px;
    border:1px solid #e2e8f0;
    border-radius:15px;
    background:#f8fafc;
}
.aq-list-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}
.aq-money{font-size:18px;font-weight:900}
.aq-ref{
    margin-top:4px;
    color:#64748b;
    font-size:10px;
    word-break:break-all;
}
.aq-countdown{
    color:#ea580c;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
.aq-list-buttons{display:flex;gap:8px;margin-top:11px}
.aq-small{
    flex:1;
    min-height:42px;
    border-radius:10px;
    font-size:12px;
    font-weight:900;
    border:0;
}
.aq-small-open{background:#12b7b4;color:#fff}
.aq-small-cancel{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}

.aq-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.70);
}
.aq-modal-box{
    width:100%;
    max-width:360px;
    padding:22px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 20px 55px rgba(0,0,0,.30);
}
.aq-modal-icon{text-align:center;font-size:36px;margin-bottom:7px}
.aq-modal-title{
    margin:0 0 8px;
    text-align:center;
    color:#ef455e;
    font-size:18px;
    font-weight:900;
}
.aq-modal-message{
    margin-bottom:18px;
    color:#475569;
    text-align:center;
    white-space:pre-wrap;
    font-size:14px;
    line-height:1.5;
}
.aq-modal-buttons{display:flex;gap:8px}

@media (max-width:360px){
    .aq-card{padding:16px}
    .aq-quick{font-size:13px}
}

/* ============================================================
 * v8 Material / Android touch layer
 * Tidak mengubah ID/JS/state; hanya visual dan touch behavior.
 * ============================================================ */
#amanah-qris-app{
    max-width:480px;
    padding:10px;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}

.aq-card{
    border:0;
    border-radius:24px;
    padding:18px;
    box-shadow:0 6px 24px rgba(15,23,42,.10);
}

.aq-input,
.aq-btn,
.aq-quick,
.aq-flip-tab,
.aq-back,
.aq-small{
    -webkit-appearance:none;
    appearance:none;
    touch-action:manipulation;
}

.aq-input{
    min-height:58px;
    border-radius:16px;
    font-size:18px;
    font-weight:700;
}

.aq-btn{
    min-height:56px;
    border-radius:18px;
    font-size:16px;
    letter-spacing:.05px;
}

.aq-primary{
    box-shadow:0 4px 12px rgba(18,183,180,.22);
}

.aq-quick{
    min-height:48px;
    border-radius:14px;
    font-size:14px;
}

.aq-flip-tab{
    min-height:48px;
    border-radius:12px;
    font-size:12px;
}

.aq-back{
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:28px;
}

.aq-detail-card,
.aq-rule-card,
.aq-qr-box,
.aq-summary,
.aq-list-item{
    border-radius:18px;
}

.aq-flip-card{
    border-radius:18px;
}

.aq-qr-box{
    padding:18px;
}

#aq-qrcode canvas{
    width:256px !important;
    height:256px !important;
    image-rendering:auto;
}

.aq-list-secondary{
    margin-top:3px;
    color:#64748b;
    font-size:11px;
    font-weight:700;
}

.aq-small{
    min-height:46px;
    border-radius:14px;
}

.aq-modal-box{
    border-radius:24px;
}

@media (max-width:480px){
    #amanah-qris-app{
        padding:8px;
    }

    .aq-card{
        min-height:calc(100vh - 32px);
        box-sizing:border-box;
    }
}
