:root {
  --blue:#1677ff; --blue-dark:#075bd8; --blue-soft:#eaf3ff;
  --green:#0a9f6e; --green-soft:#e7f7f1; --orange:#ee8611;
  --orange-soft:#fff4df; --red:#dc3d43; --red-soft:#fff0f0;
  --ink:#172033; --sub:#667085; --line:#e2e8f0; --bg:#f4f7fb; --card:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
}
*{box-sizing:border-box} body{margin:0;color:var(--ink);background:var(--bg);letter-spacing:0}
button,input,select{font:inherit} button{cursor:pointer} .hidden{display:none!important}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef5ff}
.login-card{width:min(400px,100%);padding:28px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px rgba(35,55,90,.12)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#fff;font-size:24px;font-weight:900}
.brand strong,.brand small{display:block}.brand strong{font-size:19px}.brand small{margin-top:2px;color:var(--sub);font-size:12px}
.login-card h1{margin:28px 0 8px;font-size:26px}.login-card>p{margin:0 0 22px;color:var(--sub);font-size:14px}
label{display:block;color:#344054;font-size:13px;font-weight:700}.login-card label+label{margin-top:14px}
input,select{width:100%;height:42px;margin-top:7px;padding:0 12px;border:1px solid #d7deea;border-radius:6px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,119,255,.12)}
button{min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:700}
.primary{border-color:var(--blue);background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}
.danger{border-color:var(--red);color:var(--red);background:#fff}.wide{width:100%;margin-top:20px}.form-message{min-height:20px;margin:12px 0 0;color:var(--red);font-size:13px}
.workspace{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid var(--line);background:#fff}
.brand.compact{padding:0 8px 22px}.desktop-nav{display:grid;gap:4px}
.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:var(--sub);text-align:left}
.nav-item span,.bottom-nav span{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#f0f3f7;font-size:12px}
.nav-item.active{color:var(--blue);background:var(--blue-soft)}.nav-item.active span{background:#fff}
.content{min-width:0;max-width:1240px;width:100%;padding:0 24px 40px;margin:0 auto}
.topbar{position:sticky;top:0;z-index:10;min-height:66px;display:flex;align-items:center;justify-content:space-between;background:rgba(244,247,251,.96);border-bottom:1px solid rgba(226,232,240,.8)}
.topbar strong,.topbar small{display:block}.topbar strong{font-size:21px}.topbar small{margin-top:3px;color:var(--sub);font-size:12px}
.icon-button{width:38px;padding:0;font-size:21px}.view{display:none;padding-top:18px}.view.active{display:block}
.summary-card{padding:22px;border-radius:8px;color:#fff;background:#176fe5}.summary-head{display:flex;justify-content:space-between;align-items:center}
.summary-head b{padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.16);font-size:13px}
.summary-money{margin:24px 0}.summary-money small,.summary-money strong{display:block}.summary-money strong{margin-top:5px;font-size:34px}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;padding-top:16px;border-top:1px solid rgba(255,255,255,.28)}
.summary-grid div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.28)}.summary-grid span,.summary-grid b{display:block}.summary-grid span{font-size:12px;opacity:.84}.summary-grid b{margin-top:5px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.metric,.panel{border:1px solid var(--line);border-radius:8px;background:#fff}.metric{padding:16px}.metric span,.metric b{display:block}.metric span{color:var(--sub);font-size:12px}.metric b{margin-top:8px;font-size:20px}
.panel{padding:18px;margin-bottom:14px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.panel h2{margin:0;font-size:17px}.panel-head p{margin:5px 0 0;color:var(--sub);font-size:12px}.text-button{padding:0;border:0;background:transparent;color:var(--blue)}
.progress-item{margin-top:14px}.progress-label{display:flex;justify-content:space-between;gap:10px;color:var(--sub);font-size:12px}.progress-track{height:8px;margin-top:7px;border-radius:4px;background:#edf1f6;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:4px;background:var(--green)}
.notice{border-color:#f6d39c;background:var(--orange-soft)}.growth-current{padding:14px;border-left:3px solid var(--blue);background:var(--blue-soft)}
.level-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.level-card{padding:14px;border:1px solid var(--line);border-radius:8px}.level-card.active{border-color:var(--blue);background:var(--blue-soft)}.level-card h3{margin:0 0 10px}.level-card p{margin:5px 0;color:var(--sub);font-size:12px}
.segment{display:flex;gap:4px;width:max-content;max-width:100%;margin-bottom:14px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.segment button{border:0;background:transparent;color:var(--sub)}.segment button.active{background:var(--blue-soft);color:var(--blue)}
.invite-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invite-card{padding:14px;border:1px solid var(--line);border-radius:8px}.invite-card h3{margin:0 0 8px}.invite-link{min-height:42px;padding:10px;background:#f6f8fb;color:var(--sub);font-size:12px;word-break:break-all}.invite-actions{display:flex;gap:8px;margin-top:10px}.invite-actions button{flex:1}
.filter-bar{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(130px,.8fr) 150px 150px auto auto;gap:8px;padding:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.filter-bar input,.filter-bar select{margin:0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);font-size:13px;text-align:left;vertical-align:top}.data-table th{color:var(--sub);background:#f8fafc;font-size:12px}.data-table tr:last-child td{border-bottom:0}
.status{display:inline-flex;padding:4px 7px;border-radius:5px;background:#eef2f6;color:#526070;font-size:12px}.status.green{background:var(--green-soft);color:var(--green)}.status.orange{background:var(--orange-soft);color:#b45d00}.status.red{background:var(--red-soft);color:var(--red)}
.empty,.loading{padding:44px 16px;text-align:center;color:var(--sub);border:1px solid var(--line);border-radius:8px;background:#fff}.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;color:var(--sub);font-size:12px}
.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.detail-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-row span{color:var(--sub)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.form-grid button{margin:0}
.page-message{position:sticky;top:66px;z-index:9;padding:10px 13px;border:1px solid #ffd5d5;border-radius:6px;background:#fff2f2;color:var(--red);font-size:13px}.toast{position:fixed;z-index:100;left:50%;bottom:28px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 16px;border-radius:6px;background:#172033;color:#fff;font-size:13px}
.bottom-nav{display:none}
@media(max-width:900px){
  .workspace{display:block}.sidebar{display:none}.content{padding:0 14px 88px}.topbar{min-height:56px}.topbar strong{font-size:18px}.topbar small{display:none}.view{padding-top:12px}
  .metric-grid{grid-template-columns:1fr 1fr}.level-list{grid-template-columns:1fr}.invite-grid{grid-template-columns:1fr}
  .filter-bar{grid-template-columns:1fr 1fr}.filter-bar input:first-child{grid-column:1/-1}.filter-bar button{min-width:0}
  .detail-list,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.page-message{top:56px}
  .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:68px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff}
  .bottom-nav button{min-width:0;padding:7px 2px 5px;border:0;border-radius:0;background:transparent;color:var(--sub);font-size:11px}.bottom-nav span{margin:0 auto 3px}.bottom-nav button.active{color:var(--blue)}.bottom-nav button.active span{background:var(--blue-soft)}
}
@media(max-width:480px){
  .login-page{padding:14px}.login-card{padding:22px}.summary-card{padding:18px}.summary-money strong{font-size:30px}
  .metric{padding:13px}.metric b{font-size:18px}.panel{padding:14px}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar select{grid-column:1/-1}
}
