:root {
  --primary:#FF6B9D; --purple:#7B5EA7; --magenta:#C8509A;
  --ink:#2d2438; --muted:#7a6d8a; --bg:#f8f5fb;
  --card:#fff; --border:#efe8f6; --radius:12px;
}
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--ink); }
.admin-app { max-width:720px; margin:0 auto; padding:16px 14px 40px; }
.admin-header { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.admin-logo { width:48px; height:48px; border-radius:50%; background:#fff; padding:3px; box-shadow:0 4px 14px rgba(123,94,167,.18); }
.admin-header h1 { margin:0; font-size:20px; }
.admin-header h1 span { font-family:Georgia,serif; color:var(--purple); }
.admin-header p { margin:4px 0 0; font-size:12.5px; color:var(--muted); }
.card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; margin-bottom:16px; box-shadow:0 2px 10px rgba(123,94,167,.06); }
.card h2 { margin:0 0 16px; font-size:16px; color:var(--purple); }
.field { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }
.field.inline { flex-direction:row; align-items:center; gap:10px; }
.field span { font-size:12.5px; color:var(--muted); }
.field.inline span { flex:none; }
input[type="password"], input[type="number"], input[type="text"] {
  padding:9px 11px; border:1px solid var(--border); border-radius:8px; font-size:14px; outline:none;
}
input[type="number"] { width:100px; }
.btn-primary { background:linear-gradient(90deg,var(--primary),var(--magenta)); color:#fff; border:none; border-radius:24px; padding:10px 22px; font-size:14px; font-weight:600; cursor:pointer; }
.btn-share { background:#f1ebf7; color:var(--purple); border:none; border-radius:20px; padding:8px 16px; font-size:13px; font-weight:600; cursor:pointer; }
.btn-share.ghost { background:transparent; border:1px solid var(--border); color:var(--muted); }
.form-hint { font-size:11.5px; color:var(--muted); margin-top:8px; }

.setting-row { display:flex; align-items:center; gap:14px; margin-bottom:14px; flex-wrap:wrap; }
.setting-label { display:flex; flex-direction:column; }
.setting-label b { font-size:13.5px; }
.setting-label span { font-size:11.5px; color:var(--muted); }
.switch { position:relative; display:inline-block; width:48px; height:26px; }
.switch input { opacity:0; width:0; height:0; }
.slider { position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:#ddd3e6; border-radius:26px; transition:.25s; }
.slider::before { position:absolute; content:""; height:20px; width:20px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:.25s; }
input:checked + .slider { background:linear-gradient(90deg,var(--primary),var(--magenta)); }
input:checked + .slider::before { transform:translateX(22px); }

.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:20px; }
.stat-card { background:linear-gradient(160deg,#faf3ff,#fdeef6); border:1px solid var(--border); border-radius:10px; padding:14px; text-align:center; }
.stat-num { font-size:24px; font-weight:800; color:var(--magenta); }
.stat-label { font-size:12px; color:var(--muted); margin-top:4px; }
.chart-box { margin-top:18px; }
.chart-box h3 { font-size:13px; color:var(--ink); margin:0 0 10px; }
.bar-chart { display:flex; align-items:flex-end; gap:8px; height:120px; padding:10px; background:#faf8fc; border:1px solid var(--border); border-radius:10px; }
.bar { flex:1; background:linear-gradient(180deg,var(--primary),var(--magenta)); border-radius:6px 6px 0 0; min-height:4px; position:relative; }
.bar-label { position:absolute; bottom:-18px; left:50%; transform:translateX(-50%); font-size:10px; color:var(--muted); white-space:nowrap; }
.bar-val { position:absolute; top:-16px; left:50%; transform:translateX(-50%); font-size:10px; color:var(--magenta); }

.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:12px; }
th, td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--border); }
th { color:var(--muted); font-weight:600; }
td { color:#4a4458; }
.admin-footer { text-align:center; font-size:11.5px; color:var(--muted); margin-top:20px; }
.hidden { display:none !important; }

/* 代理后台新增样式 */
.card h2 { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sub-h { font-size:14px; color:var(--purple); margin:18px 0 10px; }
.sub-soft { color:var(--muted); font-size:11px; }
.empty-hint { font-size:12px; color:var(--muted); margin-top:10px; }
.err { color:#d9534f; font-size:12.5px; margin-top:10px; min-height:16px; }
code { background:#f1ebf7; color:var(--purple); padding:1px 6px; border-radius:6px; font-size:11.5px; }

.order-form { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; margin-bottom:6px; }
.order-form .field { margin-bottom:0; }
.order-form select { padding:9px 11px; border:1px solid var(--border); border-radius:8px; font-size:14px; background:#fff; outline:none; }

.reconcile-actions { display:flex; align-items:center; gap:14px; margin:16px 0 6px; flex-wrap:wrap; }
#agents-table td, #reconcile-table td { white-space:nowrap; }
#agents-table, #reconcile-table { font-size:12px; }

@media (max-width:600px){
  .order-form { flex-direction:column; align-items:stretch; }
  .order-form .field { flex-direction:column; align-items:stretch; }
  .order-form .field input, .order-form .field select { width:100%; }
  #agents-table, #reconcile-table { font-size:11px; }
}

