:root{--ink:#242535;--muted:#707284;--purple:#6755c7;--pale:#eeebfa;--line:#e9e9f1;--green:#217b63;--red:#b54155;--surface:#fff;--back:#f6f7fb;font-family:'Segoe UI',Tahoma,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--back)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #9a89ef}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background .15s}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;font-weight:650}h2{font-size:16px;font-weight:650;letter-spacing:-.2px}p{line-height:1.6}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#f0eff8;border-right:1px solid #e4e2ef;display:flex;flex-direction:column;padding:32px 19px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);font-size:33px;letter-spacing:-1.8px;font-weight:750;padding:0 14px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--purple);color:white;border-radius:11px;margin-right:10px;font-size:28px;font-weight:400}.brand-dot{color:var(--purple)}.side-caption{font-size:12px;color:#838293;margin:40px 14px 14px}nav{display:grid;gap:8px}.nav-item{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;border-radius:11px;padding:14px;color:#6e6d7f;width:100%;font-weight:600}.nav-item.active{background:white;box-shadow:0 3px 14px #38334e07;color:var(--purple)}.nav-item:hover{background:#ffffffa8}.nav-item small{display:block;font-size:11px;font-weight:400;margin-top:4px;color:#8b899b}.nav-icon{font-size:23px;width:24px}.nav-arrow{margin-left:auto;font-size:22px;font-weight:400}.side-strategy{margin:52px 14px 20px}.tiny-icon{display:block;color:#9e91d9;font-size:36px;margin-bottom:18px}.side-strategy h2{font-size:19px;line-height:1.35;max-width:160px;margin-bottom:14px}.side-strategy p{color:#89859b;font-size:13px;line-height:1.9}.strategy-tag{display:inline-block;margin-top:22px;border:1px solid #d9d3ed;color:#81749f;padding:5px 9px;border-radius:5px;font-size:11px}.side-footer{margin-top:auto;display:flex;align-items:center;gap:9px;padding:20px 10px 0;border-top:1px solid #e1deed;font-size:12px;color:#635e76}.side-footer small{display:block;font-size:10px;margin-top:5px;color:#8a859a}.local-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8a80b2;flex-shrink:0}main{margin-left:236px}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#ffffffab}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#bebacb}.breadcrumb strong{font-weight:500;color:#55536a}.live-label{font-size:11px;color:#777386;border:1px solid var(--line);padding:7px 10px;border-radius:20px;display:flex;align-items:center;gap:7px}.workspace{padding:31px 38px 22px;max-width:1600px;margin:auto}.heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.heading-row p{color:var(--muted);font-size:12px;margin-top:7px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;font-weight:600;padding:11px 15px;font-size:12px;white-space:nowrap}.secondary{background:white;border-color:#dedde9;color:#615d76}.secondary:hover{background:#f4f1fc}.primary{background:var(--purple);color:white}.primary:hover{background:#5745b4}.start{background:#eeebfa;color:#6251b5}.danger{background:#b54155;color:white}.compact{padding:8px 12px}.notice{display:flex;align-items:center;gap:14px;padding:15px 19px;border:1px solid #e4ddfa;background:#f0edfb;border-radius:10px;margin-bottom:23px;color:#6d5aa2}.notice>span{font-size:25px}.notice strong{font-size:12px;font-weight:650}.notice p{font-size:11px;color:#9180ad;margin-top:2px}.notice .text-button{margin-left:auto;flex-shrink:0}.text-button{background:none;border:0;padding:5px 0;color:var(--purple);font-size:12px;font-weight:600}.overview{display:grid;grid-template-columns:1.6fr 1fr 1.12fr .95fr;background:white;border:1px solid var(--line);border-radius:12px;padding:25px 0;margin-bottom:23px}.balance-block{padding:0 25px}.label-row{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.badge{font-size:10px;padding:4px 8px;background:#f2f0f8;color:#8a819f;border-radius:5px;white-space:nowrap}.badge.good{background:#e7f4ee;color:var(--green)}.badge.warn{background:#fff2dd;color:#9b6d23}.badge.plain{background:#f5f5fa;color:#92909f}.balance{font-size:36px;font-weight:650;letter-spacing:-1.2px;margin:14px 0 5px;font-variant-numeric:tabular-nums}.balance>span+span{font-size:13px;font-weight:400;letter-spacing:0;margin-left:10px;color:#9c97ac}.balance-block>p{font-size:10px;color:#a39daf;max-width:270px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-extra{color:#9a95a6;font-size:10px;margin-top:13px}.stat{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding:0 23px;gap:15px}.stat>span{font-size:11px;color:var(--muted)}.stat strong{font-size:25px;letter-spacing:-.7px;font-weight:600;font-variant-numeric:tabular-nums}.stat small{font-size:10px;color:#aaa4b5;line-height:1.5}.stat em{font-size:16px;font-weight:400;font-style:normal;color:#b5afc0}.positive{color:var(--green)}.negative{color:var(--red)}.main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:23px;margin-bottom:23px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;gap:14px}.panel-heading p{font-size:11px;color:#9a94a8;margin-top:5px}.chart{position:relative;height:220px;margin:0 24px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 53px,#f0eef6 54px,#f0eef6 55px)}#plot{width:100%;height:100%}#chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffb8;text-align:center}#chart-empty span{font-size:40px;color:#c6bde6;line-height:1;margin-bottom:13px}#chart-empty strong{font-size:12px;font-weight:500;color:#888093}#chart-empty p{font-size:10px;color:#b2a9bf;margin-top:6px}.chart-footer{padding:12px 24px 20px;display:flex;justify-content:space-between;color:#b2aaba;font-size:10px}.controls{padding:0 23px 17px}.controls .panel-heading{padding:21px 0}.rule-row{display:grid;grid-template-columns:1fr 1fr;background:#f6f4fc;border-radius:8px;padding:16px 18px}.rule-row>div{display:flex;flex-direction:column;gap:6px}.rule-row>div+div{padding-left:22px;border-left:1px solid #e5dff3}.rule-row>div>span{font-size:10px;color:#948aab}.rule-row strong{font-size:29px;color:#6b57ad;font-weight:600;letter-spacing:-.7px}.rule-row strong span{font-size:12px;font-weight:400;letter-spacing:0}.control-description{font-size:10px;color:#a49aaf;margin:13px 0 15px;line-height:1.7}.controls>.primary{width:100%}.control-buttons{display:flex;gap:8px;margin-top:8px}.control-buttons .button{flex:1;padding:10px 6px}.control-footnote{font-size:9px;color:#b0a7bd;margin-top:10px;text-align:center}.rotation,.positions,.activity{margin-top:23px}.trader-list{padding:0 24px 22px;display:flex;gap:12px;overflow:auto}.trader{flex:1;min-width:180px;display:flex;align-items:center;gap:11px;background:#faf9fd;border:1px solid #ece8f6;border-radius:8px;padding:15px}.trader.current{background:#f3effc;border-color:#c7b9ed}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#e9e3f7;color:#8672af;border-radius:50%;font-weight:600;font-size:12px;flex-shrink:0}.trader strong{display:block;font-size:12px;font-weight:550}.trader small{display:block;font-size:9px;color:#a79aaf;margin-top:5px}.trader .order{margin-left:auto;color:#b4a7c4;font-size:10px}.queue-empty{display:flex;align-items:center;gap:14px;padding:12px 0;font-size:12px;color:#a89eaf}.queue-empty .avatar{background:#f2eff7;font-size:22px;font-weight:400}.queue-empty small{display:block;font-size:10px;margin-top:5px;color:#b7aebe}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:#f1edf8;color:#9d8cb0;border-radius:5px;font-size:10px;margin-left:8px;vertical-align:middle}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{font-weight:450;color:#a59aac;font-size:10px;padding:12px 24px;border-top:1px solid #f2eff6;border-bottom:1px solid #f2eff6;background:#fdfcfe}td{padding:16px 24px;border-bottom:1px solid #f2eff6;max-width:200px;overflow:hidden;text-overflow:ellipsis}.empty-row{padding:28px 24px;text-align:center;font-size:11px;color:#b4aabb}.activity .panel-heading{border-bottom:1px solid #f2eff6}.activity-row{display:flex;gap:15px;padding:13px 24px;border-bottom:1px solid #f5f2f8;font-size:11px;align-items:center}.activity-row time{font-size:10px;color:#b4a9bc;flex-shrink:0}.activity-row .badge{min-width:57px;text-align:center}.activity-row p{color:#8f829a;overflow-wrap:anywhere}.muted{color:#a79aaf;font-size:11px}.page-footer{font-size:10px;color:#b9afc0;padding:23px 0 0;display:flex;justify-content:space-between;gap:15px}.page-footer span{white-space:nowrap}dialog{border:1px solid #e8e1ef;border-radius:14px;padding:27px;width:min(800px,calc(100% - 32px));max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #30204630}dialog::backdrop{background:#28223e70;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.dialog-header h2{font-size:22px}.dialog-header p{font-size:12px;color:var(--muted);margin-top:7px}.icon-button{background:none;border:0;color:#908599;font-size:25px;padding:0 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#81738e}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{padding:10px;border:1px solid #dfd8e7;border-radius:6px;color:#5d5069;background:#fff;width:100%;min-width:0}.field small{font-size:10px;color:#aaa0b2;line-height:1.5}.field textarea{min-height:74px;resize:vertical}dialog h3{font-size:14px;margin:26px 0 15px}dialog h3+p{margin-top:-5px;margin-bottom:17px}.source-form{padding:15px;background:#f9f7fc;border:1px solid #eee8f5;border-radius:8px;margin:12px 0}.source-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.source-header strong{font-size:12px}.source-actions{display:flex;gap:7px}.source-actions button{border:1px solid #e2dae9;border-radius:4px;background:white;color:#9c8daa;padding:3px 8px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);gap:14px}.dialog-footer>span{font-size:10px;color:#aa9ab7}.error{font-size:12px;color:var(--red);margin-top:15px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:min(650px,90vw);padding:14px 22px;color:white;background:#50435f;border-radius:9px;box-shadow:0 4px 22px #30204630;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1600px){.workspace{padding-top:40px}.chart{height:260px}}@media(max-width:1200px){.sidebar{width:200px;padding:28px 14px}main{margin-left:200px}.workspace{padding:27px 25px}.topbar{padding:0 25px}.stat{padding:0 16px}.balance-block{padding:0 18px}.balance-block .badge{display:none}.main-grid{gap:17px;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.overview{grid-template-columns:1.5fr 1fr 1fr 1fr}.stat small{font-size:9px}.balance{font-size:31px}}@media(max-width:950px){.sidebar{width:170px}.brand{font-size:28px;padding:0 5px}.brand-icon{width:30px;height:30px;font-size:24px}.side-strategy{margin:38px 8px}.nav-item{padding:12px 8px;gap:8px}.nav-item small{font-size:9px}.nav-arrow{display:none}main{margin-left:170px}.heading-row{align-items:flex-start}.heading-row .button{padding:10px;font-size:11px}.overview{grid-template-columns:1fr 1fr;gap:25px 0}.stat:nth-child(3){border-left:0}.balance-block{min-height:115px}.stat{padding-left:25px}.main-grid{grid-template-columns:1fr}.chart{height:210px}.controls .rule-row{max-width:none}.controls .control-description{font-size:11px}.side-footer small{line-height:1.7}.page-footer{flex-direction:column}}@media(max-width:620px){.sidebar{position:static;width:auto;padding:15px 18px;display:block;border-right:0;border-bottom:1px solid #e4e2ef}.brand{font-size:25px;display:inline-flex}.brand-icon{width:28px;height:28px}.side-caption,.side-strategy,.side-footer{display:none}nav{display:flex;gap:8px;margin-top:17px}.nav-item{flex:1;padding:10px 12px}.nav-item small{font-size:10px}.nav-icon{font-size:19px}.nav-arrow{display:block}main{margin:0}.topbar{height:48px;padding:0 20px}.workspace{padding:23px 17px}.heading-row{display:block;margin-bottom:20px}.heading-row .button{margin-top:15px}h1{font-size:27px}.notice{padding:13px;gap:9px;align-items:flex-start;flex-wrap:wrap}.notice>span{display:none}.notice .text-button{margin:0}.notice p{font-size:10px}.overview{padding:19px 0}.stat{padding:0 16px;gap:12px}.stat strong{font-size:23px}.stat>span{font-size:10px}.balance{font-size:28px}.balance-block{padding:0 16px}.balance-block>p{max-width:135px}.panel-heading{padding:19px}.chart{margin:0 19px;height:180px}#chart-empty p{font-size:9px;max-width:200px}#chart-empty strong{font-size:11px}.trader-list{padding:0 19px 19px}.panel-heading p{font-size:10px}.activity-row{padding:13px 19px;gap:9px;align-items:flex-start}.activity-row .badge{font-size:9px;min-width:45px}.activity-row p{font-size:10px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}dialog{padding:20px}.dialog-footer{align-items:flex-start;flex-wrap:wrap}.page-footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
:root{--muted:#746c80}.panel-heading p,.stat small,.control-description,.control-footnote,.muted,.field small,.account-extra,.balance-block>p,.trader small,.queue-empty,.queue-empty small,.empty-row,.chart-footer,.page-footer,#chart-empty p,.side-footer small,.notice p{color:#796d87}.table-wrap{position:relative}.sr-only{left:0;top:0}
:root{--muted:#746c80}.panel-heading p,.stat small,.control-description,.control-footnote,.muted,.field small,.account-extra,.balance-block>p,.trader small,.queue-empty,.queue-empty small,.empty-row,.chart-footer,.page-footer,#chart-empty p,.side-footer small,.notice p{color:#796d87}
/* Connection flow and touch layouts. */
.session-controls,.step-buttons { display:flex; align-items:center; gap:14px; }
.setup-steps { display:flex; gap:8px; margin:0 0 22px; }
.setup-steps span { flex:1; padding:11px 12px; border-radius:7px; background:#f4f1f8; color:#85798f; font-size:12px; }
.setup-steps .current { background:#e8e1fa; color:#5943a2; font-weight:650; }
.setup-step>h3 { margin-top:0; }
.setup-step>p { margin-bottom:16px; }
#detect-mt5 { margin-bottom:10px; }
#detect-help { margin-bottom:18px; }
.pair-steps { padding-left:23px; }
.pair-steps li { padding:0 0 24px 7px; font-size:14px; }
.pair-steps p { color:#796d87; font-size:13px; margin:8px 0 12px; }
.pair-steps pre { font-size:12px; padding:16px; background:#f3eff9; border:1px solid #e5ddef; border-radius:8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.auth-page { min-height:100dvh; display:grid; place-items:center; padding:30px 20px; background:#f0edf7; }
.auth-shell { width:min(100%,440px); }
.auth-shell>.brand { padding:0; margin:0 0 28px; }
.auth-card { background:white; border:1px solid #e5deef; border-radius:18px; padding:32px; box-shadow:0 12px 45px #50416b09; }
.auth-card .strategy-tag { margin:0 0 18px; }
.auth-card h1 { font-size:29px; }
.auth-card>p { font-size:14px; color:#796d87; margin:12px 0 24px; }
.auth-card .field { margin-bottom:19px; font-size:13px; }
.auth-card input { min-height:48px; font-size:16px; }
.auth-card .primary { width:100%; min-height:48px; margin-top:8px; font-size:14px; }
.auth-card .auth-note { margin:23px 0 0; padding-top:19px; border-top:1px solid #eee8f4; font-size:12px; }
.auth-footer { text-align:center; font-size:12px; color:#7d6c90; margin-top:22px; }
@media(max-width:620px) {
  body { font-size:15px; }
  .sidebar { position:fixed; z-index:5; top:auto; bottom:0; left:0; right:0; width:100%; padding:8px 14px calc(8px + env(safe-area-inset-bottom)); background:#faf9fef5; border-top:1px solid #dfd8ed; border-bottom:0; backdrop-filter:blur(15px); }
  .sidebar>.brand { display:none; }
  .sidebar nav { margin:0; gap:10px; }
  .sidebar .nav-item { padding:10px 14px; min-height:53px; justify-content:center; }
  .nav-item.active { background:#eae3fa; box-shadow:none; }
  .nav-item small { font-size:10px; }
  .nav-item .nav-arrow { display:none; }
  main { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
  .topbar { position:sticky; top:0; z-index:4; height:56px; padding:0 18px; background:#faf9fef5; backdrop-filter:blur(15px); }
  .breadcrumb { font-size:11px; }
  .breadcrumb span { margin:0 6px; }
  .session-controls { gap:9px; }
  .session-controls .text-button { font-size:11px; min-height:44px; }
  .live-label { font-size:10px; padding:6px 8px; }
  #logout { font-size:10px; }
  .workspace { padding:23px 16px; }
  h1 { font-size:27px; }
  .heading-row { display:flex; align-items:center; gap:8px; }
  .heading-row>div { min-width:0; }
  .heading-row p { font-size:12px; margin-top:7px; }
  .heading-row .button { margin:0; min-width:45px; min-height:45px; font-size:18px; padding:10px; }
  .heading-row .button span { display:none; }
  .notice { margin-bottom:16px; padding:15px; }
  .notice strong { font-size:13px; }
  .notice p { font-size:12px; margin-top:5px; }
  .notice .text-button { min-height:36px; font-size:13px; }
  .overview { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0 0 19px; margin-bottom:17px; }
  .balance-block { grid-column:1/-1; padding:20px 18px; border-bottom:1px solid var(--line); margin-bottom:20px; }
  .balance-block .badge { display:inline; font-size:10px; }
  .balance-block>p { max-width:100%; font-size:11px; }
  .balance { margin:13px 0 7px; font-size:37px; }
  .account-extra { font-size:11px; margin-top:10px; }
  .stat { padding:0 11px; gap:10px; justify-content:flex-start; }
  .stat:nth-child(2) { border-left:0; }
  .stat:nth-child(3) { border-left:1px solid var(--line); }
  .stat>span { font-size:10px; min-height:27px; line-height:1.5; }
  .stat strong { font-size:21px; overflow-wrap:anywhere; }
  .stat small { font-size:9px; line-height:1.6; }
  .main-grid { gap:17px; margin-bottom:17px; }
  .main-grid .controls { grid-row:1; }
  .panel-heading h2 { font-size:17px; }
  .panel-heading p { font-size:12px; line-height:1.5; }
  .controls { padding:0 18px 18px; }
  .controls .panel-heading { padding:19px 0; align-items:flex-start; }
  .controls .panel-heading>div { min-width:0; }
  .rule-row { padding:17px; }
  .rule-row>div>span { font-size:12px; }
  .rule-row strong { font-size:31px; }
  .control-description { font-size:12px!important; line-height:1.7; margin:15px 0; }
  .button { min-height:46px; font-size:13px; }
  .controls>.primary { min-height:49px; font-size:14px; }
  .control-buttons .button { min-height:48px; font-size:12px; }
  .control-footnote { font-size:11px; line-height:1.6; }
  .trader-list { scroll-snap-type:x mandatory; }
  .trader { scroll-snap-align:start; min-width:210px; }
  .trader strong { font-size:14px; }
  .trader small { font-size:11px; }
  .queue-empty { font-size:13px; }
  .queue-empty small { font-size:11px; line-height:1.6; }
  .empty-row { font-size:12px; line-height:1.7; padding:22px 18px; }
  .table-wrap th,.table-wrap td { padding:14px 16px; font-size:12px; }
  .table-wrap .text-button { min-height:44px; }
  .activity-row { flex-wrap:wrap; gap:8px 12px; }
  .activity-row p { flex-basis:100%; font-size:12px; }
  .page-footer { font-size:11px; line-height:1.7; }
  dialog { width:100%; height:100dvh; max-height:100dvh; max-width:100%; margin:0; border:0; border-radius:0; padding:22px 18px calc(22px + env(safe-area-inset-bottom)); }
  .dialog-header { margin-bottom:23px; gap:10px; }
  .dialog-header h2 { font-size:23px; }
  .dialog-header p { font-size:13px; }
  .icon-button { min-width:44px; min-height:44px; align-self:flex-start; }
  .setup-steps { gap:5px; margin-bottom:25px; }
  .setup-steps span { padding:12px 9px; font-size:12px; text-align:center; }
  .field { font-size:13px; gap:9px; }
  .field input,.field textarea,.field select { font-size:16px; padding:13px 12px; min-height:48px; }
  .field small { font-size:12px; line-height:1.6; }
  .form-grid { gap:20px; }
  dialog h3 { font-size:17px; }
  .source-form { padding:15px 13px; }
  .source-header strong { font-size:13px; }
  .source-actions { gap:5px; }
  .source-actions button { min-width:37px; min-height:42px; }
  .dialog-footer { position:sticky; bottom:0; background:white; padding:16px 0 calc(12px + env(safe-area-inset-bottom)); margin-top:27px; flex-wrap:nowrap; }
  .dialog-footer>span { font-size:11px; flex-shrink:0; }
  .step-buttons { gap:8px; }
  .step-buttons .button { min-width:82px; }
  .toast { bottom:calc(89px + env(safe-area-inset-bottom)); font-size:13px; padding:14px 18px; width:calc(100% - 32px); }
  .auth-page { padding:26px 17px; }
  .auth-card { padding:25px 22px; }
  .auth-card h1 { font-size:27px; }
}
@media(max-width:620px){.hosted .breadcrumb{display:none}.hosted .session-controls{width:100%;justify-content:space-between}}
