*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
:root{--bg:#eef1f6;--panel:#fff;--soft:#f3f5f9;--soft2:#e7ebf2;--border:#e2e7ef;--border2:#cfd6e2;--text:#1b2233;--text2:#5b6577;--text3:#9aa3b4;--accent:#0d9488;--accent2:#0b7d73;--green:#11935f;--red:#dd3a52;--orange:#d97a06;--purple:#7c4dde;--green-bg:rgba(17,147,95,.1);--red-bg:rgba(221,58,82,.1);--accent-bg:rgba(13,148,136,.1);--purple-bg:rgba(124,77,222,.1);--shadow:0 1px 3px rgba(27,34,51,.06)}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg)}
button,input,select{font:inherit}button{color:inherit}
.btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--soft);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover{background:var(--soft2);border-color:var(--border2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.sm{padding:5px 10px;font-size:11px}.btn:disabled{opacity:.55;cursor:wait}
input,select{width:100%;height:38px;border:1px solid var(--border);border-radius:7px;background:var(--soft);padding:0 11px;font-size:12px;outline:0}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);background:#fff}

/* Login mirrors the original production layout and dimensions. */
.login-page{min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,42%) minmax(0,1fr)}.brand-panel{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:60px;background:linear-gradient(160deg,#fff 0%,#e6f7f4 100%);border-right:1px solid var(--border)}.brand-panel:before{content:"";position:absolute;inset:-50%;background:radial-gradient(ellipse,rgba(13,148,136,.09),transparent 67%)}.brand-content{position:relative;max-width:480px}.brand-content .brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;margin-bottom:16px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:#fff;font-size:22px;box-shadow:0 7px 18px rgba(27,34,51,.12)}.slogan{font-size:14px;color:var(--text2);line-height:1.8}.features{display:flex;flex-direction:column;gap:14px;margin-top:40px}.feature{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text2)}.feature-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:#fff}.form-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-box{width:100%;max-width:380px}.mobile-brand{display:none}.portal-label{display:inline-flex;align-items:center;min-height:28px;margin-bottom:18px;padding:5px 10px;border-radius:6px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:700}.login-card h1{font-size:24px;line-height:1.3;margin-bottom:8px}.login-card .sub{font-size:13px;color:var(--text2);margin-bottom:28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;color:var(--text2);font-weight:500}.field input{height:42px}.input-wrap{position:relative;display:block}.password-input{padding-right:54px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:28px;border:0;background:transparent;color:var(--text2);font-size:11px;cursor:pointer}.error{display:none;min-height:18px;margin:2px 0 8px;color:var(--red);font-size:12px}.submit{width:100%;height:42px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.submit:hover{background:var(--accent2)}.submit:disabled{opacity:.65}.account-note{margin-top:20px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.account-note strong{display:block;margin-bottom:5px;font-size:12px;color:var(--text2)}.account-note span{font-size:11px;color:var(--text3);line-height:1.55}

/* Desktop application */
.admin-page{height:100vh;overflow:hidden}.desktop-app{height:100vh}.topbar{height:50px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:relative;z-index:20}.topbar .brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700}.brand-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--purple));display:grid;place-items:center}.mode-badge{font-size:9px;padding:3px 6px;border-radius:4px;color:var(--orange);background:rgba(217,122,6,.1)}.topbar-right{display:flex;align-items:center;gap:12px;position:relative}.guard-pills{display:flex;gap:7px}.guard-pill{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--soft);font-size:11px;font-weight:800;color:var(--text2)}.guard-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.guard-pill.ok{color:var(--green);border-color:rgba(17,147,95,.32);background:var(--green-bg)}.guard-pill.protected{color:var(--purple);border-color:rgba(124,77,222,.32);background:var(--purple-bg)}.guard-pill.wait{color:var(--orange)}.user-btn{display:flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--soft);cursor:pointer}.user-btn>span:nth-child(2){display:flex;flex-direction:column;text-align:left}.user-btn b{font-size:12px}.user-btn small{font-size:9px;color:var(--text3)}.user-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.user-menu{display:none;position:absolute;right:0;top:43px;width:160px;padding:6px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 8px 30px rgba(27,34,51,.18)}.user-menu.show{display:flex;flex-direction:column}.user-menu button,.user-menu a{border:0;background:transparent;padding:9px 12px;text-align:left;font-size:12px;text-decoration:none;cursor:pointer;border-radius:6px}.user-menu button:hover,.user-menu a:hover{background:var(--soft)}
.app-shell{display:grid;grid-template-columns:210px 330px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:calc(100vh - 50px)}.exchange-pane,.strategy-pane{background:#fff;border-right:1px solid var(--border);min-width:0;display:flex;flex-direction:column}.pane-head{height:44px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:0 12px;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.spacer{flex:1}.icon-button{border:0;background:transparent;color:var(--text3);font-size:18px;cursor:pointer}.exchange-list,.strategy-list{padding:10px;overflow:auto;flex:1}.exchange-card{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff;text-align:left;cursor:pointer}.exchange-card.active{border-color:rgba(13,148,136,.35);background:var(--accent-bg)}.exchange-logo{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f3ba2f;color:#111;font-weight:900}.exchange-card span:nth-child(2){display:flex;flex-direction:column}.exchange-card b{font-size:12px}.exchange-card small{font-size:9px;color:var(--text3);margin-top:2px}.exchange-card em{font-style:normal;font-size:10px;color:var(--green)}.pane-foot{height:38px;padding:0 12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--text3)}.pane-foot b{color:var(--orange)}
.pane-restore{height:25px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--soft);font-size:9px;cursor:pointer}.hide-exchange-pane .app-shell{grid-template-columns:0 330px minmax(0,1fr)}.hide-strategy-pane .app-shell{grid-template-columns:210px 0 minmax(0,1fr)}.hide-exchange-pane.hide-strategy-pane .app-shell{grid-template-columns:0 0 minmax(0,1fr)}.hide-exchange-pane .exchange-pane,.hide-strategy-pane .strategy-pane{visibility:hidden;overflow:hidden}
.strategy-list{display:flex;flex-direction:column;gap:8px}.strategy-card{flex:0 0 auto;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.strategy-card>header,.strategy-card>footer{display:flex;align-items:center;justify-content:space-between;padding:10px 11px}.strategy-card>header>div{display:flex;flex-direction:column}.strategy-card h3,.strategy-card b{font-size:12px}.strategy-card small{font-size:9px;color:var(--text3);margin-top:2px}.strategy-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--soft)}.strategy-metrics span{padding:8px 10px;font-size:9px;color:var(--text3);display:flex;flex-direction:column}.strategy-metrics span+span{border-left:1px solid var(--border)}.strategy-metrics b{font-size:13px;margin-top:3px;color:var(--text)}.running-dot{font-size:10px;color:var(--green)}.running-dot:before{content:"●";margin-right:5px}.switch input{display:none}.switch span{width:30px;height:17px;border-radius:12px;background:var(--border2);display:block;position:relative}.switch span:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;top:2px;left:2px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{left:15px}
.workspace{min-width:0;min-height:0;display:flex;flex-direction:column}.main-tabs{height:42px;background:#fff;border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.main-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 14px;color:var(--text2);font-size:11px;white-space:nowrap;cursor:pointer}.main-tabs button:hover{background:var(--soft)}.main-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.page-scroll{min-height:0;flex:1;overflow:auto;padding:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.page-heading h1{font-size:16px}.page-heading p{font-size:10px;color:var(--text3);margin-top:3px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}.summary-card{position:relative;border:1px solid var(--border);border-radius:10px;background:#fff;padding:11px 12px;overflow:hidden;box-shadow:var(--shadow)}.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.summary-card.green:before{background:var(--green)}.summary-card.purple:before{background:var(--purple)}.summary-card.orange:before{background:var(--orange)}.summary-card small{display:block;font-size:9px;color:var(--text2)}.summary-card>b{display:block;font-size:14px;margin-top:3px}.summary-card>span{font-size:9px;color:var(--text3)}.number{font-family:ui-monospace,"SF Mono",Menlo,monospace}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.chart-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:8px;margin-bottom:8px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:8px}.panel-head{min-height:42px;padding:0 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-head h3{font-size:12px}.panel-head>div{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text2)}.range-tabs,.billing-tabs{display:flex}.range-tabs button,.billing-tabs button{border:0;background:var(--soft);padding:5px 9px;font-size:10px;cursor:pointer}.range-tabs button.active,.billing-tabs button.active{background:var(--accent);color:#fff}.line-chart{height:174px;padding:12px;background:linear-gradient(#fff,#fbfcfd)}.line-chart svg{width:100%;height:100%;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent 0,transparent 36px,rgba(27,34,51,.06) 37px)}.line-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.signal-card{margin-bottom:0}.signal-row{display:grid;grid-template-columns:60px 1fr auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);font-size:10px}.signal-row span{color:var(--text3)}.signal-row b{font-size:11px}.signal-row em{font-style:normal}.tag{display:inline-flex;padding:3px 7px;border-radius:4px;font-size:9px;font-weight:700}.tag.green{color:var(--green);background:var(--green-bg)}.tag.purple{color:var(--purple);background:var(--purple-bg)}.tag.blue{color:var(--accent);background:var(--accent-bg)}
.table-wrap{overflow:auto;scrollbar-gutter:stable}table{width:100%;border-collapse:collapse;min-width:760px}th{position:sticky;top:0;z-index:2;padding:8px 10px;text-align:left;font-size:10px;color:var(--text3);font-weight:500;background:var(--soft);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:9px 10px;font-size:11px;border-bottom:1px solid var(--border)}tbody tr:hover td{background:rgba(13,148,136,.04)}td small{display:block;font-size:9px;color:var(--text3);margin-top:2px}.side{padding:2px 6px;border-radius:3px;font-size:9px;font-weight:700}.side.long{background:var(--green-bg);color:var(--green)}.side.short{background:var(--red-bg);color:var(--red)}.filter-bar{padding:10px;display:flex;gap:7px;border-bottom:1px solid var(--border)}.filter-bar input{width:220px;margin-left:auto;height:30px}.chip{height:30px;padding:0 11px;border:1px solid var(--border);border-radius:6px;background:var(--soft);font-size:10px;cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text3)}.empty-state.small{min-height:120px}.empty-icon{font-size:38px;margin-bottom:12px}.empty-state h3{font-size:13px;color:var(--text2)}.empty-state p{font-size:10px;margin-top:6px}.form-panel-card,.guard-panel{padding:14px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.form-grid label{font-size:10px;color:var(--text2);font-weight:600}.form-grid input,.form-grid select{margin-top:6px}.form-actions{display:flex;gap:8px;margin-top:14px;align-items:center}.guard-panel .panel-head{margin:-14px -14px 14px}.guard-flow{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;margin-top:14px;background:var(--soft);border-radius:8px}.guard-flow span{padding:6px 10px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:10px;font-weight:600}.guard-flow i{color:var(--text3)}.order-scenarios{flex-wrap:wrap}.order-result{font-size:10px;color:var(--text3);font-family:ui-monospace,"SF Mono",Menlo,monospace}.order-result-panel{min-height:42px;margin-top:10px;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--soft);display:flex;align-items:center;gap:10px}.order-result-panel b{color:var(--text)}.order-result-panel span{flex:1}.account-card{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:16px}.account-logo{width:48px;height:48px;border-radius:50%;background:#f3ba2f;display:grid;place-items:center;font-weight:900}.account-card h3{font-size:13px}.account-card p{font-size:10px;color:var(--text3);margin-top:3px}.account-values{display:flex;gap:26px;margin-top:12px}.account-values span{display:flex;flex-direction:column;font-size:9px;color:var(--text3)}.account-values b{font-size:12px;color:var(--text);margin-top:3px}.account-actions{display:flex;gap:6px}.billing-tabs{padding:12px}.billing-tabs button{border:1px solid var(--border)}.user-cell{display:flex;align-items:center;gap:8px}.user-cell i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;font-style:normal}.user-cell i.normal{background:var(--green)}.danger-text{color:var(--red)}
.modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);z-index:100}.modal-overlay.show{display:flex}.modal{width:560px;max-width:94vw;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}.modal>header,.modal>footer{display:flex;align-items:center;padding:14px 18px}.modal>header{justify-content:space-between;border-bottom:1px solid var(--border)}.modal>header h2{font-size:15px}.modal-close{border:0;background:transparent;cursor:pointer}.modal>header .modal-close{font-size:22px;color:var(--text3)}.modal-body{padding:22px 18px;min-height:110px;font-size:12px;color:var(--text2);line-height:1.7}.modal-field{display:block;margin-top:18px;font-size:11px}.modal-field input{margin-top:5px}.modal>footer{justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);padding:10px 16px;border-radius:8px;background:var(--text);color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:var(--red)}.loading-panel,.error-panel{min-height:300px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text3);font-size:12px}.skeleton-list:before{content:"";display:block;height:80px;border-radius:8px;background:linear-gradient(90deg,var(--soft),#fff,var(--soft));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}
.modal-overlay.strategy-editor .modal{width:960px;height:828px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:10px}.strategy-editor .modal>header{height:63px;flex:0 0 63px;padding:0 20px}.strategy-editor .modal-body{position:relative;min-height:0;flex:1;padding:18px 20px;overflow:hidden;line-height:1.45}.strategy-editor .modal>footer{height:63px;flex:0 0 63px;padding:0 20px}.strategy-editor-tabs{height:44px;display:flex;gap:4px;border-bottom:1px solid var(--border)}.strategy-editor-tabs button{height:38px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text3);font-size:11px;cursor:pointer}.strategy-editor-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:750}.editor-message{position:absolute;top:66px;left:22px;right:22px;z-index:3;padding:8px 11px;border:1px solid rgba(17,147,95,.35);border-radius:6px;background:#effaf6;color:var(--green);font-size:10px;box-shadow:0 3px 10px rgba(27,34,51,.08)}.editor-message.error{border-color:rgba(221,58,82,.35);background:var(--red-bg);color:var(--red)}.strategy-editor-panes{height:calc(100% - 44px);overflow:hidden}.strategy-editor-pane{display:none;height:100%;overflow:auto;padding:18px 2px 30px}.strategy-editor-pane.active{display:block}.editor-section{padding:0 0 22px;margin-bottom:18px;border-bottom:1px solid var(--border)}.editor-section h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--text)}.editor-section h3 i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--accent-bg);color:var(--accent);font-style:normal;font-size:11px}.editor-section>p{margin:-5px 0 13px;color:var(--text3);font-size:10px}.editor-form{display:grid;gap:12px}.editor-form.four{grid-template-columns:1.2fr .85fr .8fr 1.2fr}.editor-form.three{grid-template-columns:repeat(3,1fr)}.editor-form label{font-size:10px;font-weight:700;color:var(--text2)}.editor-form label small{display:block;min-height:28px;margin-top:3px;font-weight:400;line-height:1.35;color:var(--text3)}.editor-form input,.editor-form select{height:34px;margin-top:6px;font-size:11px}.editor-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.editor-toolbar>span{font-size:10px}.editor-toolbar select{width:155px;height:30px}.editor-toolbar .btn{margin-left:auto}.condition-list{display:flex;flex-direction:column;gap:7px}.condition-row{min-height:42px;display:grid;grid-template-columns:205px 1fr 28px;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--soft);font-size:10px}.condition-row select{height:28px;background:#fff}.condition-row>button{width:26px;height:26px;border:0;border-radius:5px;background:var(--red-bg);color:var(--red);cursor:pointer}.editor-check{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:10px;border-radius:7px;background:var(--soft);font-size:10px}.editor-check input{width:auto;height:auto;margin-top:2px}.direction-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.direction-columns>div{padding:12px;border:1px solid var(--border);border-radius:8px}.direction-columns h4{margin-bottom:10px;font-size:11px}.direction-columns .condition-row{grid-template-columns:145px 1fr 28px;margin-top:7px}.account-choice{display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px}.account-choice.active{border-color:var(--accent);background:var(--accent-bg)}.account-choice b,.account-choice span{display:block}.account-choice span{margin-top:3px;color:var(--text3);font-size:10px}.account-choice input{grid-column:2;grid-row:1 / span 2;width:auto}.dictionary-grid{display:grid;grid-template-columns:110px 1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.dictionary-grid>*{padding:11px;border-bottom:1px solid var(--border)}.dictionary-grid b{background:var(--soft)}
.market-page>.panel-head h3 small,.earnings-page>.panel-head h3 small,.backtest-page>.panel-head h3 small{margin-left:6px;color:var(--text3);font-weight:400}.market-toolbar{align-items:center;flex-wrap:wrap}.market-toolbar>input{order:0;width:180px;margin-left:0}.market-toolbar>select{width:125px;height:30px}.market-trend{font-family:ui-monospace,"SF Mono",Menlo,monospace}.market-history-head{display:flex;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid var(--border)}.market-history-head h3{font-size:13px}.market-history-head p{margin-top:4px;color:var(--text3);font-size:10px}.market-history-head>div:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.market-history-head select,.market-history-head input{width:150px;height:30px}.market-history-meta{display:block;margin-top:5px;color:var(--accent);font-size:9px}.market-history-table table{min-width:1180px}.market-history-table td{white-space:nowrap}.candidate-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;padding:14px;border:1px solid var(--border);border-radius:9px;background:#fff}.candidate-context h2{font-size:15px}.candidate-context p{margin-top:4px;color:var(--text3);font-size:10px}.candidate-stats{display:grid;grid-template-columns:repeat(5,100px);gap:6px}.candidate-stats span{padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--soft)}.candidate-stats small,.candidate-stats b{display:block}.candidate-stats small{font-size:9px;color:var(--text3)}.candidate-stats b{margin-top:3px;font-size:12px}.candidate-toolbar,.earnings-toolbar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border)}.candidate-toolbar label,.earnings-toolbar label{min-width:110px;font-size:9px;color:var(--text3)}.candidate-toolbar select,.candidate-toolbar input,.earnings-toolbar select{height:32px;margin-top:4px}.candidate-notice{padding:8px 12px;border-bottom:1px solid var(--border);background:var(--accent-bg);color:var(--text2);font-size:10px}.candidate-table{min-width:1440px}.candidate-table td{vertical-align:top;white-space:nowrap}.earnings-toolbar .btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.earnings-page .summary-grid{padding:12px;margin:0}.params-grid{display:grid;gap:8px}.params-grid .panel{margin:0}.backtest-form{display:grid;grid-template-columns:1fr 2fr 1fr 1.4fr 1fr 1fr 1fr;gap:8px;padding:12px 14px}.backtest-form label,.backtest-scan label{font-size:9px;color:var(--text3)}.backtest-form input,.backtest-form select,.backtest-scan input,.backtest-scan select{height:32px;margin-top:4px}.backtest-form label.wide>span{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:4px}.backtest-form label.wide>span input{margin:0}.backtest-presets{display:flex;gap:3px;margin-top:4px}.backtest-presets .chip{padding:0 7px}.backtest-note{margin:0 14px 8px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--soft);color:var(--text2);font-size:10px}.backtest-scan{display:flex;align-items:end;gap:8px;padding:10px 14px;border-top:1px dashed var(--border)}.backtest-scan label{min-width:130px}.account-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-operation{padding-bottom:12px}.account-operation>.panel-head{margin-bottom:10px}.account-operation>.panel-head>div small{color:var(--text3);font-size:9px}.account-operation>p{padding:8px 12px 0;color:var(--text3);font-size:10px}.account-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px;align-items:end}.account-form-grid label{font-size:9px;color:var(--text3)}.account-form-grid input,.account-form-grid select{height:32px;margin-top:4px}.account-form-grid.withdraw{grid-template-columns:repeat(6,1fr);padding-bottom:10px}
.plan-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-side{min-width:0;padding:11px;border:1px solid var(--border);border-radius:8px;background:#fff}.plan-side>header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:8px}.plan-side>header h4{font-size:12px}.plan-side>header span{font-size:9px;color:var(--text3)}.plan-stage{padding:8px;margin:8px 0;border:1px dashed var(--border);border-radius:8px;background:var(--soft)}.plan-stage-head,.plan-group-head{display:flex;align-items:center;gap:5px}.plan-stage-head b{font-size:11px;white-space:nowrap}.plan-stage-head small{font-size:9px;color:var(--text3)}.plan-spacer{flex:1}.plan-stage-head .btn,.plan-group-head .btn{padding:0 7px}.plan-group{padding:7px;margin:7px 0;border:1px solid var(--border);border-radius:7px;background:#fff}.plan-group-head{font-size:9px;color:var(--text3)}.plan-group-head select{width:100px;height:27px;font-size:9px}.plan-group-head label{display:flex;align-items:center;gap:3px;white-space:nowrap}.plan-group-head input{width:48px;height:27px}.plan-condition-list{display:flex;flex-direction:column;gap:5px;margin-top:6px}.plan-condition{display:grid;grid-template-columns:minmax(185px,1fr) 67px 78px 26px;gap:5px;align-items:center}.plan-condition select,.plan-condition input{height:28px;font-size:9px}.plan-condition-number{display:flex;align-items:center;gap:3px;font-size:9px}.plan-condition-number input{min-width:0;width:58px}.plan-condition>.btn{width:26px;padding:0}.plan-side>.btn{margin-top:5px}.daily-clear-editor{margin-top:12px;padding:10px;border:1px dashed var(--border);border-radius:8px;background:var(--soft)}.daily-clear-editor-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.daily-clear-editor-head b{font-size:11px}.daily-clear-editor-head small{color:var(--text3);font-size:9px;line-height:1.5}.daily-clear-side .plan-stage{margin-bottom:0;border:0;padding:0;background:transparent}.condition-row>small{color:var(--text3);line-height:1.35}@media(max-width:900px){.plan-direction-grid{grid-template-columns:1fr}.plan-stage-head small{display:none}}
.earnings-body{padding:12px 14px}.earn-group{margin-bottom:12px;border:1px solid var(--border);border-radius:9px;overflow:hidden}.earn-group:last-child{margin-bottom:0}.earn-group-head{display:flex;align-items:center;gap:6px;padding:9px 11px;background:var(--soft);font-size:11px;font-weight:800}.earn-group-head span{padding:2px 7px;border-radius:10px;background:#fff;color:var(--text3);font-size:9px;font-weight:500}.earn-table{min-width:1280px}.earn-table td{vertical-align:top}.earn-table td>small,.earn-table td>b+small{display:block;margin-top:3px;color:var(--text3);font-size:9px}.earn-chip{display:inline-flex;margin:1px 3px 1px 0;padding:2px 6px;border-radius:10px;background:var(--accent-bg);color:var(--accent);font-size:9px;white-space:nowrap}.earn-empty{color:var(--text3)}.tag.orange{color:var(--orange);background:#fff5e8}.tag.red{color:var(--red);background:var(--red-bg)}.earn-detail-row>td{padding:0!important;background:#fbfcff}.earn-detail{padding:12px}.earn-period-bar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;padding-bottom:10px}.earn-period-presets{display:flex;gap:4px}.earn-period-bar label{font-size:9px;color:var(--text3)}.earn-period-bar input{display:block;width:130px;height:30px;margin-top:3px}.earn-period-bar>span{align-self:center;color:var(--text3);font-size:9px}.earn-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.earn-metrics>span{padding:9px;border:1px solid var(--border);border-radius:7px;background:#fff}.earn-metrics small,.earn-metrics b{display:block}.earn-metrics small{color:var(--text3);font-size:9px}.earn-metrics b{margin-top:3px;font-size:11px}.earn-detail-title{font-size:11px;font-weight:800}.earn-ledger-note{margin:5px 0 8px;color:var(--text3);font-size:9px;line-height:1.6}.earn-detail-actions{display:flex;gap:6px;margin-top:9px}
.return-curve{margin:8px 0 10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}.return-curve-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:10px;color:var(--text2)}.return-curve-head b{font-size:12px}.return-curve svg{display:block;width:100%;height:190px;border-radius:6px;background:repeating-linear-gradient(to bottom,#fbfcfe 0,#fbfcfe 46px,#edf1f6 47px)}.return-curve polyline{fill:none;stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.return-curve circle{fill:#fff;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.return-curve-empty{height:110px;display:grid;place-items:center;color:var(--text3);font-size:10px}.earn-trade-kline{height:430px;margin-top:12px;border-radius:9px;overflow:hidden;background:#0e1116}.earn-trade-kline iframe{display:block;width:100%;height:100%;border:0}.modal-overlay.earnings-view .modal{width:min(1080px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column}.earnings-view .modal-body{flex:1;min-height:0;overflow:auto}
.modal-overlay.candidate-view .modal{width:min(1040px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));display:flex;flex-direction:column}.candidate-view .modal-body{flex:1;min-height:0;overflow:auto;padding:14px;background:#f4f7fb}.candidate-summary-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff}.candidate-summary-strip small{color:var(--text3);font-size:9px}.candidate-summary-strip h3{margin-top:3px;font-size:15px}.candidate-summary-strip p{margin-top:4px;color:var(--text2);font-size:10px}.candidate-summary-strip>strong{font-size:20px}.candidate-exec-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}.candidate-exec-strip>span,.candidate-data-grid>span{padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.candidate-exec-strip small,.candidate-exec-strip b,.candidate-data-grid small,.candidate-data-grid b{display:block}.candidate-exec-strip small,.candidate-data-grid small{color:var(--text3);font-size:9px}.candidate-exec-strip b,.candidate-data-grid b{margin-top:4px;font-size:10px}.candidate-detail-tabs{display:flex;gap:4px;padding:7px;border:1px solid var(--border);border-radius:9px 9px 0 0;background:#fff}.candidate-detail-tabs button{height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--text2);font-size:10px;cursor:pointer}.candidate-detail-tabs button.active{background:var(--accent);color:#fff;font-weight:700}.candidate-detail-pane{display:none;padding:12px;border:1px solid var(--border);border-top:0;border-radius:0 0 9px 9px;background:#fff}.candidate-detail-pane.active{display:block}.candidate-detail-pane section>h3{margin-bottom:10px;font-size:12px}.candidate-detail-pane iframe{width:100%;height:470px;border:0;border-radius:8px;background:#0e1116}.candidate-chain-step{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:9px 0;border-bottom:1px dashed var(--border)}.candidate-chain-step i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--text3);font-style:normal;font-weight:800}.candidate-chain-step.pass i{background:var(--green-bg);color:var(--green)}.candidate-chain-step.block i{background:var(--red-bg);color:var(--red)}.candidate-chain-step b,.candidate-chain-step span{display:block}.candidate-chain-step b{font-size:10px}.candidate-chain-step span{margin-top:2px;color:var(--text3);font-size:9px}.candidate-proof-note{margin-top:10px;padding:8px;border-radius:7px;background:var(--soft);color:var(--text2);font-size:9px;line-height:1.6}.candidate-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.candidate-log-row,.candidate-empty-state{padding:12px;border:1px solid var(--border);border-radius:8px}.candidate-log-row b,.candidate-log-row span{display:block}.candidate-log-row span{margin-top:4px;color:var(--text2);font-size:10px}.candidate-empty-state{color:var(--text3);font-size:10px}
.market-detail-head{min-height:54px;display:flex;align-items:center;gap:14px;padding:8px 12px;border-bottom:1px solid var(--border)}.market-detail-head>div{display:flex;align-items:center;gap:10px}.market-detail-head b{font-size:15px}.market-detail-head strong{font-size:14px}.market-detail-head>span:last-child{margin-left:auto}.market-detail-chart{height:440px;display:grid;place-items:center;margin:12px;border-radius:9px;background:#0e1116;color:#8b949e;font-size:10px;overflow:hidden}.market-detail-chart iframe{width:100%;height:100%;border:0}.market-detail-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:0 12px 12px}.market-detail-stats>span{padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.market-detail-stats small,.market-detail-stats b{display:block}.market-detail-stats small{color:var(--text3);font-size:9px}.market-detail-stats b{margin-top:3px;font-size:10px}.market-profile{margin:0 12px 12px;padding-top:11px;border-top:1px solid var(--border)}.market-profile h3{margin-bottom:9px;font-size:12px}.market-profile .market-detail-stats{padding:0}.market-profile p{margin-top:8px;color:var(--text3);font-size:9px}.candidate-chart-placeholder{height:470px;display:grid;place-items:center;border-radius:8px;background:#0e1116;color:#8b949e;font-size:10px}.candidate-chart-placeholder:has(iframe){display:block}
.modal-overlay.chart-view .modal{width:min(1180px,calc(100vw - 32px));height:min(790px,calc(100vh - 32px));display:flex;flex-direction:column}.chart-view .modal-body{flex:1;min-height:0;padding:0;background:#0e1116}.chart-view .modal>footer{display:none}.chart-dialog-tools{height:42px;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#161b22;color:#8b949e;font-size:10px}.chart-dialog-tools .btn{color:#e6edf3;border-color:#303946;background:#222a35;text-decoration:none}.chart-frame{width:100%;height:calc(100% - 42px);display:block;border:0;background:#0e1116}
.dialog-section{padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid var(--border)}.dialog-section:last-child{border:0;margin:0;padding:0}.dialog-section h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;color:var(--text)}.dialog-section h3 i{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent);font-style:normal}.dialog-grid{display:grid;gap:11px}.dialog-grid.two{grid-template-columns:1fr 1fr}.dialog-grid.one{grid-template-columns:1fr}.dialog-field{display:flex;flex-direction:column;gap:5px}.dialog-field label{font-size:10px;font-weight:700;color:var(--text2)}.dialog-field label small,.dialog-check small{font-weight:400;color:var(--text3)}.password-row{display:grid;grid-template-columns:1fr auto;gap:6px}.dialog-note{margin-top:10px;color:var(--text3);font-size:10px}.dialog-check{display:flex;align-items:center;gap:7px;font-size:11px}.dialog-check input{width:auto;height:auto}.profile-editor{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:18px}.profile-editor .large{width:58px;height:58px;font-size:18px}.profile-editor small{color:var(--text3)}
.user-management-editor input:not([type="checkbox"]),.user-management-editor select{border-color:rgba(13,148,136,.48);background:#fff}.user-management-editor .dialog-field label:after{content:" · 可编辑";color:var(--accent);font-weight:600}.user-edit-scope{padding:9px 11px;border:1px solid rgba(13,148,136,.28);border-radius:7px;background:var(--accent-bg);color:var(--text2);font-size:10px;line-height:1.55}.user-edit-scope b{color:var(--accent)}
.mobile-app{display:none}

/* Desktop fidelity baseline captured from the authorised 8.0 admin at 1440px. */
@media(min-width:1181px){
  .topbar{height:50px;padding:0 16px}.topbar .brand{flex-shrink:0;font-size:15px;white-space:nowrap}.topbar-right{width:876px;gap:8px}.guard-pills{display:grid;grid-template-columns:110px 240px 140px 120px 120px;gap:6px}.guard-pill{height:28px;padding:0 10px;border-radius:8px;font-size:11px;font-weight:650}.guard-pill:before{width:7px;height:7px}.user-btn{width:112px;height:40px;padding:3px 8px}.user-avatar{background:#7688df}
  .app-shell{grid-template-columns:150px 395px minmax(0,1fr);column-gap:8px;height:calc(100vh - 50px);background:#eef0f4}
  .hide-exchange-pane .app-shell{grid-template-columns:0 395px minmax(0,1fr)}.hide-strategy-pane .app-shell{grid-template-columns:150px 0 minmax(0,1fr)}.hide-exchange-pane.hide-strategy-pane .app-shell{grid-template-columns:0 0 minmax(0,1fr)}
  .pane-head{height:40px;padding:0 10px}.exchange-pane .pane-head{height:45px}.strategy-pane .pane-head{height:50px}.exchange-list{padding:8px}.strategy-list{padding:10px 12px;gap:8px}.pane-foot{height:38px}
  .exchange-card{border-color:transparent;border-radius:7px;padding:9px 8px;grid-template-columns:32px 1fr 7px}.exchange-card.active{border-color:rgba(13,148,136,.35)}.exchange-card+.exchange-card{margin-top:3px}.exchange-card em{width:7px;height:7px;border-radius:50%;background:var(--green);font-size:0}.exchange-logo{border-radius:8px;font-size:10px}.exchange-card b{font-size:12px}.exchange-card small{font-size:9px}
  .instance-pill{padding:4px 8px;border:1px solid rgba(17,147,95,.28);border-radius:12px;background:var(--green-bg);color:var(--green);font-size:10px;white-space:nowrap}.strategy-section-label{padding:7px 10px;border-radius:6px;background:var(--green-bg);color:var(--green);font-size:10px;font-weight:700}.strategy-card{border-color:rgba(17,147,95,.28);border-radius:9px;background:rgba(17,147,95,.09);box-shadow:none}.strategy-card.stopped{border-color:var(--border);background:#fff}.strategy-card>header{padding:11px 11px 7px}.strategy-card>footer{justify-content:flex-start;gap:7px;padding:8px 11px 11px;flex-wrap:wrap}.strategy-card h3,.strategy-card b{font-size:12px}.strategy-card small{font-size:9px}.strategy-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 11px 8px}.strategy-meta span,.strategy-tags span{padding:3px 7px;border-radius:9px;background:rgba(255,255,255,.78);font-size:9px;color:var(--text2)}.strategy-tags{display:flex;gap:5px;flex-wrap:wrap;padding:8px 11px}.strategy-state{padding:2px 7px;border-radius:8px;background:var(--green-bg);color:var(--green);font-size:9px}.strategy-card.stopped .strategy-state{background:var(--soft);color:var(--text3)}.strategy-metrics{margin:0 11px;border:0;gap:4px;background:transparent}.strategy-metrics span{align-items:center;min-height:43px;padding:5px;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.8)}.strategy-metrics span+span{border-left:1px solid var(--border)}.strategy-metrics b{font-size:12px}.strategy-card footer .btn{padding:4px 9px;background:#fff}.strategy-card footer .running-dot{display:none}
  .main-tabs{height:43px}.main-tabs button{padding:0 13px;font-size:11px}.page-scroll{padding:12px 14px;background:#eef0f4}.page-scroll.overview-page{padding:10px 14px 20px;background:#eef0f4}
  .account-overview{min-height:764px;margin-bottom:12px;border-radius:9px}.account-overview>.panel-head{height:55px;align-items:center}.overview-title{display:flex;align-items:center;gap:8px}.overview-title h3{font-size:13px}.overview-tools{display:flex;align-items:center;gap:10px}.timezone-box{height:30px;display:flex;align-items:center;gap:7px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--soft);font-size:10px;color:var(--text2)}.timezone-box input{width:50px;height:22px;padding:0 5px;background:#fff}.account-table{width:100%;min-width:1440px;table-layout:fixed}.account-table th{height:34px;padding:7px 10px}.account-table th:nth-child(1){width:125px}.account-table th:nth-child(2){width:45px}.account-table th:nth-child(3){width:102px}.account-table th:nth-child(4),.account-table th:nth-child(5),.account-table th:nth-child(6),.account-table th:nth-child(7),.account-table th:nth-child(8){width:88px}.account-table th:nth-child(9){width:69px}.account-table th:nth-child(10){width:51px}.account-table th:nth-child(11){width:97px}.account-table th:nth-child(12){width:83px}.account-table th:nth-child(13){width:56px}.account-table th:nth-child(14){width:120px}.account-table td{height:160px;padding:11px 10px;vertical-align:middle;white-space:nowrap}.account-table td:nth-child(3){white-space:normal}.account-table .account-identity{white-space:normal;line-height:1.34}.account-table .account-identity b{display:block;font-size:11px}.account-table .account-identity small{margin:0}.account-table .account-identity em{display:block;color:var(--green);font-size:9px;font-style:normal}.account-group td{height:32px!important;padding:7px 10px!important;background:var(--soft);color:var(--green);font-size:10px}.env-live{display:inline-flex;padding:3px 6px;border-radius:3px;background:var(--red-bg);color:var(--red);font-size:9px}.connection-ok{white-space:normal;color:var(--green);line-height:1.45}.current-positions{margin-bottom:0}.current-positions .panel-head{min-height:42px}
  .grouped-positions{margin-bottom:7px}.grouped-positions>.panel-head{height:57px}.positions-detail-table{width:100%;min-width:1300px;table-layout:fixed}.positions-detail-table th:nth-child(1){width:95px}.positions-detail-table th:nth-child(2){width:106px}.positions-detail-table th:nth-child(3){width:46px}.positions-detail-table th:nth-child(4){width:87px}.positions-detail-table th:nth-child(5){width:80px}.positions-detail-table th:nth-child(6){width:65px}.positions-detail-table th:nth-child(7){width:56px}.positions-detail-table th:nth-child(8),.positions-detail-table th:nth-child(9){width:66px}.positions-detail-table th:nth-child(10){width:75px}.positions-detail-table th:nth-child(11){width:51px}.positions-detail-table th:nth-child(12){width:112px}.positions-detail-table th:nth-child(13){width:128px}.position-group td{height:58px;padding:9px 12px;background:#f3f5f8}.position-group td b{margin-right:14px}.position-group td span{color:var(--text2);font-size:10px}.position-group td button{float:right;border:0;background:transparent;color:var(--accent);font-size:10px}.position-row td{height:118px;vertical-align:middle;white-space:nowrap}.position-row td:nth-child(2){white-space:normal}.position-row td:last-child{white-space:normal;line-height:2}.position-row td small{white-space:normal;line-height:1.35}
  .opportunity-panel>.panel-head{min-height:64px;align-items:flex-start;padding-top:13px}.opportunity-panel>.panel-head>div{max-width:620px;text-align:right;line-height:1.45}.opportunity-table{width:100%;min-width:1050px;table-layout:fixed}.opportunity-table th:nth-child(1){width:93px}.opportunity-table th:nth-child(2){width:62px}.opportunity-table th:nth-child(3){width:79px}.opportunity-table th:nth-child(4){width:72px}.opportunity-table th:nth-child(5),.opportunity-table th:nth-child(6){width:128px}.opportunity-table th:nth-child(7){width:57px}.opportunity-table th:nth-child(8){width:230px}.opportunity-table td{height:auto;padding-top:10px;padding-bottom:10px;vertical-align:middle}.opportunity-table td:last-child{white-space:normal;line-height:1.4}.opportunity-table td:last-child .btn{margin-top:5px}.opportunity-status{display:block;color:var(--text);font-weight:800}.opportunity-status.held{color:var(--purple)}.opportunity-status.triggered-long{color:var(--green)}.opportunity-status.triggered-short{color:var(--red)}.opportunity-held-observation td{background:var(--green-bg)}.opportunity-untriggered td,.opportunity-untriggered td b,.opportunity-untriggered td small,.opportunity-untriggered .side{color:var(--text3)!important}.opportunity-untriggered .side{background:var(--soft)}
}

/* Strategy condition parameters need one flexible slot for rank and DIF/DEA ranges. */
.strategy-editor .plan-condition{grid-template-columns:minmax(185px,1fr) 67px minmax(78px,auto) 26px}
.strategy-editor .plan-condition-number,.strategy-editor .plan-condition-band,.strategy-editor .plan-condition-breakout,.strategy-editor .plan-condition-rank{display:flex;align-items:center;gap:3px;font-size:9px;white-space:nowrap}
.strategy-editor .plan-condition-band select{width:66px}
.strategy-editor .plan-condition-band input{width:34px;min-width:0}
.strategy-editor .plan-condition-rank input{width:38px;min-width:0}
.strategy-editor .plan-condition-breakout input{width:34px;min-width:0}

.rank-replacement-options{margin-top:10px}.rank-replacement-options .editor-check.compact{margin:0;min-height:34px;align-items:center}.rank-replacement-options .editor-check.compact input{margin:0}

/* Keep the runtime guards and circuit-breaker controls readable instead of
   squeezing status text and nine inputs into a single row. */
@media(min-width:761px){
  .guard-pill{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .systemic-risk-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1400px) and (min-width:1001px){.systemic-risk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px) and (min-width:761px){.systemic-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.guard-pill.bad{color:var(--red);border-color:rgba(205,55,55,.32);background:var(--red-bg)}
/* Wide workstations keep the 8.0 information architecture while using the extra room. */
@media(min-width:1900px){
  .app-shell{grid-template-columns:150px 420px minmax(0,1fr)}
  .hide-exchange-pane .app-shell{grid-template-columns:0 420px minmax(0,1fr)}.hide-strategy-pane .app-shell{grid-template-columns:150px 0 minmax(0,1fr)}
  .main-tabs button{font-size:12px}.strategy-card h3,.strategy-card b{font-size:13px}.strategy-card small,.strategy-meta span,.strategy-tags span{font-size:10px}.strategy-metrics b{font-size:13px}
  .workspace th{font-size:11px}.workspace td{font-size:12px;line-height:1.45}.workspace td small{font-size:10px}
}
.sidebar-empty{margin:6px 2px;padding:22px 10px;border:1px dashed var(--border);border-radius:8px;background:#fff;text-align:center;color:var(--text3);font-size:10px}

@media(max-width:760px){
  .login-page{background:#f4f6f9}.auth-shell{display:block;min-height:100dvh}.brand-panel{display:none}.form-panel{min-height:100dvh;align-items:flex-start;padding:calc(46px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom))}.login-box{max-width:430px;margin:0 auto}.mobile-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:31px}.mobile-brand-mark{width:72px;height:72px;border-radius:20px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:34px;box-shadow:0 12px 28px rgba(13,148,136,.24)}.mobile-brand-name{font-size:29px;font-weight:850;margin-top:17px}.mobile-brand-sub{font-size:15px;color:#7c8798;margin-top:8px}.login-card{background:#fff;border:1px solid #e0e6ee;border-radius:19px;padding:24px 20px 21px;box-shadow:0 9px 30px rgba(30,48,82,.07)}.portal-label{min-height:30px;margin-bottom:15px;padding:6px 10px;border-radius:8px;font-size:12px}.login-card h1{font-size:24px;margin-bottom:7px}.login-card .sub{font-size:14px;line-height:1.55;margin-bottom:24px}.field{gap:9px;margin-bottom:18px;font-size:14px;font-weight:700;color:#465166}.field input{height:56px;border-radius:13px;font-size:17px}.password-toggle{height:44px;font-size:13px}.submit{height:56px;border-radius:14px;font-size:18px;margin-top:6px}.account-note{margin:18px 5px 0;padding:0;border:0;background:transparent;text-align:center}.account-note strong{display:none}.account-note span{font-size:13px;color:#8490a4}
  .desktop-app{display:none}.mobile-app{display:flex;flex-direction:column;height:100dvh;background:#f5f6fa}.mobile-app>header{height:96px;padding:0 24px;background:#fff;display:flex;align-items:center;justify-content:space-between}.mobile-source-brand{display:flex!important;flex-direction:row!important;align-items:center;gap:14px}.mobile-source-logo{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#12a99d;color:#fff;font-size:24px}.mobile-source-brand>span:last-child{display:flex;flex-direction:column}.mobile-app>header b{font-size:21px;line-height:1.2;font-weight:850;letter-spacing:.2px}.mobile-app>header small{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:14px;color:#7c8798}.mobile-app>header small i{width:8px;height:8px;border-radius:50%;background:var(--green)}.avatar{width:52px;height:52px;border:0;border-radius:50%;background:#627df1;color:#fff;font-size:23px;font-weight:700}.mobile-app>main{flex:1;overflow:auto;padding:26px 15px 150px}.mobile-app main>h2,.mobile-source-overview h2{font-size:18px;margin:14px 7px 8px}.mobile-source-overview h2:first-child{margin-top:14px}.mobile-source-link{display:inline-block;width:100%;height:45px;margin:5px 0 6px;padding:0;border:0;border-radius:0;background:transparent;text-align:center;font-size:14px;color:#8591a4}.mobile-source-link i{margin-left:4px}.mobile-empty-hint{margin:10px 7px;color:var(--text3);font-size:11px}.mobile-title{font-size:18px;margin:14px 7px 18px}.mobile-nav{height:72px;padding:0;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:56px}.mobile-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--text3);font-size:12px}.mobile-nav button>i{font-size:22px}.mobile-nav button.active{color:#0ba99c;font-weight:700}.mobile-card,.mobile-profile-card,.mobile-logout,.mobile-hero{display:none}
}
@media(min-width:761px) and (max-width:1180px){.app-shell{grid-template-columns:180px 260px minmax(0,1fr)}.guard-pill:nth-child(-n+2){display:none}.main-tabs button{padding:0 10px}.summary-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}

.billing-config-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;padding:0 12px 14px}.billing-config-form label{font-size:9px;color:var(--text3)}.billing-config-form input,.billing-config-form select{height:32px;margin-top:4px}.billing-config-form p{grid-column:1/-1;color:var(--text3);font-size:10px}
.systemic-risk-panel .panel-head>div small{display:block;margin-top:3px;color:var(--text3);font-size:9px;font-weight:400}.guard-status-line{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(340px,1.3fr);gap:14px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--soft);font-size:10px}.guard-status-line b{color:var(--text)}.guard-status-line span{color:var(--text3);line-height:1.5}.systemic-risk-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.systemic-risk-grid .check-field{display:flex;min-height:55px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--soft)}.systemic-risk-grid .check-field input{width:18px;height:18px;margin:0}.systemic-action-note{margin-left:auto;color:var(--text3);font-size:9px}
.reconciliation-status-line{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--soft);color:var(--text2);font-size:10px;line-height:1.55}.reconciliation-status-line>span:last-child{min-width:0}
.inbox-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.inbox-metrics span{display:flex;min-width:0;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--soft)}.inbox-metrics small{color:var(--text3);font-size:9px}.inbox-metrics b{font-size:14px}.inbox-probe-result{justify-content:flex-start}
.lifecycle-symbol{display:flex;min-width:190px;flex-direction:column;gap:5px;color:var(--text3);font-size:10px;font-weight:650}.lifecycle-symbol select{height:34px;margin:0}.lifecycle-facts{margin-top:2px}.lifecycle-facts b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1000px) and (min-width:761px){.guard-status-line{grid-template-columns:1fr}.systemic-action-note{width:100%;margin-left:0}}

/* Mobile dashboard copied from the frozen 8.0 source structure. */
@media(max-width:760px){
  .mobile-app{display:flex;height:100dvh;flex-direction:column;background:#f4f6f9;color:#172033;overflow:hidden}
  .mobile-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 15px calc(150px + env(safe-area-inset-bottom));scrollbar-width:none}
  .mobile-scroll::-webkit-scrollbar{display:none}
  .mobile-header{height:96px;margin:0 -15px 18px;padding:calc(17px + env(safe-area-inset-top)) 24px 15px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8ecf2}
  .mobile-brand{display:flex;flex-direction:row;align-items:center;gap:14px;min-width:0;margin:0;text-align:left}
  .mobile-logo{width:48px;height:48px;border-radius:13px;background:#12a99d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 7px 18px rgba(18,169,157,.22)}
  .mobile-brand-title{font-size:21px;line-height:1.2;font-weight:800;letter-spacing:.2px}
  .mobile-connected{font-size:14px;color:#7c8798;margin-top:5px;display:flex;align-items:center;gap:8px}
  .mobile-connected::before{content:'';width:10px;height:10px;border-radius:50%;background:#10a66d}
  .mobile-profile{width:52px;height:52px;border:0;border-radius:50%;background:#627df1;color:#fff;font-size:23px;display:flex;align-items:center;justify-content:center}
  .mobile-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
  .mobile-summary-card{min-width:0;background:#fff;border:1px solid #e2e7ef;border-radius:13px;padding:17px 17px 16px;box-shadow:0 3px 12px rgba(30,48,82,.035)}
  .mobile-summary-label{font-size:15px;font-weight:700;color:#384258;white-space:nowrap}
  .mobile-unit{font-size:11px;color:#8b96a9;margin-left:4px;font-weight:600}
  .mobile-summary-value{font-family:var(--font-num);font-size:27px;line-height:1.1;font-weight:800;margin-top:12px;letter-spacing:-.8px;white-space:nowrap}
  .mobile-summary-sub{font-size:14px;color:#8994a7;margin-top:8px;font-weight:600}
  .mobile-positive{color:#079a69!important}.mobile-negative{color:#e22346!important}
  .mobile-section{margin-bottom:20px}.mobile-view>.mobile-section-head{padding-top:7px}
  .mobile-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 7px 10px}
  .mobile-section-title{font-size:18px;font-weight:800}.mobile-section-meta{font-size:14px;color:#818c9f}
  .mobile-card-list{display:flex;flex-direction:column;gap:12px}
  .mobile-strategy-card{background:#fff;border:1px solid #e0e6ee;border-radius:14px;padding:13px 17px 0;box-shadow:0 3px 12px rgba(30,48,82,.035);overflow:hidden}
  .mobile-card-head{display:flex;align-items:center;gap:12px;min-width:0}
  .mobile-strategy-icon{width:52px;height:52px;border-radius:12px;background:#14aaa0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;flex:0 0 auto}
  .mobile-strategy-icon.alt1{background:#07a69c}.mobile-strategy-icon.alt2{background:#d59c2c}.mobile-strategy-icon.alt3{background:#6755d8}
  .mobile-card-copy{min-width:0;flex:1}.mobile-card-name{font-size:18px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-account{font-size:13px;color:#8b95a8;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-status{height:33px;padding:0 11px;border-radius:17px;display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;white-space:nowrap;background:#ecfaf5;color:#06976a;border:1px solid #ccecdf}
  .mobile-status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}.mobile-status.off{background:#fff0f2;color:#df2344;border-color:#f2cbd2}
  .mobile-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:12px;border-top:1px solid #edf0f4}
  .mobile-metric{min-width:0;padding:12px 9px 14px}.mobile-metric+.mobile-metric{border-left:1px solid #edf0f4}.mobile-metric-label{font-size:12px;color:#7d899c;white-space:nowrap}.mobile-metric-value{font-family:var(--font-num);font-size:16px;font-weight:800;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-position-card{background:#fff;border:1px solid #e0e6ee;border-radius:13px;overflow:hidden}
  .mobile-position-row{display:flex;align-items:center;gap:12px;padding:13px 15px}.mobile-position-row+.mobile-position-row{border-top:1px solid #edf0f4}
  .mobile-coin{width:39px;height:39px;border-radius:50%;background:#f39a48;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.mobile-coin.short{background:#67768f}
  .mobile-position-main{min-width:0;flex:1}.mobile-position-symbol{font-size:15px;font-weight:800}.mobile-position-sub{font-size:11px;color:#8490a4;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-side{font-size:10px;padding:2px 4px;border-radius:4px;background:#eaf9f3;color:#079a69;margin-left:5px}.mobile-side.short{background:#fff0f2;color:#e22346}
  .mobile-position-value{text-align:right;white-space:nowrap}.mobile-position-amount{font-family:var(--font-num);font-size:15px;font-weight:800}.mobile-position-amount small{font-size:10px}.mobile-position-pnl{font-size:11px;font-weight:700;margin-top:5px}
  .mobile-empty{background:#fff;border:1px solid #e0e6ee;border-radius:13px;padding:28px;text-align:center;color:#8b95a8;font-size:15px}
  .mobile-more{border:0;background:transparent;color:#8591a4;font-size:14px;width:100%;min-height:45px;margin-top:3px}
  .mobile-account-card{background:#fff;border:1px solid #e0e6ee;border-radius:14px;padding:22px}.mobile-account-name{font-size:22px;font-weight:800}.mobile-account-role{font-size:14px;color:#8490a4;margin-top:6px}.mobile-account-note{font-size:14px;color:#5f6b7d;line-height:1.7;margin-top:18px;padding-top:16px;border-top:1px solid #edf0f4}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:max(56px,env(safe-area-inset-bottom));height:72px;background:rgba(255,255,255,.97);border:1px solid #e3e8ef;border-left:0;border-right:0;display:grid;grid-template-columns:repeat(4,1fr);z-index:100;box-shadow:0 8px 22px rgba(30,48,82,.08)}
  .mobile-nav-item{border:0;background:transparent;color:#667287;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;min-width:0}.mobile-nav-item i{font-size:22px}.mobile-nav-item.active{color:#0ba99c;font-weight:800}
  .mobile-view[hidden]{display:none!important}
}
.plan-condition-rank{display:flex;align-items:center;gap:3px;grid-column:2/4;white-space:nowrap;font-size:9px}.plan-condition-rank input{min-width:0;width:42px;height:28px;font-size:9px}
[data-direction-filter-condition]{grid-template-columns:minmax(250px,1fr) 70px 112px 104px 26px;align-items:center}[data-direction-filter-condition]>label{display:grid;grid-template-columns:auto minmax(38px,1fr) auto;align-items:center;gap:4px;white-space:nowrap;font-size:9px}[data-direction-filter-condition]>label input{min-width:0;width:100%}
.account-directory>.panel-head>div{display:block}.account-directory>.panel-head small{display:block;margin-top:2px;color:var(--text3);font-size:9px}.account-directory-list{display:grid;grid-template-columns:1fr;gap:8px;padding:10px}.account-directory-card{display:grid;grid-template-columns:38px minmax(150px,1fr) minmax(105px,auto) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.account-directory-logo{width:38px;height:38px;border-radius:9px;background:#f3ba2f;display:grid;place-items:center;font-weight:900}.account-directory-card b,.account-directory-card small,.account-directory-card span{display:block}.account-directory-card small,.account-directory-card span{margin-top:2px;color:var(--text3);font-size:9px;word-break:break-word}.account-directory-balance{text-align:right}.account-directory-balance>b{font-size:11px}.subaccount-create{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:10px 12px 0;padding-top:10px;border-top:1px solid var(--border)}.subaccount-create label{font-size:9px;color:var(--text3)}.subaccount-create input,.subaccount-create select{height:32px;margin-top:4px}.subaccount-create>span{grid-column:1/-1;color:var(--red);font-size:9px}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;margin-top:4px}.inline-field input{margin-top:0!important;min-width:0}
.market-history-head>div:last-child>label{display:flex;flex-direction:column;gap:3px;color:var(--text3);font-size:9px}.market-history-head>div:last-child>label select,.market-history-head>div:last-child>label input{margin:0}
@media(max-width:900px){.account-directory-card{grid-template-columns:38px minmax(0,1fr) auto}.account-directory-card>.account-actions{grid-column:2/4}}
.modal-overlay.position-view .modal{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column}.position-view .modal-body{flex:1;min-height:0;overflow:auto;background:#f4f7fb}.position-detail-summary{padding:12px;border:1px solid var(--border);border-radius:9px;background:#fff}.position-detail-summary h3{font-size:14px}.position-detail-summary p{margin-top:4px;color:var(--text3);font-size:10px}.position-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:8px 0}.position-detail-grid>span{padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.position-detail-grid small,.position-detail-grid b{display:block}.position-detail-grid small{color:var(--text3);font-size:9px}.position-detail-grid b{margin-top:3px;font-size:10px}.position-detail-chart{height:380px;display:grid;place-items:center;border-radius:9px;background:#0e1116;color:#8b949e;font-size:10px;overflow:hidden}.position-detail-chart iframe{width:100%;height:100%;border:0}.position-log-title{margin:12px 0 6px;font-size:12px}
#backtestPoolMeta{align-self:center;max-width:230px;color:var(--text3);font-size:9px;line-height:1.45}
.backtest-detail-head{display:flex;align-items:center;gap:9px;padding:10px 14px 0}.backtest-detail-head b{font-size:13px}.backtest-ranking-table{min-width:1260px}.backtest-ranking-table td{vertical-align:top;white-space:nowrap}.backtest-ranking-table td small{display:block;margin-top:2px;color:var(--text3);font-size:9px}.backtest-ranking-table td:last-child{display:flex;gap:4px}
.strategy-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(13,148,136,.14)}

/* Dense data pages keep the original visual language, but group related facts
   so values remain readable instead of competing for one narrow cell. */
.candidate-table{min-width:1080px;table-layout:fixed}.candidate-table th:nth-child(1){width:120px}.candidate-table th:nth-child(2){width:105px}.candidate-table th:nth-child(3){width:150px}.candidate-table th:nth-child(4){width:135px}.candidate-table th:nth-child(5){width:170px}.candidate-table th:nth-child(6){width:180px}.candidate-table th:nth-child(8){width:95px}.candidate-table td{white-space:normal;line-height:1.45;vertical-align:middle}.candidate-table td>b,.candidate-table td>small{display:block}.candidate-table td>small{margin-top:4px}.candidate-action-cell small{max-width:330px;color:var(--text2);white-space:normal}.candidate-notice{display:flex;align-items:center;gap:12px}.candidate-notice b{white-space:nowrap;color:var(--accent)}.candidate-stats{grid-template-columns:repeat(5,minmax(105px,1fr))}.market-history-table table{min-width:980px;table-layout:fixed}.market-history-table th:nth-child(1){width:130px}.market-history-table th:nth-child(2){width:155px}.market-history-table th:nth-child(3){width:205px}.market-history-table th:nth-child(4),.market-history-table th:nth-child(5){width:175px}.market-history-table th:nth-child(6){width:125px}.market-history-table th:nth-child(7){width:150px}.market-history-table td{white-space:normal;line-height:1.45}.market-history-table td b,.market-history-table td small{display:block}.market-detail-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.market-detail-stats small{font-size:10px}.market-detail-stats b{font-size:12px;line-height:1.45}.modal-overlay.ranking-audit-view .modal{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column}.ranking-audit-view .modal-body{flex:1;min-height:0;overflow:auto;background:#f4f7fb}.audit-table table{min-width:800px}.audit-table td{vertical-align:middle}.audit-meta{margin-top:8px;color:var(--accent);font-size:10px}
@media(max-width:1180px){.candidate-context{align-items:flex-start;flex-direction:column}.candidate-stats{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}.candidate-toolbar label{flex:1 1 145px}.candidate-notice{align-items:flex-start;flex-direction:column;gap:4px}.market-history-head{flex-direction:column}.market-history-head>div:last-child{justify-content:flex-start}}
.account-overview{min-height:0}.account-table{min-width:1280px;table-layout:fixed}.account-table th:nth-child(1){width:180px}.account-table th:nth-child(2){width:150px}.account-table th:nth-child(3),.account-table th:nth-child(4),.account-table th:nth-child(5){width:165px}.account-table th:nth-child(6){width:110px}.account-table th:nth-child(7){width:150px}.account-table th:nth-child(8){width:195px}.account-table td{height:auto;min-height:92px;padding:14px 12px;white-space:normal;line-height:1.5}.account-table td b,.account-table td small{display:block}.account-table td small{margin-top:5px}.account-table .env-live{display:inline-flex}.positions-detail-table{min-width:1120px;table-layout:fixed}.positions-detail-table th:nth-child(1){width:135px}.positions-detail-table th:nth-child(2){width:190px}.positions-detail-table th:nth-child(3){width:160px}.positions-detail-table th:nth-child(4){width:130px}.positions-detail-table th:nth-child(5){width:175px}.positions-detail-table th:nth-child(6){width:160px}.positions-detail-table th:nth-child(7){width:170px}.position-row td{height:auto;min-height:86px;padding:13px 12px;white-space:normal;line-height:1.5}.position-row td b,.position-row td small{display:block}.position-row td small{margin-top:5px}.position-row td:last-child{line-height:1.5}.candidate-exec-strip b{overflow-wrap:anywhere}

/* Readability pass for ordinary desktop screens. The source layout remains
   available on large workstations; smaller desktops trade density for clear
   hierarchy and use the existing pane restore controls when side context is
   needed. */
@media(min-width:761px) and (max-width:1899px){
  .app-shell,.hide-exchange-pane .app-shell,.hide-strategy-pane .app-shell,.hide-exchange-pane.hide-strategy-pane .app-shell{grid-template-columns:0 0 minmax(0,1fr)}
  .workspace{grid-column:3}
  .exchange-pane,.strategy-pane{position:fixed;top:50px;bottom:0;z-index:40;box-shadow:12px 0 28px rgba(27,34,51,.16)}
  .exchange-pane{left:0;width:150px}
  .strategy-pane{left:0;width:395px}
  body:not(.hide-exchange-pane) .strategy-pane{left:158px}
  .main-tabs button{font-size:12px}
  .workspace .panel-head h3{font-size:13px}
  .workspace th{font-size:11px;line-height:1.4}
  .workspace td{font-size:12px;line-height:1.5}
  .workspace td small{font-size:10px;line-height:1.45}
  .account-table{min-width:1120px}
  .account-table td{padding:13px 11px}
  .account-table .account-identity b{font-size:12px}
  .candidate-context{padding:16px}
  .candidate-context h2{font-size:17px}
  .candidate-context p{font-size:11px;line-height:1.5}
  .candidate-stats small,.candidate-toolbar label{font-size:10px}
  .candidate-stats b{font-size:13px}
  .candidate-notice{padding:10px 12px;font-size:11px;line-height:1.55}
  .candidate-table{min-width:1180px}
  .candidate-table td{padding:12px 10px;line-height:1.55}
  .backtest-form{grid-template-columns:1fr 2fr 1.45fr 1.55fr;gap:12px 10px}
  .backtest-form label,.backtest-scan label{font-size:10px}
  .backtest-form input,.backtest-form select,.backtest-scan input,.backtest-scan select{height:36px}
  .backtest-note{padding:10px 12px;font-size:11px;line-height:1.5}
  .backtest-scan{gap:10px;flex-wrap:wrap}
  .earnings-body{padding:14px 16px}
  .earn-group-head{padding:11px 13px;font-size:12px}
  .earn-table{min-width:1120px;table-layout:fixed}
  .earn-table th:nth-child(1){width:210px}
  .earn-table th:nth-child(2){width:190px}
  .earn-table th:nth-child(3){width:155px}
  .earn-table th:nth-child(4){width:210px}
  .earn-table th:nth-child(5){width:145px}
  .earn-table th:nth-child(6){width:155px}
  .earn-table th:nth-child(7){width:75px}
  .earn-table td{padding:12px;vertical-align:middle;white-space:normal}
  .earn-table td>small,.earn-table td>b+small{font-size:10px;line-height:1.5}
  .earn-status-line{display:block;margin-top:7px}
  .earn-chip{margin:2px 4px 2px 0;padding:3px 7px;font-size:10px}
}
@media(min-width:761px){.systemic-risk-panel .systemic-risk-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1400px) and (min-width:1001px){.systemic-risk-panel .systemic-risk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px) and (min-width:761px){.systemic-risk-panel .systemic-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1400px) and (min-width:761px){.inbox-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Comfortable desktop density.
   The 8.0 screen hierarchy and controls stay intact, but operational pages no
   longer shrink labels, values and actions merely to fit everything above the
   fold. Dense tables scroll inside their own panels; complex account forms use
   full-width sections so each field keeps a practical reading and click area. */
@media(min-width:1181px){
  .main-tabs{height:50px}
  .main-tabs button{padding:0 18px;font-size:13px}
  .page-scroll,.page-scroll.overview-page{padding:20px 24px 32px}
  .page-heading{margin-bottom:16px}
  .page-heading h1{font-size:21px;line-height:1.35}
  .page-heading p{margin-top:5px;font-size:12px;line-height:1.55}
  .panel{margin-bottom:16px;border-radius:12px}
  .panel-head{min-height:54px;padding:8px 16px;gap:14px}
  .panel-head h3,.workspace .panel-head h3{font-size:15px;line-height:1.4}
  .panel-head>div{gap:10px;font-size:12px;line-height:1.5}
  .btn{min-height:38px;padding:8px 15px;font-size:13px}
  .btn.sm{min-height:34px;padding:7px 11px;font-size:12px}
  input,select{height:42px;padding:0 12px;font-size:14px}
  th,.workspace th{padding:11px 14px;font-size:12px;line-height:1.5}
  td,.workspace td{padding:14px;font-size:13px;line-height:1.65}
  td small,.workspace td small{margin-top:4px;font-size:11px;line-height:1.55}
  .tag{padding:4px 8px;font-size:11px}

  .candidate-context{margin-bottom:16px;padding:18px 20px;gap:22px}
  .candidate-context h2{font-size:20px}
  .candidate-context p{margin-top:6px;font-size:12px;line-height:1.6}
  .candidate-stats{gap:10px;grid-template-columns:repeat(5,minmax(112px,1fr))}
  .candidate-stats span{padding:11px 12px}
  .candidate-stats small,.candidate-toolbar label{font-size:11px;line-height:1.45}
  .candidate-stats b{margin-top:5px;font-size:16px}
  .candidate-toolbar{gap:12px;padding:15px 16px}
  .candidate-toolbar label{min-width:150px}
  .candidate-toolbar select,.candidate-toolbar input{height:42px;margin-top:6px}
  .candidate-notice{padding:12px 16px;font-size:12px;line-height:1.65}
  .candidate-table{min-width:1360px}
  .candidate-table td{padding:15px 13px;line-height:1.65}

  .earnings-body{padding:18px}
  .earn-group{margin-bottom:16px}
  .earn-group-head{padding:13px 15px;font-size:14px}
  .earn-group-head span{font-size:11px}
  .earn-table{min-width:1280px}
  .earn-table td{padding:15px 14px;line-height:1.65}
  .earn-table td>small,.earn-table td>b+small{font-size:11px;line-height:1.55}
  .earn-chip{padding:4px 8px;font-size:11px}

  .backtest-form{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;padding:18px}
  .backtest-form label,.backtest-scan label{font-size:12px;line-height:1.5}
  .backtest-form input,.backtest-form select,.backtest-scan input,.backtest-scan select{height:42px;margin-top:6px}
  .backtest-note{margin:0 18px 14px;padding:12px 14px;font-size:12px;line-height:1.65}
  .backtest-scan{gap:14px;padding:16px 18px;flex-wrap:wrap}
  .backtest-scan label{min-width:190px}
  #backtestPoolMeta{max-width:360px;font-size:11px;line-height:1.6}

  .params-grid{gap:16px}
  .form-panel-card,.guard-panel{padding:20px}
  .guard-panel .panel-head{margin:-20px -20px 20px}
  .form-grid{gap:14px}
  .form-grid label{font-size:12px;line-height:1.5}
  .form-grid input,.form-grid select{margin-top:7px}
  .guard-flow{gap:14px;padding:22px;margin-top:18px;flex-wrap:wrap}
  .guard-flow span{padding:8px 12px;font-size:12px}
  .guard-status-line{grid-template-columns:1fr;gap:7px;margin-bottom:18px;padding:13px 14px;font-size:12px}
  .guard-status-line span{line-height:1.65}
  .systemic-risk-panel .systemic-risk-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}
  .systemic-risk-grid .check-field{min-height:66px;padding:11px 13px}
  .systemic-action-note{width:100%;margin:3px 0 0;font-size:11px;line-height:1.55}
  .form-actions{gap:10px;margin-top:18px;flex-wrap:wrap}
  .order-result{font-size:11px;line-height:1.6}
  .order-result-panel{min-height:52px;padding:12px 14px;flex-wrap:wrap}
  .reconciliation-status-line{gap:12px;padding:12px 14px;font-size:12px;line-height:1.65;flex-wrap:wrap}

  .account-card{grid-template-columns:58px minmax(0,1fr) auto;gap:18px;padding:22px}
  .account-logo{width:58px;height:58px}
  .account-card h3{font-size:16px}
  .account-card p{margin-top:5px;font-size:12px;line-height:1.5}
  .account-values{gap:36px;margin-top:16px;flex-wrap:wrap}
  .account-values span{font-size:11px}
  .account-values b{margin-top:5px;font-size:14px}
  .account-directory-list{gap:12px;padding:16px}
  .account-directory-card{grid-template-columns:48px minmax(240px,1fr) 180px auto;gap:16px;padding:15px 16px}
  .account-directory-logo{width:48px;height:48px}
  .account-directory-card>div:nth-child(2)>b{font-size:15px}
  .account-directory-card small,.account-directory-card span{margin-top:4px;font-size:11px;line-height:1.45}
  .account-directory-balance>b{font-size:14px}
  .account-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .billing-tabs{padding:16px}
  .billing-tabs button{min-height:36px;padding:8px 12px;font-size:12px}
  .billing-config-form{gap:14px;padding:0 16px 18px}
  .billing-config-form label{font-size:11px}
  .billing-config-form input,.billing-config-form select{height:42px;margin-top:6px}
  .billing-config-form p{font-size:11px;line-height:1.6}
  .account-ops-grid{grid-template-columns:1fr;gap:0}
  .account-operation{padding-bottom:18px}
  .account-operation>.panel-head{margin-bottom:16px}
  .account-operation>.panel-head>div small{font-size:11px}
  .account-operation>p{padding:11px 16px 0;font-size:11px;line-height:1.6}
  .account-form-grid,.account-form-grid.withdraw{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;padding:0 16px 14px}
  .account-form-grid label{font-size:11px;line-height:1.5}
  .account-form-grid input,.account-form-grid select{height:42px;margin-top:6px}
  .subaccount-create{gap:14px;margin:14px 16px 0;padding-top:14px}
  .subaccount-create label{font-size:11px}
  .subaccount-create input,.subaccount-create select{height:42px;margin-top:6px}
  .subaccount-create>span{font-size:11px}
}

/* Compact desktop windows still need desktop controls, but not the old tiny
   dashboard typography. Side panes are already one-click overlays here; keep
   the remaining workspace readable and let genuinely wide tables scroll. */
@media(min-width:761px) and (max-width:1180px){
  .main-tabs{height:46px}
  .main-tabs button{padding:0 12px;font-size:12px}
  .page-scroll,.page-scroll.overview-page{padding:14px}
  .page-heading{margin-bottom:13px}
  .page-heading h1{font-size:19px;line-height:1.35}
  .page-heading p{margin-top:4px;font-size:11px;line-height:1.5}
  .panel{margin-bottom:12px;border-radius:11px}
  .panel-head{min-height:50px;padding:7px 14px;gap:10px}
  .panel-head h3,.workspace .panel-head h3{font-size:14px;line-height:1.4}
  .panel-head>div{font-size:11px;line-height:1.45}
  .btn{min-height:34px;padding:7px 12px;font-size:12px}
  .btn.sm{min-height:32px;padding:6px 10px;font-size:11px}
  input,select{height:38px;padding:0 11px;font-size:13px}
  th,.workspace th{padding:10px 12px;font-size:11px;line-height:1.45}
  td,.workspace td{padding:12px;font-size:12px;line-height:1.55}
  td small,.workspace td small{margin-top:4px;font-size:10px;line-height:1.5}
  .tag{padding:4px 7px;font-size:10px}
  .candidate-context{padding:15px 16px;gap:14px}
  .candidate-context h2{font-size:18px}
  .candidate-context p{font-size:11px;line-height:1.55}
  .candidate-toolbar{gap:10px;padding:13px}
  .candidate-notice{padding:10px 13px;font-size:11px;line-height:1.55}
  .candidate-table{min-width:1180px}
  .earnings-body{padding:13px}
  .earn-table{min-width:1120px}
  .backtest-form{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;padding:14px}
  .backtest-note{margin:0 14px 12px;padding:10px 12px;font-size:11px;line-height:1.55}
  .backtest-scan{gap:10px;padding:13px 14px;flex-wrap:wrap}
  .form-panel-card,.guard-panel{padding:16px}
  .guard-panel .panel-head{margin:-16px -16px 16px}
  .form-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}
  .guard-flow{justify-content:flex-start;flex-wrap:wrap}
  .account-card{padding:18px}
  .account-directory-list{padding:13px}
  .account-actions{flex-wrap:wrap}
}

@media(min-width:1181px) and (max-width:1380px){
  .page-scroll,.page-scroll.overview-page{padding:16px}
  .systemic-risk-panel .systemic-risk-grid,.account-form-grid,.account-form-grid.withdraw{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .account-directory-card{grid-template-columns:48px minmax(220px,1fr) 160px}
  .account-directory-card>.account-actions{grid-column:2/4;justify-content:flex-start}
}

.trading-session-row{grid-template-columns:minmax(120px,1.15fr) minmax(118px,.85fr) minmax(118px,.85fr) minmax(110px,.75fr) 76px 58px;align-items:end;gap:10px;padding:10px 12px}
.trading-session-row>label{display:flex;min-width:0;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:var(--text2)}
.trading-session-row>label>input:not([type="checkbox"]),.trading-session-row>label>select{width:100%;min-width:0;height:34px;margin:0;padding:0 10px;background:#fff}
.trading-session-row .trading-session-toggle{height:34px;flex-direction:row;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:6px;background:#fff;font-weight:600}
.trading-session-row .trading-session-enabled{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.condition-row.trading-session-row>button{width:auto;min-width:58px;height:34px;padding:0 9px}
@media(max-width:800px){.trading-session-row{grid-template-columns:repeat(2,minmax(0,1fr))}.trading-session-row .trading-session-toggle,.condition-row.trading-session-row>button{width:100%}}

/* Ordinary 1280px desktops need hierarchy, not another round of shrinking.
   Runtime guards get their own rail and the densest account table becomes a
   labelled card grid. Wide workstations keep the original table layout. */
@media(min-width:1181px) and (max-width:1450px){
  .topbar{height:92px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:46px 46px;padding:0 16px}
  .topbar .brand{grid-column:1;grid-row:1;min-width:0}
  .topbar-right{display:contents;width:auto}
  .guard-pills{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%}
  .guard-pill{width:100%;height:34px;justify-content:flex-start;padding:0 12px;font-size:12px}
  .user-btn{grid-column:2;grid-row:1;width:auto;min-width:126px;height:38px;justify-self:end}
  .user-menu{right:16px;top:43px}
  .app-shell{height:calc(100vh - 92px)}
  .exchange-pane,.strategy-pane{top:92px}
}

/* Global screening rows contain a title plus up to two real input groups.
   The generic condition row reserves its last column for a delete button,
   which squeezed the falling-range input to 28px in this non-deletable form. */
#strategyGlobalConditions .condition-row{grid-template-columns:205px repeat(2,minmax(0,1fr))}

@media(min-width:761px) and (max-width:1380px){
  .account-overview>.table-wrap{overflow:visible}
  .account-table{display:block;width:100%;min-width:0;table-layout:auto;background:var(--soft)}
  .account-table thead{display:none}
  .account-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px}
  .account-table tr{min-width:0}
  .account-table .account-group{grid-column:1/-1;display:block}
  .account-table .account-group td{display:block;width:100%;height:auto!important;min-height:0!important;padding:10px 12px!important;border:1px solid var(--border);border-radius:8px;background:#fff}
  .account-table tr:not(.account-group){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow)}
  .account-table tr:not(.account-group)>td{display:block;width:auto;min-width:0;min-height:78px;padding:13px 14px;border-bottom:1px solid var(--border);white-space:normal;overflow-wrap:anywhere}
  .account-table tr:not(.account-group)>td:nth-child(odd){border-right:1px solid var(--border)}
  .account-table tr:not(.account-group)>td:nth-last-child(-n+2){border-bottom:0}
  .account-table tr:not(.account-group)>td:before{display:block;margin-bottom:6px;color:var(--text3);font-size:10px;font-weight:650;line-height:1.3}
  .account-table tr:not(.account-group)>td:nth-child(1):before{content:"账户 / 环境"}
  .account-table tr:not(.account-group)>td:nth-child(2):before{content:"绑定策略"}
  .account-table tr:not(.account-group)>td:nth-child(3):before{content:"余额 / 权益"}
  .account-table tr:not(.account-group)>td:nth-child(4):before{content:"可用 / 保证金"}
  .account-table tr:not(.account-group)>td:nth-child(5):before{content:"当日 / 总盈亏"}
  .account-table tr:not(.account-group)>td:nth-child(6):before{content:"占用 / 持仓"}
  .account-table tr:not(.account-group)>td:nth-child(7):before{content:"连接状态"}
  .account-table tr:not(.account-group)>td:nth-child(8):before{content:"数据时间 / 日复利"}
  .account-table tr:not(.account-group)>td b{font-size:13px;line-height:1.45}
  .account-table tr:not(.account-group)>td small{margin-top:5px;font-size:11px;line-height:1.45}

  .candidate-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
  .candidate-toolbar label{min-width:0}
  .candidate-toolbar>.btn{width:100%}
  .candidate-table,.earn-table{min-width:1120px}
  .form-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .guard-flow{justify-content:flex-start}
}

/* Compact desktop layout (the in-app browser and 13-inch split-screen range).
   Keep every operational fact visible, but move independent groups onto their
   own rows instead of squeezing labels, values and actions into one line. */
@media(min-width:761px) and (max-width:1180px){
  .topbar{height:92px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:46px 46px;padding:0 14px}
  .topbar .brand{grid-column:1;grid-row:1;min-width:0;white-space:nowrap}
  .topbar-right{display:contents}
  .guard-pills{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:100%}
  .guard-pill,.guard-pill:nth-child(-n+2){display:flex;width:100%;height:34px;min-width:0;justify-content:flex-start;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
  .user-btn{grid-column:2;grid-row:1;min-width:126px;height:38px;justify-self:end}
  .user-menu{right:14px;top:43px}
  .app-shell{height:calc(100vh - 92px)}
  .exchange-pane,.strategy-pane{top:92px}
  .page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .page-heading>.btn{margin-left:auto}
  .panel-head{align-items:flex-start;gap:9px;flex-wrap:wrap}
  .panel-head>div{min-width:0;flex-wrap:wrap}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .position-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .earn-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-detail-head{align-items:flex-start;flex-wrap:wrap}
  .market-detail-head>span:last-child{width:100%;margin-left:0}
}

@media(min-width:761px) and (max-width:900px){
  .topbar{height:130px;grid-template-rows:46px 84px}
  .guard-pills{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}
  .app-shell{height:calc(100vh - 130px)}
  .exchange-pane,.strategy-pane{top:130px}
  .account-table tbody{grid-template-columns:1fr}
  .candidate-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid,.backtest-form,.account-form-grid,.account-form-grid.withdraw{grid-template-columns:1fr}
  .billing-config-form{grid-template-columns:1fr 1fr}
  .billing-config-form>.btn{width:100%}
  .trading-session-row{grid-template-columns:1fr}
  .position-detail-grid,.candidate-exec-strip,.candidate-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lifecycle-symbol{width:100%}
  .lifecycle-panel .form-actions>.btn{flex:1 1 180px}
}

/* Verified account facts are read-only data, not a red live-order state. */
.env-live{background:var(--green-bg)!important;color:var(--green)!important}.connection-fail{white-space:normal;color:var(--red);line-height:1.45}.connection-fail b{color:var(--red)}
.guard-pill.neutral{color:var(--text2);border-color:var(--border);background:var(--soft)}
