
:root{--bg:#f4f6fa;--card:#fff;--ink:#172033;--muted:#667085;--line:#e4e7ec;--nav:#14213d;--blue:#315efb;--good:#087443;--goodbg:#e7f8ef;--warn:#a15c00;--warnbg:#fff4d8;--bad:#b42318;--badbg:#fee4e2;--purple:#6d28d9;--purplebg:#f0e9ff;--shadow:0 8px 28px rgba(20,33,61,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,input,select,textarea{font:inherit}.app{max-width:1440px;margin:auto;padding:12px 12px 92px}.top{position:sticky;top:0;z-index:30;margin:-12px -12px 12px;padding:11px 12px;background:rgba(244,246,250,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.topline{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.title h1{font-size:21px;margin:0}.title .sub{font-size:11px;color:var(--muted);margin-top:2px}.statusline{font-size:11px;color:var(--muted);margin-top:4px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#98a2b3;margin-right:6px}.dot.ok{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}.dot.warn{background:#f59e0b}.dot.bad{background:#ef4444}
.actions{display:flex;gap:7px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 11px;border-radius:10px;font-weight:800;cursor:pointer}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.small{padding:5px 8px;font-size:11px}.btn.ghost{background:transparent}.btn.danger{color:var(--bad)}
.page-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;position:sticky;top:75px;z-index:20;box-shadow:var(--shadow)}
.page-tab{border:0;background:transparent;padding:9px 5px;border-radius:10px;font-weight:850;color:#475467}.page-tab.active{background:var(--nav);color:#fff}.page{display:none}.page.active{display:block}
.card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.section{margin-bottom:12px}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:13px 14px;border-bottom:1px solid var(--line)}.section-head h2,.section-head h3{font-size:16px;margin:0}.section-body{padding:13px}
.grid{display:grid;gap:10px}.metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}.metric{padding:12px}.metric span{display:block;color:var(--muted);font-size:10px}.metric b{font-size:20px}.metric small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.form-grid{display:grid;grid-template-columns:1.1fr repeat(4,.75fr) auto;gap:8px;align-items:end}.field label{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;color:var(--ink)}.field textarea{min-height:78px}
.notice{padding:10px 12px;border-radius:11px;background:#f8faff;border-left:4px solid var(--blue);font-size:11px;line-height:1.55}.notice.warn{background:var(--warnbg);border-left-color:#f59e0b}.notice.bad{background:var(--badbg);border-left-color:var(--bad)}.notice.good{background:var(--goodbg);border-left-color:var(--good)}
.decision-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:10px}.reco-list{display:grid;gap:9px}.reco{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.reco-top{display:flex;justify-content:space-between;gap:8px}.reco-code{font-size:18px;font-weight:950}.amount{font-size:22px;font-weight:950;color:var(--blue)}.reco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.mini-cell{background:#f8fafc;padding:7px;border-radius:8px;font-size:10px}.mini-cell b{display:block;font-size:12px}.why{font-size:11px;color:#475467;margin-top:8px}.bar{height:6px;border-radius:99px;background:#e5e7eb;overflow:hidden}.bar i{display:block;height:100%;background:#315efb}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;background:#f2f4f7;color:#475467}.pill.good{background:var(--goodbg);color:var(--good)}.pill.warn{background:var(--warnbg);color:var(--warn)}.pill.bad{background:var(--badbg);color:var(--bad)}.pill.purple{background:var(--purplebg);color:var(--purple)}
.audit-list{display:grid;gap:7px}.audit-row{padding:8px;border:1px solid var(--line);border-radius:10px;font-size:10px}.audit-row b{font-size:12px}.score-parts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px}.score-part{background:#f8fafc;border-radius:7px;padding:5px;font-size:9px}.score-part b{display:block;font-size:11px}
.asset-toolbar{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:8px;margin-bottom:10px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.asset-card{padding:11px}.asset-top{display:flex;justify-content:space-between;gap:8px}.asset-code{font-size:17px;font-weight:950}.price{font-size:17px;font-weight:900}.subtle{font-size:10px;color:var(--muted)}.asset-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.asset-stat{background:#f8fafc;border-radius:8px;padding:6px}.asset-stat span{display:block;color:var(--muted);font-size:9px}.asset-stat b{font-size:11px}.asset-actions{display:flex;gap:6px;margin-top:8px}.asset-actions .btn{flex:1}
.holding-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.holding-card{padding:11px}.holding-card .big{font-size:18px;font-weight:900}.pnl-pos{color:var(--good)}.pnl-neg{color:var(--bad)}
.news-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:10px}.news-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:9px}.news-tab.active{background:var(--nav);color:#fff}.news-list{display:grid;gap:8px}.news-item{border:1px solid var(--line);border-radius:11px;padding:10px}.news-item h3{font-size:12px;margin:0 0 5px}.news-item a{color:var(--ink);text-decoration:none}.news-meta{display:flex;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:9px}.source-health{display:grid;gap:7px}.source-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px}.source-row b{font-size:11px}.source-row small{display:block;color:var(--muted);font-size:9px}.health-ok{color:var(--good)}.health-warn{color:var(--warn)}.health-bad{color:var(--bad)}
.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:10px}.market-card{padding:12px}.market-card .big{font-size:24px;font-weight:950}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-box{padding:12px}.settings-box h3{font-size:14px;margin:0 0 8px}
.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px}.bottom-nav button{border:0;background:transparent;padding:7px 3px;border-radius:10px;color:#475467;font-size:11px;font-weight:850}.bottom-nav button b{display:block;font-size:17px}.bottom-nav button.active{background:#eef2ff;color:#3730a3}
dialog{border:0;border-radius:15px;padding:0;max-width:660px;width:94%;box-shadow:0 28px 90px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,23,42,.48)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.dialog-body{padding:14px;max-height:75vh;overflow:auto}.dialog-actions{display:flex;gap:8px;margin-top:12px}.dialog-actions .btn{flex:1}
.toast{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);background:#14213d;color:#fff;padding:9px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:80;max-width:90%;text-align:center}.toast.show{opacity:1}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(3,1fr)}.decision-layout,.news-layout{grid-template-columns:1fr}.asset-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(3,1fr)}.form-grid .action-cell{grid-column:1/-1}.holding-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.app{padding:9px 9px 92px}.top{margin:-9px -9px 10px;padding:10px 9px}.title h1{font-size:18px}.page-tabs{display:none}.bottom-nav{display:grid}.top .actions .btn:not(#refreshAllBtn){display:none}.metrics{grid-template-columns:1fr 1fr}.metric b{font-size:18px}.form-grid{grid-template-columns:1fr 1fr}.asset-toolbar{grid-template-columns:1fr 1fr}.asset-toolbar .wide{grid-column:1/-1}.asset-grid{grid-template-columns:1fr}.reco-grid{grid-template-columns:1fr 1fr}.holding-grid{grid-template-columns:1fr 1fr}.market-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.score-parts{grid-template-columns:1fr 1fr}}

/* 投资计划 additions */
.subtabs{display:flex;gap:6px;overflow:auto;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;position:sticky;top:126px;z-index:15}.subtab{white-space:nowrap}.subtab.active{background:var(--nav);color:#fff;border-color:var(--nav)}
.v11-top-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-bottom:12px}.agenda-list,.check-list,.event-list,.rebalance-list,.history-list{display:grid;gap:8px}.agenda-item,.check-row,.event-card,.rebalance-row,.history-row{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}.agenda-item{display:grid;grid-template-columns:58px 1fr auto;gap:8px;align-items:start}.agenda-date{font-weight:900;font-size:11px;text-align:center;background:#f2f4f7;border-radius:8px;padding:6px}.agenda-date b{display:block;font-size:17px}.event-card{display:grid;grid-template-columns:74px 1fr auto;gap:10px}.event-time{background:#f8fafc;border-radius:9px;padding:7px;text-align:center;font-size:10px}.event-time b{display:block;font-size:15px}.event-title{font-weight:900;font-size:12px}.event-detail{font-size:10px;color:var(--muted);margin-top:4px}.impact-5{border-left:5px solid #b42318}.impact-4{border-left:5px solid #f59e0b}.impact-3{border-left:5px solid #315efb}.impact-2,.impact-1{border-left:5px solid #98a2b3}.event-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.countdown{font-weight:900;font-size:11px;white-space:nowrap}
.check-row{display:grid;grid-template-columns:22px 1fr auto;gap:7px;align-items:center}.check-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-icon.ok{background:var(--goodbg);color:var(--good)}.check-icon.warn{background:var(--warnbg);color:var(--warn)}.check-icon.bad{background:var(--badbg);color:var(--bad)}
.alert-strip{display:none;margin-bottom:10px}.alert-strip.show{display:block}.alert-items{display:flex;gap:6px;overflow:auto}.alert-chip{white-space:nowrap;border:1px solid #fda29b;background:#fff1f0;color:#8a1c13;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}
.compare-bar{display:none;margin-bottom:10px}.compare-bar.show{display:block}.compare-table{overflow:auto}.compare-table table{width:100%;border-collapse:collapse;min-width:660px}.compare-table th,.compare-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;font-size:10px}.compare-table th{background:#f8fafc;position:sticky;top:0}.select-asset{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);margin-top:5px}
.panel{display:none}.panel.active{display:block}.calendar-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.calendar-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}.calendar-stat{padding:10px}.calendar-stat span{font-size:9px;color:var(--muted);display:block}.calendar-stat b{font-size:18px}.source-config{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.source-config .card{padding:9px}.source-config b{display:block;font-size:11px}.source-config small{font-size:9px;color:var(--muted)}
.rebalance-row{display:grid;grid-template-columns:70px 1fr 90px;gap:8px;align-items:center}.weight-track{height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden;position:relative}.weight-track i{display:block;height:100%;background:#315efb}.weight-track em{position:absolute;top:-3px;height:14px;width:2px;background:#b42318}.stress-result{font-size:24px;font-weight:950}.history-row{display:grid;grid-template-columns:1fr auto;gap:8px}.history-assets{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.snapshot-table{overflow:auto}.snapshot-table table{width:100%;border-collapse:collapse}.snapshot-table td,.snapshot-table th{padding:7px;border-bottom:1px solid var(--line);font-size:10px;text-align:left}
.tranches{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.tranche{background:#f8fafc;padding:6px;border-radius:7px;font-size:9px}.tranche b{display:block;font-size:11px}.event-warning{background:#fff1f0;border:1px solid #fda29b;color:#912018;padding:7px;border-radius:8px;font-size:10px;margin-top:7px}.install-card{border:1px dashed #98a2b3;padding:10px;border-radius:11px;margin-top:9px}
@media(max-width:1050px){.v11-top-grid{grid-template-columns:1fr}.calendar-summary{grid-template-columns:repeat(3,1fr)}.source-config{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.subtabs{top:68px}.agenda-item{grid-template-columns:52px 1fr}.agenda-item>.pill{grid-column:2}.event-card{grid-template-columns:60px 1fr}.event-card>.countdown{grid-column:2}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-summary{grid-template-columns:1fr 1fr}.source-config{grid-template-columns:1fr 1fr}.rebalance-row{grid-template-columns:55px 1fr}.rebalance-row>:last-child{grid-column:2}.tranches{grid-template-columns:1fr 1fr 1fr}}

/* 投资计划完整资产池 */
.universe-tag{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;background:#eef2ff;color:#3730a3}
.rank-badge{display:inline-flex;min-width:25px;justify-content:center;padding:2px 5px;border-radius:7px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:900}
.source-line{font-size:9px;color:var(--muted);margin-top:4px}
.asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1250px){.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.asset-grid{grid-template-columns:1fr}}


/* 多因子研究版 */
.research-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}
.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.research-cell{background:#f8fafc;border-radius:8px;padding:7px;font-size:9px}
.research-cell b{display:block;font-size:12px;margin-top:2px}
.range-box{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:8px 0}
.range-item{border:1px solid var(--line);border-radius:9px;padding:8px}
.range-item span{display:block;color:var(--muted);font-size:9px}.range-item b{font-size:13px}
.factor-list{display:grid;gap:5px;margin-top:8px}.factor-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding-bottom:4px;font-size:10px}
.model-warn{background:var(--warnbg);color:var(--warn);padding:7px;border-radius:8px;font-size:10px;margin-top:7px}
.model-ok{background:var(--goodbg);color:var(--good);padding:7px;border-radius:8px;font-size:10px;margin-top:7px}
.entry-mini{font-size:10px;margin-top:7px;padding:7px;background:#f8fafc;border-radius:8px}
.exclusion-list{font-size:9px;color:var(--muted);margin-top:5px}
@media(max-width:680px){.research-grid{grid-template-columns:1fr 1fr}.range-box{grid-template-columns:1fr}}


/* 实时动态区间引擎 */
.dynamic-regime-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.dynamic-regime-card{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}
.dynamic-regime-card span{display:block;color:var(--muted);font-size:9px}
.dynamic-regime-card b{display:block;font-size:18px;margin:2px 0}
.dynamic-meter{height:7px;background:#eaecf0;border-radius:999px;overflow:hidden;margin-top:5px}
.dynamic-meter i{display:block;height:100%;border-radius:999px;background:var(--blue)}
.dynamic-reasons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dynamic-reason-box{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}
.dynamic-reason-box h4{margin:0 0 5px;font-size:11px}
.dynamic-reason-box div{font-size:10px;color:var(--muted);margin:3px 0}
.dynamic-shift{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900;background:#f2f4f7;color:#475467}
.dynamic-shift.up{background:var(--goodbg);color:var(--good)}
.dynamic-shift.down{background:var(--badbg);color:var(--bad)}
.dynamic-detail{border:1px solid var(--line);border-radius:10px;padding:9px;margin-bottom:9px;background:#f8fafc}
.base-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.base-current-grid>div{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff;font-size:9px}
.base-current-grid b{display:block;font-size:11px;margin-top:2px}
.dynamic-factor-list{display:grid;gap:4px;margin-top:7px}
.dynamic-factor-row{display:flex;justify-content:space-between;gap:8px;font-size:10px;border-bottom:1px dashed var(--line);padding-bottom:4px}
@media(max-width:950px){.dynamic-regime-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.dynamic-regime-grid{grid-template-columns:1fr 1fr}.dynamic-reasons{grid-template-columns:1fr}.base-current-grid{grid-template-columns:1fr}}


/* 标的库始终可见 */
.asset-dock{position:fixed;left:50%;bottom:15px;transform:translateX(-50%);z-index:58;display:grid;grid-template-columns:repeat(5,minmax(88px,1fr));gap:5px;background:rgba(20,33,61,.94);backdrop-filter:blur(15px);padding:6px;border-radius:15px;box-shadow:0 12px 35px rgba(16,24,40,.25);max-width:min(780px,calc(100vw - 24px));width:max-content}
.asset-dock button{border:0;background:transparent;color:#d0d5dd;border-radius:10px;padding:5px 9px;font-size:9px;font-weight:800;white-space:nowrap}
.asset-dock button:hover{background:rgba(255,255,255,.10)}.asset-dock button b{display:block;color:#fff;font-size:13px;margin-top:1px}.asset-dock button.all{background:#fff;color:#344054}.asset-dock button.all b{color:#101828}
.universe-drawer{margin:0 0 0 auto;width:min(560px,100vw);max-width:100vw;height:100vh;max-height:100vh;border:0;border-radius:18px 0 0 18px;padding:0;box-shadow:-20px 0 55px rgba(16,24,40,.24);overflow:hidden}
.universe-drawer::backdrop{background:rgba(16,24,40,.45);backdrop-filter:blur(2px)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:2}.drawer-head b{font-size:17px}.drawer-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.drawer-tools{padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.drawer-tools input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px}
.drawer-tabs{display:flex;gap:5px;overflow:auto;margin-top:8px}.drawer-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;white-space:nowrap}.drawer-tabs button.active{background:var(--nav);color:#fff;border-color:var(--nav)}
.drawer-asset-list{height:calc(100vh - 178px);overflow:auto;padding:8px 12px 90px;background:#f7f9fc}
.drawer-group-title{display:flex;justify-content:space-between;align-items:center;margin:10px 2px 5px;font-size:11px;color:#344054}.drawer-group-title b{font-size:12px}
.drawer-row{display:grid;grid-template-columns:minmax(92px,.75fr) minmax(120px,1.4fr) minmax(80px,.75fr);gap:7px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;margin-bottom:5px;cursor:pointer}.drawer-row:hover{border-color:#98a2b3}.drawer-row .code{font-weight:950;font-size:12px}.drawer-row .name{font-size:10px;color:#475467;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-row .right{text-align:right;font-size:10px}.drawer-row .right b{display:block;font-size:11px}.drawer-row .status{font-size:8px;color:var(--muted);margin-top:2px}
.drawer-foot{position:absolute;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:flex;gap:7px}.drawer-foot button{flex:1}
.home-universe-lists{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px}.home-universe-group{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff;min-width:0}.home-universe-group h4{display:flex;justify-content:space-between;margin:0 0 7px;font-size:11px}.home-code-strip{display:flex;gap:5px;flex-wrap:wrap;max-height:80px;overflow:auto}.home-code-strip button{border:1px solid var(--line);background:#f8fafc;border-radius:7px;padding:4px 6px;font-size:9px;font-weight:850}.home-code-strip button:hover{background:#eef2ff}
.catalog-state{display:inline-flex;padding:2px 5px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:8px}.catalog-state.live{background:var(--goodbg);color:var(--good)}.catalog-state.wait{background:var(--warnbg);color:var(--warn)}
@media(max-width:900px){.home-universe-lists{grid-template-columns:1fr 1fr}.asset-dock{bottom:13px}}
@media(max-width:680px){
 .app{padding-bottom:145px}.asset-dock{bottom:70px;grid-template-columns:repeat(5,1fr);width:calc(100vw - 12px);max-width:none;padding:4px;border-radius:12px}
 .asset-dock button{padding:4px 2px;font-size:8px}.asset-dock button b{font-size:11px}.universe-drawer{width:100vw;border-radius:0}.home-universe-lists{grid-template-columns:1fr}.drawer-row{grid-template-columns:82px minmax(100px,1fr) 78px}
}


/* ================= 专业产品视觉升级 ================= */
:root{
 --bg:#f3f5f9;--card:#ffffff;--nav:#101828;--blue:#3b5bfd;--blue2:#6d5dfc;
 --line:#e5e9f0;--muted:#667085;--text:#101828;--soft:#f8fafc;
 --shadow:0 10px 30px rgba(16,24,40,.055);--shadow2:0 18px 48px rgba(16,24,40,.10);
 --good:#067647;--goodbg:#ecfdf3;--warn:#b54708;--warnbg:#fffaeb;--bad:#b42318;--badbg:#fef3f2
}
*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
body{background:
 radial-gradient(circle at 15% 0%,rgba(91,108,255,.12),transparent 28%),
 radial-gradient(circle at 85% 4%,rgba(35,198,173,.10),transparent 25%),
 linear-gradient(180deg,#f7f8fb 0,#f1f4f8 100%);color:var(--text);letter-spacing:.005em}
.app{max-width:1520px;padding:14px 18px 120px}
.top{margin:-14px -18px 14px;padding:15px 18px 12px;background:rgba(247,249,252,.88);backdrop-filter:blur(24px);border-bottom:1px solid rgba(229,233,240,.85)}
.title h1{font-size:24px;letter-spacing:-.03em}.title .sub{font-size:10px;margin-top:2px;color:#667085}
.statusline{margin-top:5px;background:#fff;border:1px solid var(--line);width:max-content;padding:4px 8px;border-radius:999px}
.page-tabs{grid-template-columns:repeat(7,1fr);padding:6px;border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:var(--shadow);top:82px}
.page-tab{font-size:11px;padding:10px 5px;transition:.2s}.page-tab:hover{background:#f2f4f7}.page-tab.active{background:linear-gradient(135deg,#111827,#344054);box-shadow:0 7px 18px rgba(16,24,40,.18)}
.card{border:1px solid rgba(229,233,240,.9);box-shadow:var(--shadow);border-radius:16px;background:rgba(255,255,255,.96)}
.section{overflow:hidden}.section-head{padding:13px 15px;border-bottom:1px solid #eef1f5}.section-body{padding:14px 15px}.section-head.compact{padding:0 0 9px;border:0}
.btn{border-radius:10px;padding:8px 11px;font-weight:800;transition:.18s;box-shadow:none}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(16,24,40,.08)}.btn.primary{background:linear-gradient(135deg,#3448e5,#6e5dfc);border-color:transparent;color:#fff}.btn.command-btn{background:#fff;border:1px solid var(--line);color:#475467}
.field input,.field select,.field textarea{border-radius:10px;border:1px solid #dfe4ea;background:#fff;transition:.18s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#7f8cff;box-shadow:0 0 0 3px rgba(91,108,255,.12)}
.metric{background:linear-gradient(180deg,#fff,#fbfcfe);min-height:86px}.metric span{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.metric b{letter-spacing:-.03em}
.subtabs{background:rgba(255,255,255,.8);border:1px solid var(--line);padding:6px;border-radius:13px;display:flex;gap:5px;overflow:auto;margin-bottom:10px}.subtab{white-space:nowrap}.subtab.active{background:#101828;color:#fff;border-color:#101828}
.brief-hero{position:relative;overflow:hidden;background:
 linear-gradient(128deg,#101828 0%,#1d2939 54%,#3448e5 140%);color:#fff;border-radius:20px;padding:20px 22px;margin-bottom:12px;box-shadow:0 22px 55px rgba(16,24,40,.20)}
.brief-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-170px;background:radial-gradient(circle,rgba(113,103,255,.65),transparent 65%)}
.brief-kicker,.eyebrow{font-size:9px;font-weight:900;letter-spacing:.17em;color:#aab6ff}.brief-layout{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;position:relative;z-index:1}.brief-layout h2{font-size:23px;letter-spacing:-.035em;margin:6px 0}.brief-layout p{margin:0;color:#cbd5e1;max-width:780px;font-size:11px;line-height:1.7}
.brief-score{min-width:120px;text-align:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:11px}.brief-score span,.brief-score small{display:block;color:#cbd5e1;font-size:9px}.brief-score b{display:block;font-size:30px;margin:2px 0}
.brief-highlights{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;position:relative;z-index:1}.brief-highlight{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 9px;font-size:9px}
.executive-card{border-left:4px solid #5b6cff}.discipline-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.discipline-mini{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fbfcfe}.discipline-mini span{display:block;color:var(--muted);font-size:9px}.discipline-mini b{display:block;margin-top:3px;font-size:12px}
.research-hero{display:flex;justify-content:space-between;gap:15px;align-items:flex-end;padding:20px 22px;border-radius:18px;background:linear-gradient(130deg,#fff,#f2f5ff);border:1px solid #dfe5ff;box-shadow:var(--shadow);margin-bottom:10px}.research-hero h2{font-size:24px;letter-spacing:-.035em;margin:5px 0}.research-hero p{color:var(--muted);font-size:11px;margin:0}.research-hero-actions{display:flex;gap:7px}
.research-two-col,.performance-layout,.validation-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px}.thesis-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.inner-card{padding:13px;box-shadow:none;background:#fbfcfe}.inner-card h3{margin:0 0 9px;font-size:12px}
.validation-toolbar,.audit-toolbar{display:grid;grid-template-columns:1.2fr .7fr .7fr auto;gap:8px;align-items:end}.validation-layout{margin-top:10px}
.validation-bar{display:grid;grid-template-columns:80px 1fr 52px;gap:8px;align-items:center;margin:7px 0;font-size:10px}.validation-track{height:10px;border-radius:999px;background:#eaecf0;overflow:hidden}.validation-track i{display:block;height:100%;background:linear-gradient(90deg,#4f63ff,#23b9a5);border-radius:999px}
.performance-layout{margin-top:10px}.performance-row{display:grid;grid-template-columns:76px 1fr 90px;gap:8px;align-items:center;margin:8px 0;font-size:10px}.performance-track{height:8px;background:#eaecf0;border-radius:999px;overflow:hidden}.performance-track i{height:100%;display:block;background:#5b6cff}
.transaction-row,.audit-entry,.thesis-card,.source-card,.discipline-row{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px;margin-bottom:7px}.transaction-row{display:grid;grid-template-columns:92px 1fr auto;gap:9px;align-items:center}.transaction-row .tx-type{font-size:9px;font-weight:900;border-radius:999px;padding:4px 6px;background:#f2f4f7;width:max-content}.transaction-row small{display:block;color:var(--muted);margin-top:3px}
.audit-entry{display:grid;grid-template-columns:115px 1fr 100px;gap:10px}.audit-time{font-size:9px;color:var(--muted)}.audit-change{font-size:14px;font-weight:900;text-align:right}.audit-reasons{font-size:10px;color:#475467;margin-top:4px;line-height:1.55}
.thesis-fields{grid-template-columns:1fr 1fr 1fr}.thesis-card h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 5px}.thesis-card p{font-size:10px;color:#475467;line-height:1.55;margin:5px 0}
.source-card{display:grid;grid-template-columns:1fr auto;gap:8px}.source-card b{font-size:11px}.source-card small{display:block;color:var(--muted);margin-top:3px}.source-state{font-size:9px;font-weight:900}
.discipline-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}.discipline-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:950}.discipline-icon.ok{background:var(--goodbg);color:var(--good)}.discipline-icon.warn{background:var(--warnbg);color:var(--warn)}.discipline-icon.bad{background:var(--badbg);color:var(--bad)}
.advanced-scenario-grid{display:grid;grid-template-columns:repeat(6,1fr) auto;gap:8px;align-items:end}.scenario-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}.scenario-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850}.scenario-chip.active{background:#101828;color:#fff}
.pro-dialog{width:min(660px,calc(100vw - 22px));border-radius:18px}.transaction-grid{grid-template-columns:1fr 1fr 1fr}
.command-dialog{width:min(680px,calc(100vw - 22px));border:0;border-radius:17px;padding:0;overflow:hidden;box-shadow:0 30px 90px rgba(16,24,40,.28)}.command-dialog::backdrop{background:rgba(16,24,40,.46);backdrop-filter:blur(5px)}.command-search{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.command-search input{border:0;outline:0;font-size:15px}.command-search kbd{font-size:9px;border:1px solid var(--line);padding:3px 5px;border-radius:5px;background:#f8fafc}.command-results{max-height:60vh;overflow:auto;padding:8px}.command-item{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px;border-radius:10px;cursor:pointer}.command-item:hover,.command-item.active{background:#f2f4ff}.command-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef2ff;color:#3448e5;font-weight:950}.command-item small{color:var(--muted)}
.bottom-nav{grid-template-columns:repeat(7,1fr)}
.asset-dock{bottom:17px}
@media(max-width:1100px){.advanced-scenario-grid{grid-template-columns:repeat(3,1fr)}.research-two-col,.performance-layout,.validation-layout,.thesis-layout{grid-template-columns:1fr}}
@media(max-width:680px){
 .app{padding:9px 9px 155px}.top{margin:-9px -9px 10px;padding:11px 9px}.title h1{font-size:20px}.command-btn{display:none!important}
 .brief-hero{padding:17px 15px}.brief-layout{grid-template-columns:1fr}.brief-score{text-align:left;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center}.brief-score b{font-size:25px}.brief-score small{grid-column:1/-1}
 .discipline-summary{grid-template-columns:1fr 1fr}.research-hero{align-items:flex-start;flex-direction:column}.research-hero-actions{width:100%}.research-hero-actions button{flex:1}
 .validation-toolbar,.audit-toolbar,.advanced-scenario-grid{grid-template-columns:1fr 1fr}.validation-toolbar .action-cell,.advanced-scenario-grid .action-cell{grid-column:1/-1}
 .thesis-fields,.transaction-grid{grid-template-columns:1fr 1fr}.audit-entry{grid-template-columns:85px 1fr}.audit-change{grid-column:2;text-align:left}
 .bottom-nav button{font-size:8px;padding:6px 1px}.bottom-nav button b{font-size:15px}.asset-dock{bottom:68px}
}


.bstock-correction-note{border-left:4px solid #f0b429;background:linear-gradient(90deg,#fffbeb,#fff)}
.bstock-product-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:9px;font-weight:900}


.bstock-model-note{border-left:4px solid #5b6cff;background:linear-gradient(90deg,#eef2ff,#fff)}
.bstock-research-card{background:linear-gradient(180deg,#fff,#f8f9ff);border-color:#dfe5ff}
.asset-card .subtle{word-break:break-word}


/* bStocks快速分析调度 */
.bstock-analysis-console{border:1px solid #dfe5ff;background:linear-gradient(135deg,#fff,#f6f7ff);border-radius:13px;padding:11px;margin-bottom:10px}
.bstock-console-head{display:flex;justify-content:space-between;align-items:center;gap:9px}
.bstock-console-head b{font-size:11px}.bstock-console-head small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.bstock-progress-track{height:8px;border-radius:999px;background:#e8ebf2;overflow:hidden;margin-top:9px}
.bstock-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4f63ff,#23b9a5);border-radius:999px;transition:width .3s}
.bstock-analysis-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.bstock-analysis-stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px}
.bstock-analysis-stat span{display:block;color:var(--muted);font-size:8px}.bstock-analysis-stat b{display:block;font-size:11px;margin-top:2px}
.analysis-state{display:inline-flex;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:900}
.analysis-state.running{background:#eef2ff;color:#4338ca}.analysis-state.ready{background:var(--goodbg);color:var(--good)}.analysis-state.failed{background:var(--warnbg);color:var(--warn)}
.drawer-foot-three button{font-size:9px;padding-left:5px;padding-right:5px}
@media(max-width:680px){.bstock-analysis-stats{grid-template-columns:1fr 1fr}.drawer-foot-three{gap:4px}.drawer-foot-three button{font-size:8px}}


/* ================= v5.4 评级与目录治理 ================= */
.asset-toolbar{grid-template-columns:1.35fr .82fr .78fr .78fr .82fr}
.rating-governance-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9px;margin-bottom:10px}
.rating-guide-card,.catalog-integrity-card{border:1px solid var(--line);border-radius:14px;padding:11px;background:linear-gradient(145deg,#fff,#f8faff);box-shadow:var(--shadow)}
.rating-guide-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.rating-guide-head b{font-size:12px}.rating-guide-head small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.rating-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:9px}
.rating-summary-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px;text-align:center}.rating-summary-item span{display:block;color:var(--muted);font-size:8px}.rating-summary-item b{display:block;font-size:17px;margin-top:2px}
.rating-details{margin-top:8px}.rating-details summary{cursor:pointer;font-size:10px;font-weight:850;color:#475467}
.rating-rule-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.rating-rule-list>div{display:grid;grid-template-columns:30px 1fr;gap:5px 7px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:#fff}.rating-rule-list small{grid-column:2;color:var(--muted);font-size:9px;line-height:1.45}
.grade-badge{display:inline-grid;place-items:center;min-width:27px;height:27px;border-radius:8px;font-size:13px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.grade-A{background:#067647;color:#fff}.grade-B{background:#2563eb;color:#fff}.grade-C{background:#f59e0b;color:#fff}.grade-D{background:#b42318;color:#fff}.grade-U{background:#667085;color:#fff}
.dual-rating{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:7px}.rating-block{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;padding:5px 7px;background:#fff}.rating-block span.label{color:var(--muted);font-size:8px}.rating-block b.text{font-size:9px}
.rating-action{margin-top:7px;border-radius:10px;padding:8px 9px;background:linear-gradient(90deg,#f8fafc,#fff);border:1px solid var(--line);font-size:10px}.rating-action strong{display:block;font-size:11px;margin-bottom:3px}.rating-action small{color:var(--muted);line-height:1.45}
.grade-reasons{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.grade-reason{font-size:8px;padding:3px 6px;border-radius:999px;background:#f2f4f7;color:#475467}.grade-reason.positive{background:var(--goodbg);color:var(--good)}.grade-reason.negative{background:var(--warnbg);color:var(--warn)}
.rating-detail-panel{border:1px solid #dfe5ff;background:linear-gradient(145deg,#fff,#f7f8ff);border-radius:12px;padding:10px;margin-bottom:9px}.rating-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.rating-detail-cell{border:1px solid var(--line);border-radius:9px;padding:7px;background:#fff}.rating-detail-cell span{display:block;color:var(--muted);font-size:8px}.rating-detail-cell b{display:block;font-size:12px;margin-top:3px}
.order-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.order-step{border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px}.order-step span{display:block;color:var(--muted);font-size:8px}.order-step b{display:block;font-size:11px;margin:3px 0}.order-step small{font-size:8px;color:#667085}
.catalog-integrity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.integrity-item{display:flex;justify-content:space-between;gap:6px;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px;font-size:9px}.integrity-item b{font-size:10px}.integrity-state{font-size:8px;font-weight:900}.integrity-state.ok{color:var(--good)}.integrity-state.bad{color:var(--bad)}.integrity-state.warn{color:var(--warn)}
.asset-card{overflow:hidden}.asset-card .subtle:not(.price+*){line-height:1.55}.asset-card>.subtle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:31px}
.drawer-row{grid-template-columns:minmax(88px,.72fr) minmax(118px,1.35fr) minmax(92px,.85fr)}.drawer-rating{display:flex;justify-content:flex-end;gap:4px;margin-top:3px}.drawer-rating .grade-badge{min-width:19px;height:19px;border-radius:6px;font-size:9px}
.rating-audit-row{display:grid;grid-template-columns:95px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;margin-bottom:6px}.rating-audit-row small{display:block;color:var(--muted);margin-top:3px}.rating-change{display:flex;align-items:center;gap:5px}
@media(max-width:980px){.asset-toolbar{grid-template-columns:1fr 1fr 1fr}.asset-toolbar .wide{grid-column:1/-1}.rating-governance-grid{grid-template-columns:1fr}}
@media(max-width:680px){.asset-toolbar{grid-template-columns:1fr 1fr}.rating-rule-list{grid-template-columns:1fr}.rating-summary{grid-template-columns:repeat(5,1fr)}.rating-detail-grid{grid-template-columns:1fr 1fr}.order-plan{grid-template-columns:1fr}.rating-audit-row{grid-template-columns:78px 1fr}.rating-change{grid-column:2}}


/* v5.6 客观评分、逐标的情绪与手工bStock区间 */
.v56-model-note{border-left:4px solid #2563eb;background:linear-gradient(90deg,#eff6ff,#fff)}
.bstock-research-card{display:none!important}
.asset-emotion{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:7px 8px;background:#fff}
.asset-emotion .emotion-score{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:950;color:#fff}
.emotion-extreme-fear{background:#b42318}.emotion-fear{background:#e35d2f}.emotion-neutral{background:#667085}.emotion-greed{background:#16a34a}.emotion-extreme-greed{background:#067647}
.emotion-track{height:7px;background:#eaecf0;border-radius:999px;overflow:hidden;margin-top:4px}.emotion-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b42318,#f59e0b,#16a34a)}
.emotion-copy b{display:block;font-size:10px}.emotion-copy small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.v56-detail-panel{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:9px;background:linear-gradient(145deg,#fff,#f8fafc)}
.v56-detail-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.v56-detail-head b{font-size:12px}.v56-detail-head small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.v56-binance-grid,.v56-objective-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.v56-info-cell{border:1px solid var(--line);border-radius:9px;padding:7px;background:#fff}.v56-info-cell span{display:block;color:var(--muted);font-size:8px}.v56-info-cell b{display:block;font-size:11px;margin-top:3px;word-break:break-word}
.v56-pair{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:950}
.v56-pair.live{background:var(--goodbg);color:var(--good)}.v56-pair.none{background:#f2f4f7;color:#667085}
.v56-manual-range{border-left:4px solid #067647;background:linear-gradient(90deg,#ecfdf3,#fff)}
.v56-objective-explain{font-size:9px;color:#475467;line-height:1.6;margin-top:7px}
.v56-score-pill{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:900}
.drawer-emotion{display:inline-flex;padding:2px 5px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:8px;font-weight:850;margin-left:3px}
@media(max-width:680px){.v56-binance-grid,.v56-objective-grid{grid-template-columns:1fr 1fr}.asset-emotion{grid-template-columns:auto 1fr}.asset-emotion>.v56-score-pill{grid-column:2}}


/* ================= v5.7 稳定重构：API、验证与可编辑决策 ================= */
.v57-secret-row{display:grid;grid-template-columns:1fr auto;gap:6px}
.v57-plan-control{margin-bottom:10px;border-left:4px solid #5b6cff}
.v57-plan-tabs{display:flex;gap:6px;overflow:auto;flex-wrap:wrap}
.v57-plan-tabs button.active{background:#101828;color:#fff;border-color:#101828}
.v57-decision-tools{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:10px;align-items:end;margin-top:9px}
.v57-quick-actions{display:flex;gap:6px;flex-wrap:wrap}
.v57-excluded-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;min-height:1px}
.v57-excluded-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#fef3f2;color:#b42318;font-size:9px;font-weight:850}
.v57-reco-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.v57-plan-note{border:1px solid var(--line);border-radius:10px;background:#f8fafc;padding:8px;margin-bottom:8px;font-size:10px;line-height:1.55}
.v57-api-source{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#3448e5;font-size:8px;font-weight:900}
.v57-api-source.live{background:var(--goodbg);color:var(--good)}
.v57-api-source.delay{background:var(--warnbg);color:var(--warn)}
.v57-validation-map{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.v57-validation-map span{padding:3px 7px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:8px}
.v57-tactical{background:#fef3f2!important;color:#b42318!important}
@media(max-width:680px){.v57-decision-tools{grid-template-columns:1fr}.v57-quick-actions button{flex:1}.v57-secret-row{grid-template-columns:1fr auto}}



/* Professional v5.8 */
.v58-compat-hidden{display:none!important}
.cash-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.cash-reason{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.cash-reason span{display:block;color:var(--muted);font-size:9px}.cash-reason b{display:block;margin-top:3px;font-size:12px}
.v58-factor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.v58-factor{border:1px solid var(--line);border-radius:9px;padding:7px;background:#f8fafc;font-size:9px}.v58-factor b{display:block;font-size:11px;margin-top:3px}
.v58-new-badge{background:#ecfdf3;color:#027a48}
/* v5.9 model-validation governance */
#validationGovernanceSummary{grid-template-columns:repeat(4,minmax(0,1fr))}
#validationSummary{grid-template-columns:repeat(3,minmax(0,1fr))}
.v59-today-status{margin-bottom:10px}
.v59-validation-panel{border-left:3px solid var(--accent,#5b6df9)}
.v59-validation-panel .reco-grid{margin-top:9px}
@media(max-width:760px){#validationGovernanceSummary,#validationSummary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Legacy position model retained for v5.11 compatibility */
.v510-position-controls{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:8px;align-items:end}
.v510-position-actions{display:flex;gap:6px;align-items:end}.v510-position-actions .btn{white-space:nowrap}
.v510-rebalance-row{grid-template-columns:82px 1fr 105px}.v510-rebalance-row>div:first-child small{display:block;color:var(--muted);font-size:9px}
.v510-weight-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10px;margin-bottom:4px}
.v510-limit-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:9px;color:var(--muted)}
.v510-limit-edit label{display:flex;align-items:center;gap:3px}.v510-limit-edit input{width:58px;border:1px solid var(--line);border-radius:7px;padding:4px 5px}
@media(max-width:900px){.v510-position-controls{grid-template-columns:1fr 1fr}.v510-position-actions{grid-column:1/-1}}
@media(max-width:680px){.v510-position-controls{grid-template-columns:1fr}.v510-position-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.v510-rebalance-row{grid-template-columns:62px 1fr}.v510-rebalance-row>:last-child{grid-column:2}.v510-weight-head{display:grid;grid-template-columns:1fr}}
