@charset "UTF-8";
:root{--bg:#f4f6f9;--ink:#1c293b;--muted:#8190a3;--line:#e8edf2;--teal:#147d70;--nav:#142231;--red:#d45b61;--green:#178777;--font:Inter,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px var(--font);line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}button,a,input,select{outline-offset:4px}button{transition:background .18s,color .18s,box-shadow .18s}a{text-decoration:none;color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:var(--nav);color:#c2cbd5;padding:35px 20px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:white;padding:0 9px 45px}.brand-mark{font-size:30px;color:#a3e1ca;border:1px solid #567064;width:39px;height:39px;text-align:center;line-height:35px;border-radius:10px}.brand strong{font-size:23px;letter-spacing:-.7px}.brand strong span{display:block;font:8px var(--font);color:#8da6b2;letter-spacing:1.65px;margin-top:1px}.nav-label{font-size:10px;letter-spacing:1.6px;color:#698195;padding:0 14px 15px}.nav{border:0;background:none;color:#8f9eae;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;border-radius:7px;margin-bottom:7px}.nav>span{font-size:21px;line-height:20px;width:21px}.nav i{font-style:normal;margin-left:auto;font-size:10px;opacity:.5}.nav.active{background:#263e49;color:#bcf1d9;box-shadow:inset 3px 0 #9fddc2}.nav:hover{background:#203544}.sidebar-rule{height:1px;background:#2b3a49;margin:25px 12px}.environment{padding:0 14px;display:flex;gap:10px;align-items:flex-start;font-size:12px}.dot,.green-dot{display:inline-block;width:6px;height:6px;background:#6eb79c;border-radius:50%;flex-shrink:0}.environment .dot{margin-top:7px}.environment small{display:block;font-size:10px;color:#668194;margin-top:6px}.connection{display:flex;justify-content:space-between;padding:16px 14px;font-size:10px;color:#6f8799}.connection b{font-weight:400;color:#9dabb8}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding:18px 6px 0;border-top:1px solid #2b3a49;font-size:12px}.avatar{background:#2e4553;color:#b1d5ce;display:grid;place-items:center;width:32px;height:34px;border-radius:8px}.sidebar-bottom small{display:block;color:#738a9e;font-size:10px}.account-lock{margin-left:auto;color:#7f9d9b}.workspace{margin-left:222px}.topbar{height:69px;padding:0 35px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px}.breadcrumb{color:#7b899a}.breadcrumb span{margin:0 17px;color:#bac4ce}.breadcrumb b{font-weight:500;color:#3d5066}.top-right{display:flex;align-items:center;gap:20px}.demo-label{padding:4px 10px;background:#eef6f3;border:1px solid #deebe5;border-radius:4px;color:#468374;font-size:10px}.date{color:#8994a2}main{max-width:1740px;margin:auto;padding:32px 35px 18px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#8d9aa8;margin-bottom:7px}h1{font-size:27px;font-weight:600;letter-spacing:-.5px;display:flex;gap:13px;align-items:center;margin:0}h1 .badge{font-size:10px;font-weight:400;letter-spacing:0}.page-heading p{font-size:11px;color:#8a97a5;margin:9px 0 0}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;white-space:nowrap}.neutral{background:#e9eef3;color:#718297}.good{background:#e7f4ee;color:#328574}.warm{background:#fbf2df;color:#b48634}.red{background:#fcecee;color:#bc5d63}.actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid #dfe5eb;border-radius:6px;background:#fff;color:#435467;padding:9px 15px;font-size:11px;font-weight:500;white-space:nowrap}.btn:hover{background:#edf4f3}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 5px #17392a0c}.btn.primary:hover{background:#096c60}.btn.small{padding:7px 10px;font-size:10px}.btn.secondary{background:#fff}.actions select{background:#fff;border:1px solid #dfe5eb;color:#647287;padding:9px 8px;border-radius:6px;font-size:11px}.notice{margin-top:25px;border:1px solid #dce7ed;background:#edf3f7;border-radius:5px;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:10px;color:#667c8e}.notice-icon{border:1px solid #93a7b7;border-radius:50%;height:14px;width:14px;text-align:center;line-height:12px;font-size:10px}.notice #engineStatus{margin-left:auto;font-size:9px;color:#72908e}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0}.metrics article{background:white;border:1px solid var(--line);border-radius:8px;padding:19px 20px 15px}.metric-label{font-size:11px;color:#718195;display:flex;justify-content:space-between;align-items:center}.metric-label>span{color:#9baab6;font-size:17px}.metric-value{font-size:30px;letter-spacing:-1px;line-height:1.4;margin:10px 0 12px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.metric-value small{font-size:17px;color:#99a6b1;margin-right:7px;font-weight:400;letter-spacing:0}.metric-value .unit{margin-left:7px;font-size:12px}.metric-bottom{display:flex;align-items:center;gap:7px;justify-content:space-between;font-size:9px;color:#94a0ad;border-top:1px solid #f0f3f5;padding-top:11px}.metric-bottom b{font-weight:400;color:#8997a5}.metric-bottom .green-dot+span{margin-right:auto}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #152c3b02}.panel-heading{padding:20px 22px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h2{font-size:15px;margin:0;font-weight:600}.panel-heading h2 span{font-size:10px;font-weight:400;color:#9bacb8;margin-left:7px}.panel-heading p{font-size:9px;color:#9ba7b2;margin:4px 0 0}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;gap:10px;border-bottom:1px solid #f1f3f6}.segments{display:flex;gap:3px;background:#f2f5f7;padding:3px;border-radius:5px}.segments button{border:0;background:none;font-size:10px;color:#8a97a4;padding:5px 10px;border-radius:4px}.segments button.selected{color:#247969;background:white;box-shadow:0 1px 3px #0000000b}.search{display:flex;align-items:center;color:#9da9b3;gap:6px}.search>span{font-size:21px}.search input{width:130px;font-size:10px;border:0;background:transparent;outline:none;color:#536778}.search input::placeholder{color:#a1abb4}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:11px}th{font-weight:400;color:#8a98a7;background:#fafbfc;font-size:9px;padding:12px 17px;border-bottom:1px solid #eef1f4}td{padding:17px;border-bottom:1px solid #eff2f5;vertical-align:middle}th:first-child,td:first-child{padding-left:22px}.watch-table tr.stock{cursor:pointer;transition:background .16s}.watch-table tr.stock:hover{background:#fafcfd}.watch-table tr.stock.chosen{background:#f1f8f5;box-shadow:inset 3px 0 #248a76}.stock-name{font-weight:500;font-size:12px;display:flex;gap:7px;align-items:center}.stock-code{color:#94a2b1;font-size:9px;margin-top:5px;font-family:"Consolas",monospace;letter-spacing:.2px}.market-tag{font-size:8px;line-height:14px;background:#eaf0f6;color:#6b839c;padding:0 4px;border-radius:3px}.quote-value{color:#d26869;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.quote-limit{font-size:9px;color:#9aa7b4;margin-top:4px}.ratio{font-size:12px;font-variant-numeric:tabular-nums}.ratio-track{width:45px;height:3px;background:#e7eeee;margin-top:6px;border-radius:2px}.ratio-track i{display:block;background:#9bbeb2;height:100%;border-radius:2px}.toggle{height:19px;width:33px;border-radius:20px;border:0;display:inline-block;background:#dce2e7;padding:3px}.toggle::after{content:"";display:block;background:white;width:13px;height:13px;border-radius:50%;box-shadow:0 1px 3px #0001;transition:transform .15s}.toggle.on{background:#28957e}.toggle.on::after{transform:translateX(14px)}.watch-footer{display:flex;justify-content:space-between;padding:13px 22px;font-size:9px;color:#9ba7b2}.replay-status{margin:25px 22px 20px;padding:19px 18px;background:linear-gradient(120deg,#f4f7f8,#f0f7f4);border:1px solid #e7edee;border-radius:6px;display:flex;align-items:center;gap:20px}.tiny-label{font-size:8px;letter-spacing:1.5px;color:#91a6a4;display:block;margin-bottom:8px}.replay-status strong{font-size:12px;font-weight:500;color:#5d746e}.replay-status p{font-size:9px;color:#9ba8ac;margin:5px 0 0}.replay-progress{min-width:70px;margin-left:auto;color:#4f897a;font-size:18px;text-align:right;font-variant-numeric:tabular-nums}.replay-progress>div{height:3px;background:#dce9e2;margin-top:9px;border-radius:2px}.replay-progress i{background:#81b4a2;height:100%;display:block;width:0;transition:width .3s}.detail-panel{padding:21px}.detail-header{display:flex;align-items:center;justify-content:space-between}.detail-header h2{font-size:18px}.detail-header p{font-family:Consolas,monospace;font-size:10px;color:#9ba7b2;margin:4px 0 0}.exchange{font-size:9px;padding:3px 6px;background:#eff3f8;color:#8796a9;border-radius:3px}.quote-main{display:flex;align-items:baseline;gap:12px;margin-top:20px}.quote-main strong{color:#cf6268;font-size:30px;font-weight:500;letter-spacing:-.5px}.quote-main span{font-size:9px;color:#9ca7b2}.chart{height:72px;margin-top:9px}.chart svg{width:100%;height:100%;overflow:visible}.chart-placeholder{font-size:10px;color:#b0bcc5;display:grid;place-items:center;height:100%;background:repeating-linear-gradient(to bottom,transparent 0,transparent 23px,#f2f4f6 23px,#f2f4f6 24px)}.chart-label{display:flex;justify-content:space-between;font-size:8px;color:#a1adb7;margin-top:6px}.params-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.params-head h3{font-size:11px;margin:0;font-weight:500}.text-btn{background:none;border:none;color:var(--teal);font-size:10px;padding:4px 0}.text-btn:hover{color:#07584e}dl{margin:14px 0 19px;display:grid;grid-template-columns:1fr auto;gap:12px;font-size:10px}dt{color:#929faa}dd{margin:0;font-size:10px;color:#506175;font-variant-numeric:tabular-nums}.rule-note{display:flex;align-items:center;gap:9px;padding:11px;background:#f7f9fb;border:1px solid #edf1f5;border-radius:5px;font-size:9px;color:#75889d}.rule-note>span{color:#70988d;font-size:20px}.rule-note small{display:block;color:#9aa8b5;font-size:8px;margin-top:2px}.activity-panel{margin-top:20px}.activity-panel>.panel-heading{padding-top:12px;padding-bottom:0}.activity-tabs{display:flex;gap:27px}.activity-tabs button{background:none;border:0;padding:4px 0 15px;color:#96a1ae;font-size:12px;position:relative}.activity-tabs button.selected{color:#275c53}.activity-tabs button.selected:after{content:"";position:absolute;height:2px;background:#238573;left:0;bottom:0;right:0}.activity-tabs span{font-size:9px;background:#f0f3f7;border-radius:3px;padding:2px 5px;margin-left:5px;color:#8295a6}.empty{text-align:center;color:#a4b0bb;padding:23px;font-size:11px}.empty-symbol{font-size:23px;color:#b5c4cd;display:block;margin-bottom:4px}.empty strong{display:block;font-size:11px;font-weight:400;color:#8e9fae}.empty p{font-size:9px;margin:5px}.order-id{font:9px Consolas,monospace;color:#8b9ba9}.direction{color:#cf6668}.log-row{display:flex;align-items:center;gap:15px;padding:11px 22px;border-bottom:1px solid #f1f4f6;font-size:11px}.log-row time{font:10px Consolas,monospace;color:#96a6b4}.log-row .log-dot{height:5px;width:5px;background:#6fa38f;border-radius:50%}.log-row .log-symbol{color:#8c9dab;font-size:10px;margin-left:auto}#logRows{max-height:260px;overflow-y:auto}footer{display:flex;align-items:center;justify-content:space-between;padding-top:21px;color:#99a6b2;font-size:9px}footer .dot{width:4px;height:4px;margin-right:5px}footer i{font-style:normal;color:#c5ccd1;margin:0 10px}.hidden{display:none!important}.full-view .main-grid{display:none}.full-view .activity-panel{margin-top:0}.full-view .activity-panel .empty{padding:100px 20px}.full-view #logRows{max-height:70vh}dialog{border:1px solid #e3e9ed;box-shadow:0 30px 100px #0d23372a;border-radius:12px;width:520px;padding:27px;color:var(--ink)}dialog::backdrop{background:#10233555;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:21px}.close{border:0;background:none;color:#8f9baa;font-size:26px}.dialog-intro{font-size:11px;color:#8a98a8;margin:14px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:11px;color:#637587;display:flex;flex-direction:column;gap:7px}.form-grid .full{grid-column:span 2}.form-grid input{width:100%;border:1px solid #dfe6eb;border-radius:5px;background:#fbfcfd;padding:9px 10px;color:#30495b;font-size:12px}.form-grid input:focus{outline:2px solid #a3cfc0;outline-offset:0}.form-grid small{font-size:9px;color:#a0abb5}.form-grid input:disabled{color:#95a1ab;background:#f1f4f6}.checkbox-label{display:flex;align-items:center;gap:6px;margin-top:20px;font-size:11px;color:#627789}.checkbox-label input{accent-color:var(--teal)}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #ebeff2;padding-top:19px;margin-top:20px}.danger-text{color:#bf6f72;margin-right:auto;border-color:transparent}.danger-text:hover{background:#fff1f2}#formError{color:#c55c62;font-size:11px}#toast{position:fixed;bottom:25px;left:calc(50% + 111px);transform:translateX(-50%) translateY(80px);z-index:9;background:#203f3c;color:#fff;border-radius:6px;padding:12px 22px;font-size:12px;box-shadow:0 7px 30px #0d283030;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:1600px){main{padding:38px 48px 25px}.main-grid{grid-template-columns:minmax(0,1fr) 355px}.metrics article{padding:22px 25px 18px}.metric-value{font-size:35px}.watch-table td{padding-top:23px;padding-bottom:23px}.watch-table th,.watch-table td{padding-right:24px}.replay-status{margin-top:28px}.detail-panel{padding:25px}.chart{height:82px}.activity-panel{margin-top:24px}.panel-heading{padding-top:23px;padding-bottom:20px}}
@media(max-width:1180px){.sidebar{width:185px;padding:28px 13px}.workspace{margin-left:185px}main{padding:25px 22px}.topbar{padding:0 23px}.main-grid{grid-template-columns:minmax(0,1fr) 280px;gap:15px}.detail-panel{padding:17px}.metric-value{font-size:24px}.metrics article{padding:14px}.page-heading{align-items:flex-start}.actions{flex-wrap:wrap;justify-content:flex-end}.metric-bottom{font-size:8px}.watch-table th,.watch-table td{padding-left:12px;padding-right:12px}.search input{width:95px}.panel-heading,.table-toolbar{padding-left:16px;padding-right:16px}h1{font-size:24px}.brand strong{font-size:21px}.notice #engineStatus{display:none}}
@media(max-width:950px){.sidebar{width:70px;padding:25px 10px}.brand{padding:0 5px 35px}.brand strong,.nav-label,.nav i,.sidebar-rule,.environment,.connection,.sidebar-bottom{display:none}.nav{font-size:0;padding:12px}.nav>span{font-size:24px}.workspace{margin-left:70px}.main-grid{grid-template-columns:1fr}.detail-panel{display:none}.metrics{gap:10px}.metric-value{font-size:23px}.page-heading{gap:12px}.page-heading p{max-width:230px}.top-right .date{display:none}.activity-panel .panel-heading{padding-bottom:0}#toast{left:50%}}
@media(max-width:650px){main{padding:20px 13px}.topbar{padding:0 15px;height:55px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 7px}.page-heading{display:block}.actions{margin-top:20px;justify-content:flex-start}.notice{margin-top:17px;font-size:9px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:12px}.metric-value{margin:8px 0;font-size:25px}.table-toolbar{padding:10px}.segments button{padding:5px 7px}.replay-status{margin:20px 13px;padding:13px}.replay-status p{font-size:8px}.watch-footer{padding:12px;font-size:8px;gap:9px}footer{font-size:8px}footer>span:last-child{display:none}.top-right{gap:0}.demo-label{font-size:8px}.form-grid{gap:12px}dialog{max-width:calc(100vw - 22px);padding:20px}}
.scan-panel{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding:18px 22px}.scan-panel h2{display:flex;gap:15px;align-items:center}.scan-panel select{font-size:12px;border:1px solid #dce5e9;border-radius:5px;padding:7px 9px;background:#f7fbf9;color:#267a69}.scan-panel p{font-size:10px;color:#8192a1;margin:8px 0 0}.scan-info{margin-left:auto;text-align:right;min-width:220px}.scan-info strong{display:block;font-size:12px;font-weight:500;color:#377d6c}.scan-info span{font-size:10px;color:#8999a7;display:block;margin-top:5px}.full-view .scan-panel{display:none}#scanError,#loginError{font-size:12px;color:#ba4e55}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#dcebe7,#f4f6f9 65%)}.login-card{width:420px;max-width:calc(100vw - 30px);margin:30px auto;padding:38px;background:#fff;border:1px solid #e1e8e8;border-radius:14px;box-shadow:0 18px 55px #183f3110}.login-card .brand{color:#243f48;padding:0 0 40px}.login-card h1{font-size:26px}.login-intro{font-size:12px;color:#8b9aa5;margin:12px 0 28px}.login-card label{display:block;font-size:12px;color:#596c7a;margin:17px 0}.login-card input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dce5e9;border-radius:6px;font-size:14px}.login-card .btn{width:100%;padding:12px;font-size:13px;margin-top:10px}.login-note{margin-top:28px;border-top:1px solid #edf1f4;padding-top:20px;line-height:1.9;color:#94a3ac;font-size:10px}.login-card .brand-mark{border-color:#bdd6cd;color:#328674}@media(max-width:950px){.scan-panel{flex-wrap:wrap}.scan-info{margin-left:0;text-align:left;min-width:0}.scan-panel p{max-width:460px}}
.stop-panel{margin-bottom:20px}.stop-panel form{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line)}.stop-panel form>div{margin-right:auto}.stop-panel h2{display:flex;align-items:center;gap:8px}.stop-panel p{font-size:10px;color:#8192a1;margin:8px 0 0}.stop-panel label{font-size:11px;color:#647b8a;white-space:nowrap}.stop-panel input[type=number]{width:74px;padding:7px 8px;border:1px solid #dce5e9;border-radius:5px;color:#234c43}.stop-panel input[type=checkbox]{accent-color:var(--teal);vertical-align:middle}.stop-panel .watch-footer{font-size:9px}.direction.sell,.loss-text{color:#278575}.profit-text{color:#cc6269}.muted{color:#95a4af}.full-view .stop-panel{display:none}@media(max-width:1180px){.stop-panel form{flex-wrap:wrap}.stop-panel form>div{flex-basis:100%}}
