:root{--white:#fff;--bg:#f6f8fb;--text:#172033;--muted:#637086;--line:#d9e1ec;--line-soft:#e8edf4;--blue:#1557d6;--blue-soft:#edf3ff;--red:#e2252b;--green:#098444;--amber:#b96f00;--sidebar:184px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.app-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .16s;display:grid}.app-shell.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.sidebar{z-index:5;width:var(--sidebar);background:var(--white);border-right:1px solid var(--line);flex-direction:column;transition:transform .16s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-closed .sidebar{transform:translate(-100%)}.sidebar-backdrop{display:none}.brand{border-bottom:1px solid var(--line);letter-spacing:-.3px;align-items:center;height:58px;padding:0 20px;font-size:18px;font-weight:800;display:flex}.sidebar nav{gap:3px;padding:12px 9px;display:grid}.nav-item{color:#354159;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;width:100%;height:42px;padding:0 12px;display:flex}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#f7f9fc}.nav-item.active{background:var(--blue-soft);color:var(--blue);font-weight:700}.sidebar-bottom{border-top:1px solid var(--line-soft);margin-top:auto;padding:10px 9px 14px}.nav-item.entitlement{color:var(--blue)}.user-menu{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:34px 1fr 18px;align-items:center;gap:9px;width:100%;margin-top:7px;padding:9px 8px;display:grid}.avatar{background:#e4e9f1;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.user-menu strong,.user-menu small{display:block}.user-menu small{color:var(--muted);margin-top:2px;font-size:11px}.chevron{width:16px;height:16px}.main-column{grid-column:2;min-width:0}.topbar{z-index:4;border-bottom:1px solid var(--line);color:#3e485a;background:#fffffff7;align-items:center;gap:14px;height:58px;padding:0 20px;font-size:13px;display:flex;position:sticky;top:0}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.icon-button:hover{background:var(--bg)}.icon-button svg{width:18px;height:18px}.top-divider{background:var(--line);width:1px;height:18px}.sync-status{align-items:center;gap:8px;display:flex}.sync-status i,.status-row i{background:#12a24d;border-radius:50%;width:8px;height:8px}.top-spacer{flex:1}.top-user{font-weight:600}.dashboard{max-width:1600px;margin:0 auto;padding:18px 20px 28px}.page-heading{align-items:center;min-height:44px;margin-bottom:14px;display:flex}.page-heading h1{letter-spacing:-.4px;margin:0;font-size:22px}.page-message{color:#b42318;margin:3px 0 0;font-size:12px}.page-actions{gap:8px;margin-left:auto;display:flex}.primary-button,.secondary-button{border:1px solid var(--blue);cursor:pointer;border-radius:5px;align-items:center;gap:7px;height:36px;padding:0 14px;font-weight:700;display:flex}.primary-button{background:var(--blue);color:#fff}.secondary-button{background:var(--white);color:var(--blue)}.primary-button:disabled,.secondary-button:disabled{opacity:.65}.primary-button svg,.secondary-button svg{width:16px;height:16px}.metric-band{border:1px solid var(--line);background:var(--white);border-radius:7px;grid-template-columns:repeat(4,1fr);margin-bottom:12px;display:grid;overflow:hidden}.metric{align-content:center;place-items:center;min-height:112px;padding:12px;display:grid}.metric+.metric{border-left:1px solid var(--line)}.metric span{color:#4c566a}.metric strong{margin:4px 0 1px;font-size:30px;line-height:1.15}.metric small{color:var(--muted)}.tone-blue{color:var(--blue)}.tone-red,.market-red{color:var(--red)}.tone-green,.market-green{color:var(--green)}.content-grid{grid-template-columns:minmax(0,1fr) 340px;gap:12px;margin-bottom:12px;display:grid}.content-grid.single{grid-template-columns:minmax(0,1fr)}.panel{border:1px solid var(--line);background:var(--white);border-radius:7px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);align-items:center;gap:20px;height:48px;padding:0 14px;display:flex}.panel-header h2{margin:0;font-size:16px}.session-tabs{align-self:stretch;display:flex}.session-tabs button{min-width:58px;color:var(--muted);cursor:pointer;background:0 0;border:0;position:relative}.session-tabs button.selected{color:var(--blue);font-weight:700}.session-tabs button.selected:after{background:var(--blue);content:"";height:2px;position:absolute;inset:auto 9px 0}.table-scroll{min-height:254px;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{border-bottom:1px solid var(--line-soft);text-align:center;height:40px;padding:0 12px;font-size:13px}th{color:#465267;background:#fafbfd;font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8faff}.stock-name{font-weight:650}.score{color:var(--blue);font-weight:700}.status-row{border-bottom:1px solid var(--line-soft);grid-template-columns:82px 1fr 10px;align-items:center;gap:10px;min-height:58px;padding:0 15px;font-size:12px;display:grid}.status-row:last-child{border-bottom:0}.status-row span{color:var(--muted)}.status-row strong{text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.status-row i.waiting{background:#d39212}.flow-panel{margin-bottom:12px}.flow-grid{grid-template-columns:minmax(250px,.9fr) minmax(250px,.9fr) minmax(300px,1.1fr);display:grid}.ranking,.history-note{min-height:205px;padding:12px 14px}.ranking+.ranking,.history-note{border-left:1px solid var(--line)}.ranking-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ranking-title strong{font-size:13px}.ranking-title span{color:var(--muted);font-size:11px}.ranking-row{grid-template-columns:18px 70px minmax(70px,1fr) 54px;align-items:center;gap:7px;height:31px;font-size:12px;display:grid}.ranking-row b{font-weight:600}.ranking-row em{text-align:right;font-variant-numeric:tabular-nums;font-style:normal}.bar-track{background:#f0f3f7;height:6px}.bar-track i{height:100%;display:block}.bar-track .inflow{background:var(--red)}.bar-track .outflow{background:var(--green)}.history-note{background:#fbfcfe;flex-direction:column;justify-content:center;display:flex}.history-note h3{margin:0 0 7px;font-size:15px}.history-note strong{color:var(--blue);margin-bottom:10px;font-size:20px}.history-note p{color:var(--muted);margin:3px 0;font-size:12px}.empty-state{min-height:200px;color:var(--muted);place-items:center;display:grid}.empty-state.large{min-height:205px}.activity-row{grid-template-columns:110px 140px 1fr;align-items:center;min-height:58px;padding:0 14px;font-size:12px;display:grid}.activity-row time{color:var(--muted)}.activity-row p{margin:0}.strategy-catalog{gap:20px;display:grid}.strategy-intro>p,.strategy-card>p{margin:16px 22px;line-height:1.7}.strategy-parameters{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;padding:0 22px;display:grid}.strategy-parameters h3{font-size:15px}.strategy-parameters dl{margin:0}.strategy-parameters dl>div{border-bottom:1px solid #edf0f5;justify-content:space-between;gap:16px;padding:8px 0;display:flex}.strategy-parameters dd{font-variant-numeric:tabular-nums;margin:0}.strategy-note{color:#64748b;font-size:13px}.strategy-card .panel-header{flex-wrap:wrap;gap:10px;height:auto;min-height:48px;padding-top:10px;padding-bottom:10px}.strategy-card .panel-header h2{overflow-wrap:anywhere}.feature-placeholder{text-align:center;align-content:center;place-items:center;min-height:430px;display:grid}.feature-placeholder>svg{width:32px;height:32px;color:var(--blue);margin-bottom:10px}.feature-placeholder h2{margin:0;font-size:20px}.feature-placeholder p{max-width:460px;color:var(--muted);margin:8px 20px 0}.login-page{background:var(--white);grid-template-rows:62px 1fr auto;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-brand{z-index:2;border-bottom:1px solid var(--line);align-items:center;width:100%;height:62px;padding:0 28px;font-size:20px;font-weight:800;display:flex}.market-grid{opacity:.42;pointer-events:none;position:absolute;inset:26% 0 5%}.market-grid svg{stroke:#dce4ef;stroke-width:1px;width:100%;height:100%}.market-candles{align-items:center;gap:19px;height:90px;display:flex;position:absolute;bottom:70px}.market-candles.left{left:8%}.market-candles.right{bottom:190px;right:7%}.market-candles i{background:#e2252b4d;width:3px;display:block;position:relative}.market-candles i:before{background:inherit;content:"";width:1px;position:absolute;top:-6px;bottom:-6px;left:1px}.market-candles i.down{background:#0984444d}.login-card{z-index:2;border:1px solid var(--line);background:#fffffff5;border-radius:7px;align-self:center;width:420px;padding:38px;box-shadow:0 16px 45px #263a600f}.login-card h1{margin:0 0 7px;font-size:26px}.login-card>p{color:var(--muted);margin:0 0 26px}.login-card form>label{margin:18px 0 7px;font-weight:650;display:block}.field{border:1px solid #cbd5e1;border-radius:5px;align-items:center;gap:9px;height:48px;padding:0 14px;display:flex}.field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1557d61a}.field svg{width:18px;color:var(--muted)}.field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.field-action{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.field-action svg{width:18px;height:18px}.field input::placeholder{color:#9aa5b5}.login-options{align-items:center;margin:18px 0;display:flex}.checkbox{align-items:center;gap:7px;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--blue)}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0}.login-options .text-button{margin-left:auto;padding:0}.form-message{font-size:12px;color:#b42318!important;margin:-8px 0 12px!important}.login-submit{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:5px;width:100%;height:48px;font-weight:750}.login-submit:disabled{opacity:.65}.invite-note{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:24px;padding-top:20px}.security-note{z-index:2;color:var(--muted);align-items:center;gap:8px;margin:0 0 70px;display:flex}.security-note svg{width:18px;height:18px}.download-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;display:grid}.release-list{display:grid}.release-card{border-bottom:1px solid var(--line-soft);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:112px;padding:16px;display:grid}.release-card:last-child{border-bottom:0}.release-platform{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:9px;place-items:center;display:grid}.release-platform svg{width:23px;height:23px}.release-copy{min-width:0}.release-copy>div{align-items:baseline;gap:10px;display:flex}.release-copy strong{font-size:15px}.release-copy span{color:var(--blue);font-weight:700}.release-copy p{color:#435067;margin:5px 0}.release-copy small{color:var(--muted)}.release-copy code{font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.release-form{gap:13px;padding:16px;display:grid}.release-form label{color:#465267;gap:6px;font-size:12px;font-weight:650;display:grid}.release-form input,.release-form select,.release-form textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#fff;border-radius:5px;outline:none;padding:9px 10px}.release-form input:focus,.release-form select:focus,.release-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.form-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.publish-button{justify-content:center;width:100%}.form-help{color:var(--muted);margin:0;font-size:11px}.device-summary{border-bottom:1px solid var(--line-soft);color:var(--muted);gap:8px;padding:14px 16px;display:flex}.device-summary strong{color:var(--text)}.device-summary span{margin-left:auto}.device-list{display:grid}.device-row{border-bottom:1px solid var(--line-soft);grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:92px;padding:14px 16px;display:grid}.device-row:last-child{border-bottom:0}.device-row p{color:#435067;margin:3px 0}.device-row small{color:var(--muted)}.device-icon{width:42px;height:42px;color:var(--green);background:#eaf7ef;border-radius:50%;place-items:center;display:grid}.device-icon.off{color:var(--muted);background:#eef1f5}.device-active,.device-off{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.device-active{color:var(--green);background:#eaf7ef}.device-off{color:var(--muted);background:#eef1f5}@media (max-width:1100px){:root{--sidebar:74px}.brand{justify-content:center;padding:0;font-size:0}.brand:after{content:"A股";font-size:17px}.nav-item{justify-content:center;padding:0;font-size:0}.nav-item svg{width:20px;height:20px}.user-menu{justify-content:center;padding:8px 0;display:flex}.user-menu>span:not(.avatar),.user-menu svg{display:none}.content-grid,.download-layout{grid-template-columns:1fr}.status-panel{grid-template-columns:160px repeat(4,1fr);display:grid}.status-panel .panel-header{border-bottom:0}.status-row{grid-template-columns:1fr 10px;min-width:0}.status-row span{grid-column:1}.status-row strong{text-align:left;grid-column:1}.status-row i{grid-area:1/2/3}.flow-grid{grid-template-columns:1fr 1fr}.history-note{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}}@media (max-width:720px){:root{--sidebar:0px}.app-shell{display:block}.sidebar{display:none}.sidebar-open .sidebar{width:184px;display:flex;transform:translate(0)}.sidebar-open .sidebar-backdrop{z-index:4;background:#0f172a47;border:0;padding:0;display:block;position:fixed;inset:0}.main-column{grid-column:auto;width:100%}.topbar{padding:0 12px}.topbar>span:not(.sync-status):not(.top-user),.data-time,.top-user,.topbar .chevron{display:none}.dashboard{padding:14px 10px 22px}.page-heading{align-items:flex-start;gap:10px}.page-actions{flex-wrap:wrap;justify-content:flex-end}.metric-band{grid-template-columns:1fr 1fr}.metric+.metric{border-left:0}.metric:nth-child(2n){border-left:1px solid var(--line)}.metric:nth-child(n+3){border-top:1px solid var(--line)}.status-panel{display:block}.flow-grid{grid-template-columns:1fr}.ranking+.ranking,.history-note{border-top:1px solid var(--line);border-left:0;grid-column:auto}.activity-row{grid-template-columns:80px 1fr;gap:8px;padding:10px 14px}.activity-row p{grid-column:1/-1}.release-card{grid-template-columns:40px minmax(0,1fr)}.release-card>button{grid-column:1/-1;justify-content:center}.device-row{grid-template-columns:40px minmax(0,1fr) auto}.device-row>button{grid-column:1/-1;justify-content:center}.login-card{width:calc(100% - 28px);padding:28px 24px}.login-brand{padding:0 18px}.security-note{text-align:center;margin-bottom:32px;padding:0 20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
