:root {
  --bg:#f5f6f8; --panel:#fff; --soft:#f8f9fb; --text:#202631;
  --muted:#626d7d; --line:#e2e6ed; --line-strong:#c6ceda;
  --accent:#2d5fab; --accent-soft:#edf3fc; --danger:#a33034;
  --success:#22664b; --warning:#8a5d19; --radius:6px;
  --overlay:rgba(27,35,48,.45); --shadow:0 14px 48px rgba(24,34,50,.16);
  color-scheme:light; font-family:"Microsoft YaHei","Segoe UI",sans-serif; font-size:13px;
}
* {box-sizing:border-box}
body {margin:0;background:var(--bg);color:var(--text);line-height:1.6}
button,input,select,textarea {font:inherit}
button {cursor:pointer}
button:disabled {cursor:wait;opacity:.5}
button,input,select,textarea {border:1px solid var(--line-strong);border-radius:var(--radius)}
button {background:var(--panel);color:var(--text);min-height:34px;padding:6px 12px;white-space:nowrap}
button:hover:not(:disabled) {background:var(--soft);border-color:var(--muted)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
input,select,textarea {background:var(--panel);color:var(--text);min-height:36px;padding:7px 10px;min-width:0;max-width:100%}
textarea {min-height:76px;resize:vertical}
label {display:grid;gap:6px;min-width:0}
label>span {color:var(--muted);font-size:12px}
h1,h2,h3,p {margin:0}
h1 {font-size:15px;font-weight:650;letter-spacing:.02em}
h2 {font-size:20px;line-height:1.5;font-weight:650}
h3 {font-size:14px;font-weight:650}
p {color:var(--muted)}
.hidden {display:none!important}
.skip-link {position:fixed;top:-100px;left:12px;z-index:200;background:var(--panel);padding:8px;color:var(--accent)}
.skip-link:focus {top:10px}
.shell {display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}
.sidebar {background:var(--panel);border-right:1px solid var(--line);padding:25px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:26px}
.brand {display:flex;gap:10px;align-items:center}
.brand p {font-size:11px;margin-top:3px}
.mark {background:var(--accent);color:var(--panel);display:grid;place-items:center;width:32px;height:32px;border-radius:7px;font-size:17px;font-weight:700;flex:none}
.nav {display:grid;gap:5px}
.nav-item {display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid transparent;min-height:39px;padding:8px 11px;color:var(--muted)}
.nav-item.active {color:var(--accent);background:var(--accent-soft);font-weight:650;border-color:var(--accent-soft)}
.count {font-size:10px;color:var(--muted);font-weight:400}
.sidebar-note {margin-top:auto;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:14px 4px 0;line-height:1.9}
.workspace {padding:24px 28px 36px;min-width:0}
.topbar {display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.title p {font-size:12px;margin-top:3px}
.top-actions {display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.button.primary,.login-submit {background:var(--accent);border-color:var(--accent);color:var(--panel)}
.button.primary:hover:not(:disabled),.login-submit:hover:not(:disabled) {filter:brightness(.94);background:var(--accent);border-color:var(--accent)}
.button.danger {color:var(--danger)}
.stats {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}
.stat-card {padding:13px 15px;border-right:1px solid var(--line);min-width:0}
.stat-card:last-child {border-right:0}
.stat-card>span {font-size:11px;color:var(--muted);display:block}
.stat-card strong {display:block;font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin-top:6px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.stat-card small {font-size:10px;color:var(--muted);display:block;margin-top:5px}
.tab-panel {display:none}
.tab-panel.active {display:block}
.panel {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}
.panel-head {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.panel-head p {font-size:11px;margin-top:4px;line-height:1.7}
.stack {display:grid;gap:16px;min-width:0}
.promoter-overview-grid {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:16px;align-items:start}
.invite-box {padding:14px 16px;display:grid;gap:10px}
.invite-code {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:var(--soft);border:1px solid var(--line);border-radius:4px}
.invite-code>span {overflow-wrap:anywhere;font-family:Consolas,"Microsoft YaHei",monospace;font-size:13px;min-width:0}
.mini-button {font-size:11px;min-height:30px;padding:4px 8px}
.profile-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;padding:16px}
.profile-item span {display:block;color:var(--muted);font-size:11px}
.profile-item strong {display:block;margin-top:5px;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.table-wrap {overflow:auto;max-width:100%;scrollbar-gutter:stable}
.tab-panel:not([data-panel="overview"]) .table-wrap {max-height:max(200px,calc(100dvh - 345px))}
.table-wrap th {position:sticky;top:0;z-index:1}
table {border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
th {font-weight:500;font-size:11px;background:var(--soft);color:var(--muted)}
th,td {padding:11px 14px;border-bottom:1px solid var(--line)}
td strong {font-weight:500}
tbody tr:last-child td {border-bottom:0}
tbody tr:hover {background:var(--soft)}
.empty-row {color:var(--muted);text-align:center;padding:44px 16px;white-space:normal}
.muted {font-size:11px;color:var(--muted)}
.tag,.badge {display:inline-block;padding:2px 6px;font-size:10px;border-radius:4px;background:var(--soft);color:var(--muted)}
.tag.green {color:var(--success);background:#eff8f2}
.tag.orange {color:var(--warning);background:#fbf6eb}
.tag.blue {color:var(--accent);background:var(--accent-soft)}
.tag.red {color:var(--danger);background:#fbf0f0}
.list-toolbar {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.list-search {display:flex;align-items:center;gap:9px}
.list-search>span {white-space:nowrap;font-size:11px}
.list-search input {width:205px;min-height:32px;padding:5px 9px;font-size:12px}
.pagination {display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pagination>span {font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.secondary-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;padding:16px;border-top:1px solid var(--line)}
.rate-inline {display:flex;align-items:center;gap:5px}
.rate-inline input {width:75px;min-height:30px;padding:4px 7px;font-size:12px}
.withdraw-modal {position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:var(--overlay)}
.withdraw-modal>.panel {width:min(650px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:var(--shadow)}
.form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:18px}
.form-actions {grid-column:1/-1;display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}
.message {padding:10px 12px;border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:4px;font-size:12px;overflow-wrap:anywhere}
#promoter-load-message {margin-bottom:14px}
#secondary-message {margin:12px 16px}
.toast {position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:11px 18px;max-width:min(640px,90vw);border-radius:6px;background:var(--text);color:var(--panel);z-index:150;font-size:12px;box-shadow:var(--shadow)}
.login-screen {display:grid;grid-template-columns:1fr 410px;gap:72px;align-items:center;max-width:1060px;min-height:100vh;margin:auto;padding:50px 32px}
.promoter-login-copy {display:grid;gap:56px}
.promoter-login-copy h2 {font-size:34px;font-weight:600;letter-spacing:-.03em;margin:8px 0 16px}
.hero-kicker {font-size:11px;color:var(--accent)}
.hero-copy {max-width:430px;font-size:13px;line-height:1.95}
.login-points {display:grid;gap:15px;border-top:1px solid var(--line);padding-top:24px}
.login-points>div {display:flex;gap:16px;align-items:baseline}
.login-points strong {font-size:12px;font-weight:550;flex:none}
.login-points span {font-size:11px;color:var(--muted)}
.login-panel {background:var(--panel);padding:32px;border:1px solid var(--line);border-radius:8px}
.login-head h3 {font-size:19px}
.login-head p {font-size:12px;margin-top:6px}
.form {display:grid;gap:18px;margin-top:25px}
.login-submit {margin-top:4px;min-height:40px}
@media(min-width:1600px) { .workspace {padding:28px 36px}.stat-card {padding:16px 22px}.stat-card strong {font-size:24px}.promoter-overview-grid {grid-template-columns:minmax(0,1.8fr) minmax(350px,1fr)} }
@media(max-width:1280px) { .shell {grid-template-columns:190px minmax(0,1fr)}.workspace {padding:20px}.sidebar {padding:22px 12px}.stat-card {padding:12px 10px}.stat-card strong {font-size:18px}.stat-card small {font-size:9px}.top-actions {gap:5px}.top-actions button {font-size:11px;padding:6px 8px}.promoter-overview-grid {grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)} }
@media(max-width:1050px) { .stats {grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card {border-bottom:1px solid var(--line)}.promoter-overview-grid {grid-template-columns:1fr}.topbar {align-items:flex-start}.top-actions {max-width:360px}.list-toolbar {align-items:flex-start;flex-wrap:wrap}.pagination {margin-left:auto}.secondary-form {grid-template-columns:repeat(2,minmax(0,1fr))}.login-screen {gap:32px;grid-template-columns:1fr 370px} }
@media(max-width:760px) { .shell {display:block}.sidebar {position:static;height:auto;padding:15px;border-right:0;border-bottom:1px solid var(--line);gap:14px}.sidebar>.brand {padding-left:4px}.sidebar-note {display:none}.nav {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.nav-item {font-size:11px;padding:7px 4px;justify-content:center;min-height:35px}.count {display:none}.workspace {padding:16px}.topbar {flex-wrap:wrap;gap:10px;margin-bottom:14px;padding-bottom:14px}.top-actions {max-width:none;justify-content:flex-start}.stats {margin-bottom:14px}.stat-card strong {font-size:18px}.stat-card small {display:none}.list-search input {width:170px}.login-screen {display:block;min-height:100vh;max-width:480px;padding:30px 22px}.promoter-login-copy {gap:24px}.promoter-login-copy h2 {font-size:25px;margin-bottom:10px}.login-points,.hero-copy {display:none}.login-panel-wrap {margin-top:25px}.login-panel {padding:24px}.withdraw-modal {padding:12px}.withdraw-modal>.panel {max-height:calc(100dvh - 24px)} }
@media(max-width:430px) { .workspace {padding:12px}.stats {grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid {grid-template-columns:1fr;padding:15px}.secondary-form {grid-template-columns:1fr}.profile-grid {gap:12px}.list-toolbar {padding:12px}.pagination {width:100%;justify-content:space-between}.pagination>span {margin-right:auto}.top-actions {gap:5px}.top-actions button {font-size:10px;min-height:32px}.invite-code {align-items:flex-start;gap:8px}.invite-code>span {font-size:11px}.mini-button {font-size:10px}.nav-item {font-size:10px}.panel-head p {font-size:10px} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important} }
