/* 商户中心现代样式 - 独立设计系统 */
:root{
  --bg:#f4f6fb; --card:#fff; --line:#e7eaf3; --text:#1d2433; --muted:#8a94a8;
  --brand:#2563eb; --brand-d:#1d4ed8; --brand-soft:#e8effd;
  --green:#16a34a; --green-soft:#e7f7ee; --amber:#d97706; --amber-soft:#fef3e2;
  --red:#dc2626; --red-soft:#fdecec; --gray-soft:#f1f3f9;
  --radius:12px; --shadow:0 1px 3px rgba(16,24,40,.06),0 4px 16px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
body.mpay{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;margin:0}
.mpay a{color:var(--brand);text-decoration:none}
.mpay-wrap{max-width:1080px;margin:0 auto;padding:20px 16px 40px}
/* 卡片 */
.mcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}
.mcard-hd{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.mcard-hd h3{margin:0;font-size:15px;font-weight:700}
.mcard-hd p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.mcard-bd{padding:20px}
/* 表单 */
.mform .frow{display:flex;gap:12px;margin-bottom:14px;align-items:center}
.mform label.flab{width:84px;flex:none;text-align:right;font-size:13px;color:var(--muted)}
.mform .fctl{flex:1}
.minput,.mselect{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:14px;outline:none;background:#fff;color:var(--text);transition:border .15s,box-shadow .15s}
.minput:focus,.mselect:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.mbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 20px;border-radius:8px;border:1px solid transparent;font-size:14px;cursor:pointer;transition:all .15s;text-decoration:none}
.mbtn-primary{background:var(--brand);color:#fff}
.mbtn-primary:hover{background:var(--brand-d);color:#fff}
.mbtn-ghost{background:#fff;border-color:var(--line);color:var(--text)}
.mbtn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.mbtn-success{background:var(--green);color:#fff}
.mbtn-sm{height:30px;padding:0 12px;font-size:12px;border-radius:6px}
.mbtn:disabled{opacity:.55;cursor:not-allowed}
.mhelp{font-size:12px;color:var(--muted);margin-top:6px}
/* 金额快捷 */
.mamounts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mamounts button{height:36px;min-width:76px;padding:0 14px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;font-size:13px}
.mamounts button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:700}
/* 状态 */
.st{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:20px;white-space:nowrap}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-pending{background:var(--gray-soft);color:#64748b}
.st-paying{background:#e0edff;color:#1d4ed8}
.st-success{background:var(--green-soft);color:var(--green)}
.st-failed,.st-closed{background:var(--red-soft);color:var(--red)}
.st-closed{background:var(--amber-soft);color:var(--amber)}
/* 表格 */
.mtable{width:100%;border-collapse:collapse;font-size:13px}
.mtable th{background:#f8fafc;text-align:left;padding:11px 10px;color:#5b6577;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line)}
.mtable td{padding:11px 10px;border-bottom:1px solid #f1f4f9;vertical-align:middle}
.mtable tr:last-child td{border-bottom:none}
.mtable tr:hover td{background:#fafbff}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.mmoney{color:#e11d48;font-weight:700}
/* 工具条 */
.mtoolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.mtoolbar .sp{flex:1}
.msearch{position:relative}
.msearch input{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 12px 0 32px;width:240px;outline:none}
.msearch input:focus{border-color:var(--brand)}
.msearch::before{content:"🔍";position:absolute;left:10px;top:9px;font-size:13px;opacity:.5}
.mtabs{display:flex;gap:6px;flex-wrap:wrap}
.mtabs button{height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--line);background:#fff;font-size:12px;cursor:pointer;color:#5b6577}
.mtabs button.on{background:var(--text);border-color:var(--text);color:#fff;font-weight:600}
/* 分页 */
.mpager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px;font-size:12px;color:var(--muted)}
.mpager button{height:30px;min-width:30px;padding:0 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}
.mpager button.on{background:var(--text);color:#fff;border-color:var(--text)}
/* 统计卡 */
.mstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.mstat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}
.mstat .k{font-size:12px;color:var(--muted);margin-bottom:6px}
.mstat .v{font-size:22px;font-weight:800}
.mstat .s{font-size:11px;color:var(--muted);margin-top:4px}
/* 二维码结果 */
.mqr{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}
.mqr .cell{flex:1;min-width:220px;text-align:center;background:#fafbff;border:1px dashed var(--line);border-radius:var(--radius);padding:16px}
.mqr img{max-width:200px;border-radius:8px}
/* 信息表 */
.minfo{width:100%;border-collapse:collapse;font-size:13px}
.minfo td,.minfo th{padding:11px 12px;border-bottom:1px solid #f1f4f9;text-align:left}
.minfo th{width:130px;color:var(--muted);font-weight:400;background:#fafbff}
.mtag{display:inline-block;background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:2px 8px;font-size:12px;margin:0 4px 4px 0}
code.mcode{background:#f1f3f9;border-radius:6px;padding:2px 8px;font-size:12px;font-family:ui-monospace,Menlo,monospace}
.malert{border-radius:8px;padding:12px 14px;font-size:13px;margin-bottom:14px}
.malert-warn{background:var(--amber-soft);color:#92400e;border:1px solid #f5dfb8}
.malert-info{background:var(--brand-soft);color:#1e40af;border:1px solid #c9d9fb}
.mempty{text-align:center;color:var(--muted);padding:36px 10px;font-size:13px}
@media(max-width:760px){.mstats{grid-template-columns:repeat(2,1fr)}.mform .frow{flex-direction:column;align-items:stretch}.mform label.flab{text-align:left;width:auto}.msearch input{width:100%}.mtoolbar{flex-direction:column;align-items:stretch}}
