*{box-sizing:border-box}body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f5f6f8;color:#222;line-height:1.6}
header{background:#1f6feb;color:#fff;padding:12px 16px}header a{color:#fff;text-decoration:none;margin-right:14px}header .brand{font-weight:700;font-size:18px}
main{max-width:860px;margin:0 auto;padding:16px}footer{text-align:center;color:#888;font-size:13px;padding:24px 8px}footer a{color:#666;margin:0 6px}
.card{background:#fff;border-radius:10px;padding:16px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.price{color:#d0021b;font-weight:700;font-size:20px}.muted{color:#777;font-size:14px}
.tag{display:inline-block;padding:0 8px;border-radius:10px;font-size:12px;background:#e8f5e9;color:#2e7d32}.tag.low{background:#fff3e0;color:#ef6c00}.tag.out{background:#eee;color:#888}
label{display:block;margin:10px 0 4px;font-size:14px}input,select,textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font-size:16px}
input[type=checkbox]{width:auto}textarea{min-height:160px;font-family:monospace}
.btn{display:inline-block;background:#1f6feb;color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:16px;text-decoration:none;cursor:pointer;margin-top:12px}
.btn.gray{background:#888}.btn.red{background:#d0021b}.btn.small{padding:4px 10px;font-size:14px;margin:0}
.err{background:#fdecea;color:#b71c1c;padding:10px;border-radius:8px}.ok{background:#e8f5e9;color:#1b5e20;padding:10px;border-radius:8px}
.code{font-family:monospace;font-size:17px;background:#f0f3f7;padding:8px;border-radius:6px;margin:6px 0;word-break:break-all;user-select:all}
.mono{font-family:monospace;word-break:break-all}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #eee;padding:6px;text-align:left;vertical-align:top}
.tablewrap{overflow-x:auto}.inline{display:inline}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}
.mt0{margin-top:0}.plain{text-decoration:none;color:inherit;display:block}
.pre{white-space:pre-wrap}
.nowrap{white-space:nowrap}
.payrow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}.payinfo{flex:1;min-width:220px}
.qr{width:180px;height:180px;background:#fff;border:1px solid #eee;border-radius:8px}
.payinfo .btn.small{margin:2px 0 6px}.btn.copied{background:#2e7d32}
.admin main{max-width:1200px}.admin th{white-space:nowrap}
.stats{display:flex;flex-wrap:wrap;gap:6px 20px}.stats>div{white-space:nowrap}
@media(max-width:480px){.payrow{flex-direction:column;align-items:center}.payinfo{width:100%}}
.search{display:flex;gap:8px;margin-bottom:10px}.search input[name=q]{flex:1}.search select{width:auto;max-width:40%}.search .btn.small{padding:8px 16px}
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;white-space:nowrap}
.tabs a{padding:5px 14px;border-radius:16px;background:#fff;color:#333;text-decoration:none;font-size:14px;border:1px solid #dde}
.tabs a.on{background:#1f6feb;color:#fff;border-color:#1f6feb}
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:14px 0}
