/* V13: nền tảng dùng chung cho user và admin. */
*{box-sizing:border-box}body{margin:0;font-family:var(--app-font-family,"Nunito","Segoe UI",Arial,sans-serif);background:#0f172a;color:#e5e7eb}a{color:#38bdf8;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:0 auto;padding:22px}.top{background:#111827;border-bottom:1px solid #334155}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;font-size:20px;color:#fff}.menu{display:flex;gap:12px;flex-wrap:wrap}.menu a,.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:#2563eb;color:#fff;cursor:pointer;font-weight:700}.menu a.secondary,.btn.secondary{background:#334155}.btn.danger{background:#dc2626}.btn.small{padding:7px 10px;font-size:13px}.card{background:#1e293b;border:1px solid #334155;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 12px 30px rgba(0,0,0,.18)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.stat{background:#111827;border:1px solid #334155;border-radius:14px;padding:16px}.stat .num{font-size:24px;font-weight:800;color:#fff;margin-top:6px}h1,h2,h3{color:#fff;margin:0 0 14px}.muted{color:#94a3b8}.balance{font-size:30px;color:#22c55e;font-weight:900}.form-row{margin-bottom:13px}label{display:block;margin-bottom:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid #475569;border-radius:10px;background:#0f172a;color:#fff;padding:11px 12px;font-size:15px}textarea{min-height:110px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline input[type=checkbox]{width:auto}table{width:100%;border-collapse:collapse;background:#111827;border-radius:12px;overflow:hidden}th,td{padding:11px 10px;border-bottom:1px solid #334155;text-align:left;vertical-align:top}th{background:#0f172a;color:#cbd5e1}.pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#14532d;color:#bbf7d0}.pill.bad{background:#7f1d1d;color:#fecaca}.pill.warn{background:#713f12;color:#fde68a}.pill.info{background:#1e3a8a;color:#bfdbfe}.alert{padding:12px 14px;border-radius:12px;margin:12px 0}.alert.ok{background:#14532d;color:#bbf7d0}.alert.bad{background:#7f1d1d;color:#fecaca}.alert.warn{background:#713f12;color:#fde68a}.login-box{max-width:480px;margin:8vh auto}.product{display:flex;flex-direction:column;gap:10px}.price{font-size:22px;font-weight:900;color:#fbbf24}.codebox{background:#020617;border:1px solid #334155;border-radius:12px;padding:12px;white-space:pre-wrap;font-family:Consolas,monospace}.footer{color:#64748b;text-align:center;padding:22px}.actions{display:flex;gap:8px;flex-wrap:wrap}.search{max-width:360px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.two{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}table{font-size:13px}.wrap{padding:14px}}
.product-desc{color:#cbd5e1;line-height:1.5;border-top:1px solid #334155;padding-top:10px}.price span{font-size:14px;color:#cbd5e1;font-weight:800}.buy-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.buy-row .buy-qty{min-width:130px;flex:1}.buy-row button{white-space:nowrap;margin-bottom:0}.modal{display:none;position:fixed;z-index:999;inset:0;background:rgba(2,6,23,.78);padding:20px;align-items:center;justify-content:center}.modal.open,.modal[aria-hidden="false"]{display:flex!important}.modal-box{width:min(520px,100%);background:#1e293b;border:1px solid #475569;border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.45);position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#334155;color:#fff;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:30px;cursor:pointer}@media(max-width:520px){.buy-row{align-items:stretch}.buy-row .buy-qty,.buy-row button{width:100%}}

body.modal-active{overflow:hidden}

@media(max-width:760px){body{font-size:15px}.wrap{width:100%;max-width:100%;padding:12px}.card{border-radius:14px;padding:14px;margin:10px 0;overflow-x:auto}.grid{grid-template-columns:1fr;gap:10px}.menu{width:100%;gap:8px}.menu a,.btn{padding:9px 11px;font-size:14px}.actions{gap:7px}.deposit-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.deposit-pay-amount{padding:12px}.deposit-pay-number{font-size:26px}.deposit-qr-box{padding:12px;margin:12px auto;max-width:100%}.deposit-qr-img{max-width:260px;max-height:390px;border-radius:12px;padding:6px}.deposit-qr-actions .btn{width:100%;text-align:center}table{display:block;overflow-x:auto;white-space:nowrap}th,td{padding:9px 8px}.deposit-invoice table{white-space:normal}.deposit-invoice th{min-width:130px}.deposit-invoice td{min-width:180px}.balance{font-size:24px}}
@media(max-width:420px){.deposit-presets{grid-template-columns:1fr}.deposit-qr-img{max-width:230px}.deposit-pay-number{font-size:24px}.brand{font-size:18px}h1{font-size:24px}h2{font-size:20px}}
