/* 队伍工作台的紧凑名单与编辑布局；复用全系统主题和数据红绿语义。 */
*{box-sizing:border-box}body{margin:0;font-size:13px;line-height:1.65}main{max-width:1480px;margin:auto;padding:0 4% 32px}h2,h3,h4,p{margin:0}h2{font-size:19px}h3{font-size:15px;margin-bottom:8px}h4{font-size:12px}a{text-decoration:none}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);border-radius:4px;cursor:pointer;padding:6px 10px;min-height:32px}input,select,textarea{padding:6px 8px;border:1px solid #cfc7b9;border-radius:4px;min-width:0;max-width:100%;background:var(--surface);color:var(--ink)}textarea{resize:vertical;min-height:70px;width:100%}button:disabled{cursor:default}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.65}label{font-size:11px;display:grid;gap:4px}.muted{font-size:12px}.mini{font-size:11px}.card{border:1px solid var(--line);padding:16px;min-width:0}.count{padding:1px 6px;font-size:11px}.section-top,.page-heading,.member-heading,.actions,.add-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.page-heading{margin:0 0 16px}.page-heading h2{font-size:24px;letter-spacing:1px}.page-heading p{margin-top:3px}.page-heading button{font-size:11px;white-space:nowrap}.line-tabs{display:flex;gap:6px;margin-bottom:14px}.line-tabs button{flex:1;border:1px solid var(--line);color:var(--muted);padding:8px 10px;max-width:210px;border-bottom:3px solid #bf8c78}.line-tabs button[data-index="1"]{border-bottom-color:#8099bc}.line-tabs button[data-index="2"]{border-bottom-color:#aa8bb9}.line-tabs button[data-index="3"]{border-bottom-color:#c4a45d}.line-tabs button[aria-pressed="true"]{background:var(--navy);color:#f8ead0;border-color:var(--navy);border-bottom-color:var(--gold)}.team-layout{display:grid;grid-template-columns:315px minmax(0,1fr);gap:16px;align-items:start}.roster-card{padding:14px;position:sticky;top:80px}.roster-card h2{font-size:17px}.roster-card #addSearch{width:100%;margin:10px 0 6px}.add-row select{flex:1;width:0}.add-row button{white-space:nowrap;font-size:12px}.roster-card .mini{margin:9px 0}.roster-list{max-height:calc(100vh - 365px);min-height:120px;overflow:auto;scrollbar-width:thin;padding:2px 2px 2px 0}.roster-item{display:flex;align-items:center;gap:4px;border-top:1px solid var(--line);padding:7px 0}.member-pick{display:grid;gap:3px;text-align:left;flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:4px;padding:6px 8px}.member-pick strong{font-family:var(--serif);font-size:16px}.member-pick small{font-size:10px;font-weight:400;line-height:1.5;color:var(--muted);white-space:normal;overflow-wrap:anywhere}.member-pick[aria-pressed="true"]{background:var(--soft-blue);border-color:#c3c7d2;box-shadow:inset 3px 0 var(--crimson)}.member-pick[aria-pressed="true"] strong{color:var(--crimson)}.roster-order{display:grid;gap:3px}.roster-order button{font-size:11px;min-height:24px;padding:0 5px;border:1px solid var(--line)}.roster-foot{font-size:11px;border-top:1px solid var(--line);margin-top:8px;padding-top:9px}.status-tag{font-family:system-ui,sans-serif;font-size:10px;padding:2px 5px;background:#ece5d5;color:#795f36;font-weight:400;border-radius:3px;white-space:nowrap}.status-tag.joined{background:#e9edf4;color:#455d7d}.workspace{min-width:0;display:grid;gap:12px}.member-heading{align-items:flex-start}.member-heading h2{font-size:25px}.member-heading .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.member-heading a,.member-heading button{font-size:11px}.member-heading a{padding:5px 8px;border:1px solid var(--line);border-radius:3px}.member-heading p{font-size:11px;margin-top:3px}.origin-strip{display:flex;gap:6px 18px;flex-wrap:wrap;padding:9px 0;margin:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.origin-strip b{color:#5d4960}.goal-fields{display:grid;grid-template-columns:110px minmax(110px,1fr) 110px;gap:10px}.goal-fields select,.goal-fields input{width:100%}.plan-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.section-top .actions{justify-content:flex-end;gap:5px}.section-top button{font-size:11px;padding:3px 8px;min-height:27px}.route-list{display:grid;gap:6px;margin:8px 0}.route-step{display:grid;grid-template-columns:58px minmax(100px,1fr) minmax(100px,1fr) 28px;gap:6px;align-items:center;background:var(--tint);padding:6px;border:1px solid #e5dccd;border-radius:4px}.route-step input,.route-step select{width:100%;font-size:12px;padding:5px}.remove-row{padding:1px;min-height:28px;font-size:16px;border:1px solid var(--line);color:var(--crimson)}.route-labels{display:grid;grid-template-columns:58px 1fr 1fr 28px;gap:6px;padding:0 6px;font-size:10px;color:var(--muted)}.edit-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}.training-row{display:grid;grid-template-columns:minmax(65px,1fr) 64px 67px 28px;gap:6px;align-items:center;margin-top:6px}.training-row select{width:100%;padding:5px 4px;font-size:12px}.training-progress{font-size:10px;color:var(--muted);padding:2px 0 0 3px}.training-progress.good{color:var(--positive)}.training-list p{margin:8px 0}.requirements{font-size:11px;display:grid;gap:7px}.requirement{border-bottom:1px solid #e8dfcf;padding-bottom:7px}.requirement strong{font-size:12px;font-weight:600;color:#735369}.requirement>div{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:4px}.requirement span{font-size:10px;color:var(--muted)}.requirement button{font-size:10px;min-height:24px;padding:1px 6px;border:1px solid #dbcaac;color:#765d3c}.requirement button:hover{background:#f2e7d3}.team-notes{margin-top:12px}.editor-footer{position:sticky;bottom:8px;z-index:7;display:flex;gap:8px;justify-content:space-between;align-items:center;background:#fffaf1f5;border:1px solid #cdbf9f;border-radius:4px;padding:10px 12px;box-shadow:0 4px 20px #20263c12}.editor-footer span{font-size:11px}.editor-footer .actions{gap:6px}.editor-footer button{white-space:nowrap;font-size:12px}.unsaved{color:#986b2c}.analysis-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.analysis-head span{font-size:10px;color:var(--muted)}.tablewrap{overflow:auto;max-width:100%;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{font-size:12px;padding:6px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}tbody tr:last-child td{border-bottom:0}th{font-size:11px}td.gain{font-weight:650;color:var(--positive)}.forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.forecast-grid>div{padding:9px;background:#f5f0e6;border:1px solid #e4d8c4;border-radius:4px}.forecast-grid span{font-size:10px;color:var(--muted)}.forecast-grid strong{display:block;font:600 23px/1.4 Georgia,serif;color:var(--navy)}.forecast-grid small{font-size:10px;color:var(--muted);display:block}.forecast-grid small.gain{color:var(--positive)}.forecast-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.analysis-warnings{margin:10px 0 0}.analysis-warnings p{font-size:11px;color:#826343;padding:3px 0}.analysis-note{font-size:10px;color:var(--muted);margin-top:9px}.fusion-title{font-size:14px;color:#76583b;margin-bottom:6px}.fusion-baseline-note{font-size:11px;color:var(--muted);margin-bottom:6px}.stale-analysis{opacity:.6}.empty{padding:18px 7px;color:var(--muted);text-align:center;font-size:12px}.empty-workspace{text-align:center;padding:55px 25px;min-height:350px}.empty-workspace h2{font-size:22px;margin-bottom:10px}.empty-workspace p{margin-bottom:8px}.empty-emblem{font:80px/1.3 Georgia,serif;color:var(--gold);opacity:.6}#notice{padding:10px 13px;margin-bottom:14px;border:1px solid #c5d2bc;background:#eef3e8;color:#3f6244;border-radius:4px;display:flex;align-items:center;gap:10px}#notice.bad{color:var(--negative);background:#f9e8e3;border-color:#dfb9b0}#notice button{margin-left:auto;font-size:11px;min-height:24px;padding:0 7px;white-space:nowrap}#notice[hidden]{display:none}dialog{padding:22px;max-width:min(620px,calc(100vw - 30px));width:580px;border:1px solid #bea778}dialog h2{margin-bottom:8px}dialog .actions{justify-content:flex-end;margin-top:14px}dialog pre{padding:12px;font:12px/1.8 system-ui;white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;overflow:auto}dialog p{font-size:12px}dialog .bad{color:var(--negative)}footer{font-size:10px;margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
@media(max-width:1150px){.team-layout{grid-template-columns:260px minmax(0,1fr)}.edit-columns,.forecast-layout{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(9,minmax(55px,1fr));overflow:auto}.forecast-grid strong{font-size:21px}.goal-fields{grid-template-columns:100px minmax(100px,1fr) 90px}.member-heading{flex-wrap:wrap}}
@media(max-width:850px){main{padding:0 18px 25px}.team-layout{grid-template-columns:1fr}.roster-card{position:static}.roster-list{max-height:210px;min-height:80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;align-content:start}.roster-card fieldset{display:flex;gap:8px;margin-top:8px}.roster-card #addSearch{margin:0;flex:1;width:0}.add-row{flex:1}.forecast-layout{grid-template-columns:1fr 1fr}.forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.page-heading h2{font-size:22px}.empty-workspace{min-height:250px;padding:20px}}
@media(max-width:560px){main{padding:0 12px 22px}.card{padding:12px}.page-heading{align-items:flex-start}.page-heading h2{font-size:20px}.page-heading p{font-size:11px}.line-tabs{gap:4px}.line-tabs button{font-size:11px;padding:7px 3px}.roster-card fieldset{display:block}.roster-card #addSearch{width:100%;margin-bottom:6px}.roster-list{grid-template-columns:1fr;max-height:200px}.goal-fields{grid-template-columns:90px minmax(100px,1fr) 75px;gap:6px}.goal-fields select,.goal-fields input{font-size:12px;padding:5px}.forecast-layout{grid-template-columns:1fr}.editor-footer{bottom:3px;padding:8px}.editor-footer .actions{gap:4px}.editor-footer button{font-size:11px;padding:5px 7px}.editor-footer span{max-width:82px}.route-step{grid-template-columns:48px minmax(80px,1fr) minmax(75px,1fr) 25px;gap:4px;padding:5px}.route-step select{font-size:11px;padding:5px 2px}.route-labels{grid-template-columns:48px 1fr 1fr 25px;gap:4px}.section-top{gap:5px}.section-top h3{font-size:14px;margin-bottom:0}.section-top .actions{gap:4px}.section-top button{font-size:10px}.member-heading h2{font-size:23px}.origin-strip{gap:4px 12px}.analysis-head{align-items:flex-start;flex-wrap:wrap}.training-row{grid-template-columns:minmax(65px,1fr) 70px 78px 28px}}

/* 预测口径置于数值前，明细独立横向滚动，避免净值被误读为职业面板。 */
.calculation-basis{font-size:11px;line-height:1.8;padding:7px 9px;margin:7px 0;background:#edf0f6;border-left:3px solid #7f8da9;border-radius:3px}
.calculation-basis.fallback{background:#f7edda;border-left-color:#ad8145;color:#7a5733}
.calculation-audit{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:11px}
.calculation-audit summary{cursor:pointer;color:var(--navy);font-weight:600}
.calculation-audit p{margin:8px 0}
.calculation-audit th,.calculation-audit td{font-size:11px;padding:5px 6px}
.calculation-audit .tablewrap{margin:8px 0}
.calculation-audit .entity-icon{width:20px;height:20px}

/* 手机表单允许字段换行，避免最窄屏幕裁掉目标等级和阶段操作。 */
@media(max-width:560px){
  .goal-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .goal-fields label:last-child{grid-column:1/-1}
  .route-step{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 25px}
  .training-row{grid-template-columns:minmax(0,1fr) 60px 65px 26px}
  .section-top{flex-wrap:wrap}
  .section-top button{white-space:nowrap}
}

/* 共用主题最后加载，名单仍保持独立的桌面吸顶与手机自然排布。 */
.teams-page .roster-card{position:sticky;top:80px}
@media(max-width:850px){.teams-page .roster-card{position:static;top:auto}}
