*{box-sizing:border-box}
:root{--bg:#f6f7f9;--card:#fff;--text:#15171a;--muted:#767b84;--line:#e6e8ec;--blue:#1677ff;--red:#d9363e;--green:#218739;--yellow:#fff5c2}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(760px,100%);margin:auto;padding:22px 14px 44px}
.customer-head{text-align:center;padding:10px 6px 8px}
.customer-head h1{font-size:25px;margin:0 0 8px}
.customer-head p,.muted{color:var(--muted)}
.pay-section{margin-top:22px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.section-title h2{font-size:19px;margin:0}
.section-title span{font-size:13px;color:var(--muted)}
.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qr-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}
.qr-name{font-size:19px;font-weight:700;margin-bottom:14px}
.qr-image{display:block;width:min(100%,300px);height:auto;margin:auto;background:#fff;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}
.qr-hint{color:var(--muted);font-size:14px;margin-top:12px}
.empty{background:var(--card);padding:28px;border-radius:16px;text-align:center;margin-top:22px;border:1px solid var(--line)}
footer{text-align:center;font-size:12px;color:#999;margin-top:28px}
.admin-wrap{width:min(1100px,100%);margin:auto;padding:24px 14px 50px}
.admin-wrap.narrow{width:min(480px,100%);padding-top:60px}
.admin-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.admin-head h1,.panel h1{margin:0 0 6px;font-size:25px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin:16px 0}
.panel h2{font-size:19px;margin:0 0 16px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.panel-head h2{margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}
.stats span{font-size:13px;color:var(--muted);display:block}
.stats strong{font-size:28px;margin-top:4px;display:block}
.form{display:grid;gap:13px}
.form label{display:grid;gap:7px;font-size:14px;color:#4a4f56}
.form input,.form select,.form textarea{width:100%;border:1px solid #d8dbe0;background:#fff;border-radius:11px;padding:11px 12px;outline:none;font-size:16px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(22,119,255,.12)}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid2 .full{grid-column:1/-1}
.primary,.ghost,.danger{border-radius:11px;border:0;padding:10px 15px;font-weight:600}
.primary{background:var(--blue);color:#fff}
.ghost{background:#fff;border:1px solid var(--line);color:var(--text)}
.danger{background:#fff0f0;color:var(--red);border:1px solid #ffd4d4}
.small{padding:8px 12px;font-size:14px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.alert{padding:12px 14px;border-radius:12px;margin:12px 0}
.alert.green{background:#edf9f0;color:#206b33}
.alert.red{background:#fff0f0;color:#a5282d}
.admin-list{display:grid;gap:12px}
.admin-card{border:1px solid var(--line);border-radius:15px;padding:16px}
.admin-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.admin-card h3{margin:0 0 5px;font-size:18px}
.admin-card p{margin:0}
.quota{margin-top:12px;border-radius:12px;background:#f4f6f8;padding:11px;display:flex;gap:12px;flex-wrap:wrap;font-size:13px}
.quota strong{margin-left:auto}
.quota em{font-style:normal;width:100%;font-weight:700}
.quota-yellow{background:var(--yellow)}
.quota-red{background:#fff0f0;color:#9d272d}
details{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
summary{cursor:pointer;font-weight:600;color:#4b5159}
details .form{margin-top:14px}
.secondary-actions{margin-top:12px}
.password-row{grid-template-columns:1fr auto;align-items:end}
.logs{display:grid;gap:8px}
.logs div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #f0f1f3;font-size:13px}
.logs time{color:var(--muted);min-width:140px}
@media(max-width:640px){
  .qr-grid{grid-template-columns:1fr}
  .qr-card{padding:16px}
  .qr-image{width:min(100%,310px)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:1fr}
  .grid2 .full{grid-column:auto}
  .panel-head,.admin-head{align-items:stretch;flex-direction:column}
  .password-row{grid-template-columns:1fr}
  .logs div{display:block}
  .logs time{display:block;margin-bottom:3px}
}
