/* 全站基础排版；品牌、状态和组件颜色统一读取 theme.css。 */
body{margin:0;background:var(--mpay-background);color:var(--mpay-text);font-family:"Helvetica Neue",Helvetica,"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:14px}
.mpay-shell{max-width:1120px;margin:0 auto;padding:30px 24px}header{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:550}
a{color:var(--mpay-link)}a:hover{color:var(--mpay-primary-dark)}.mpay-logo{display:block;object-fit:contain;max-width:100%;height:auto;flex-shrink:0}
.payment-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle}.payment-logo{display:inline-block;max-width:150px;height:34px;object-fit:contain}
.auth-page{background:var(--mpay-background);min-height:100vh}
.auth-brand{display:flex;flex-direction:column;text-align:center;gap:0}.auth-brand .mpay-logo{width:180px;height:auto}.auth-brand p{font-size:13px;font-weight:400;color:var(--mpay-muted);letter-spacing:3px;line-height:2;margin:20px 0 0}
.mpay-help,.admin-help{color:var(--mpay-muted);font-size:13px;line-height:1.8;margin:10px 0 20px}
h1{font-size:28px;line-height:1.5;margin:10px 0;font-weight:550}h2{font-weight:550}.layui-card{border:1px solid var(--mpay-border);border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.025)}
.layui-card-header{height:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom-color:var(--mpay-border)}.layui-card-body{padding:20px}


.layui-input,.layui-textarea,.layui-select{border-radius:3px;border-color:var(--mpay-border);font-size:14px}.layui-input:focus,.layui-textarea:focus,.layui-select:focus{border-color:var(--mpay-primary)!important;box-shadow:0 0 0 2px var(--mpay-focus-ring)}
input[type=checkbox],input[type=radio]{accent-color:var(--mpay-primary)}.layui-table{color:var(--mpay-text)}.layui-table thead tr{background:var(--mpay-surface-muted)}.layui-table th{font-weight:500}
footer{color:var(--mpay-muted);font-size:12px;line-height:1.9;margin-top:24px}code{overflow-wrap:anywhere}[aria-busy=true] button{cursor:wait}.mpay-badge{font-size:12px;background:var(--mpay-primary-soft);color:var(--mpay-primary-dark);border-radius:3px;padding:5px 10px;margin-left:auto}
.mpay-intro{padding:42px 0 24px}.mpay-eyebrow{color:var(--mpay-primary-dark);letter-spacing:2px}#feedback{color:var(--mpay-muted)}
@media(max-width:600px){.mpay-shell{padding:20px 12px}h1{font-size:24px}.layui-card-body{padding:16px}.auth-brand p{letter-spacing:2px}}
