.fx-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.fx-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.fx-select,.fx-input{height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--text);padding:0 9px}.fx-feed{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:4px;background:var(--amber-soft);color:var(--amber);font-size:9px;font-weight:700}.fx-feed i{width:7px;height:7px;border-radius:50%;background:currentColor}.fx-tabs{display:flex;gap:4px;padding:4px;background:#e9eef4;border-radius:6px}.fx-tab{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:4px;font-size:10px}.fx-tab.active{background:#fff;color:var(--blue);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.fx-analysis-grid{display:grid;gap:10px}.fx-chart-panel{min-width:0}.fx-chart-wrap{position:relative;height:430px;padding:8px 6px 4px}.fx-chart-wrap canvas{width:100%;height:100%;display:block}.fx-chart-note{position:absolute;left:14px;top:12px;z-index:2;color:var(--muted);font-size:9px;background:rgba(255,255,255,.88);padding:4px 6px;border-radius:3px}.fx-side{display:grid;gap:10px;align-content:start}.fx-scenarios{display:grid;gap:7px;padding:10px}.fx-scenario{width:100%;border:1px solid var(--line);background:#fff;border-radius:5px;padding:10px;text-align:left;color:var(--text)}.fx-scenario.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(23,105,224,.1)}.fx-scenario-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.fx-scenario-title{display:flex;align-items:center;gap:7px}.fx-scenario-title i{width:8px;height:8px;border-radius:50%}.fx-scenario b{font-size:10px}.fx-scenario strong{font-size:14px;color:var(--navy)}.fx-scenario p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.fx-prob-detail{display:flex;justify-content:space-between;margin-top:7px;padding-top:7px;border-top:1px solid #edf0f4;color:var(--muted);font-size:8px}.fx-plan{padding:11px}.fx-plan-direction{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.fx-plan-direction strong{font-size:16px}.fx-plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.fx-level{padding:9px;background:#f7f9fb;border:1px solid #edf0f4;border-radius:4px}.fx-level span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.fx-level b{display:block;color:var(--navy);font-size:12px;margin-top:4px;font-variant-numeric:tabular-nums}.fx-level.stop b{color:var(--red)}.fx-level.target b{color:var(--green)}.fx-warning{display:flex;gap:7px;margin-top:9px;padding:8px;background:var(--amber-soft);color:#805000;border-radius:4px;font-size:8px;line-height:1.45}.fx-warning .icon{width:14px;height:14px;flex:0 0 auto}.fx-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.fx-plan-actions button{height:36px;border-radius:4px;font-size:9px;font-weight:700}.fx-secondary{border:1px solid var(--line);background:#fff;color:var(--blue)}.fx-primary{border:0;background:var(--blue);color:#fff}
.fx-scenario.market-invalid{background:#fff9f9;border-color:#f0c4c8}.fx-scenario.market-invalid strong{color:var(--red)}
.fx-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.fx-metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.fx-metric span{font-size:9px;color:var(--muted)}.fx-metric b{display:block;font-size:18px;color:var(--navy);margin-top:5px}.fx-journal-layout,.fx-learning-layout{display:grid;gap:10px}.fx-form{padding:12px}.fx-form-grid{display:grid;gap:9px}.fx-field label{display:block;color:var(--muted);font-size:9px;font-weight:600;margin-bottom:4px}.fx-field input,.fx-field select,.fx-field textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:#fff;padding:8px;color:var(--text);outline:0}.fx-field input,.fx-field select{height:38px}.fx-field textarea{min-height:72px;resize:vertical}.fx-field input:focus,.fx-field select:focus,.fx-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.08)}.fx-journal-list{padding:0 12px}.fx-journal-item{padding:12px 0;border-bottom:1px solid #edf0f4}.fx-journal-item:last-child{border-bottom:0}.fx-journal-head{display:flex;justify-content:space-between;gap:10px}.fx-journal-head b{font-size:10px}.fx-journal-head strong{font-size:12px}.fx-journal-item p{margin:5px 0;color:var(--muted);font-size:9px;line-height:1.5}.fx-tags{display:flex;flex-wrap:wrap;gap:4px}.fx-tag{padding:3px 6px;border-radius:3px;background:var(--blue-soft);color:var(--blue);font-size:8px}.fx-empty{padding:30px 14px;text-align:center;color:var(--muted);font-size:10px}.fx-rule-list{padding:4px 12px 12px}.fx-rule{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f4}.fx-rule:last-child{border:0}.fx-rule-check{width:20px;height:20px;border:1px solid var(--line);background:#fff;border-radius:4px;color:var(--green);display:grid;place-items:center}.fx-rule.active .fx-rule-check{background:var(--green-soft);border-color:#a8dcc7}.fx-rule b{display:block;font-size:10px}.fx-rule span{display:block;color:var(--muted);font-size:8px;margin-top:3px}.fx-delete{border:0;background:transparent;color:var(--muted);padding:2px}.fx-delete .icon{width:14px;height:14px}.fx-learning-card{padding:12px}.fx-insight{padding:10px;border-left:3px solid var(--blue);background:var(--blue-soft);font-size:9px;line-height:1.55;margin-bottom:8px}.fx-insight.warn{border-left-color:var(--amber);background:var(--amber-soft)}.fx-disclaimer{margin-top:10px;color:var(--muted);font-size:8px;line-height:1.5}
@media(min-width:1000px){.fx-analysis-grid{grid-template-columns:minmax(0,1.7fr) 360px}.fx-journal-layout{grid-template-columns:360px minmax(0,1fr)}.fx-learning-layout{grid-template-columns:minmax(0,1.3fr) 340px}.fx-form-grid.two{grid-template-columns:1fr 1fr}.fx-form-grid.two .wide{grid-column:1/-1}.fx-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:759px){.fx-toolbar{align-items:flex-start}.fx-tabs{width:100%;overflow:auto}.fx-tab{flex:1;white-space:nowrap}.fx-chart-wrap{height:330px}.fx-plan-grid{grid-template-columns:repeat(2,1fr)}.fx-metrics{display:flex;overflow:auto}.fx-metric{min-width:135px}.fx-scenarios{display:flex;overflow:auto}.fx-scenario{min-width:245px}.fx-feed{font-size:8px}}

.fx-toolbar-right{display:flex;align-items:center;gap:8px}.fx-focus-toggle{height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--blue);display:flex;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:700}.fx-focus-toggle .icon{width:14px;height:14px}.fx-live-price{font-variant-numeric:tabular-nums}.fx-wave-legend{min-height:34px;padding:7px 14px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #edf0f4;color:var(--muted);font-size:8px}.fx-wave-legend span{display:flex;align-items:center;gap:5px}.fx-wave-legend i{width:8px;height:8px;border-radius:50%;display:block;border:2px solid var(--blue)}.fx-wave-legend i.confirmed{background:var(--blue)}.fx-wave-legend i.forming{background:#fff}.fx-wave-legend i.projected{background:#fff;border-style:dashed}.fx-wave-legend .fx-degree{margin-left:auto;color:var(--navy);font-weight:600}.fx-scenario-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;font-size:8px;color:var(--muted)}.fx-scenario-meta .valid,.fx-validity.valid{color:var(--green);background:var(--green-soft)}.fx-scenario-meta .invalid,.fx-validity.invalid{color:var(--red);background:var(--red-soft)}.fx-scenario-meta span:last-child{padding:2px 5px;border-radius:3px}.fx-wave-audit{border-top:1px solid var(--line);padding:10px 13px 12px}.fx-audit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.fx-audit-head b{display:block;font-size:10px;color:var(--navy)}.fx-audit-head span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.fx-validity{padding:4px 7px!important;border-radius:4px;font-weight:700;white-space:nowrap}.fx-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px}.fx-audit-rule{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 6px;border-radius:4px;background:#f7f9fb;font-size:8px}.fx-audit-rule>span{font-weight:800}.fx-audit-rule.ok>span{color:var(--green)}.fx-audit-rule.fail>span{color:var(--red)}.fx-audit-rule p{margin:0;line-height:1.35}.fx-audit-rule small{color:var(--muted);font-size:7px;text-transform:uppercase}.fx-audit-note{margin:7px 0 0;color:var(--muted);font-size:7px;line-height:1.45}.fx-plan-direction span small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.fx-trigger{padding:8px;margin:0 0 9px;border-left:3px solid var(--blue);background:var(--blue-soft);font-size:8px;line-height:1.45;color:#284763}
.fx-drawing-toolbar{min-height:42px;padding:5px 9px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);background:#fbfcfe;overflow-x:auto}.fx-tool-group{display:flex;align-items:center;gap:2px}.fx-tool{height:30px;min-width:30px;padding:0 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:#526173;display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;white-space:nowrap}.fx-tool:hover{background:#edf3fb}.fx-tool.active{color:var(--blue);border-color:#b9d1f3;background:#eaf2fd}.fx-tool.danger{color:var(--red)}.fx-tool .icon{width:14px;height:14px}.fx-tool-sep{width:1px;height:22px;background:var(--line);flex:0 0 auto}.fx-tool-help{margin-left:auto;color:var(--muted);font-size:8px;white-space:nowrap;padding-right:4px}
.fx-pro-strip{min-height:39px;padding:5px 9px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);background:#f5f8fc;overflow-x:auto}.fx-indicators,.fx-readings,.fx-replay{display:flex;align-items:center;gap:4px;white-space:nowrap}.fx-indicators .fx-tool{height:27px}.fx-chip{height:27px;padding:0 7px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted);font-size:8px}.fx-chip.active{color:var(--blue);border-color:#b9d1f3;background:#eaf2fd}.fx-readings{padding:0 6px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.fx-readings>span{font-size:8px;color:var(--muted);padding:4px}.fx-readings b{color:var(--navy);font-variant-numeric:tabular-nums}.fx-score{border-radius:4px;background:#eef2f6}.fx-score.good{background:var(--green-soft);color:var(--green)!important}.fx-score.mid{background:var(--amber-soft);color:var(--amber)!important}.fx-score.low{background:var(--red-soft);color:var(--red)!important}.fx-replay button{width:25px;height:25px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);display:grid;place-items:center}.fx-replay button.active{background:var(--blue);color:#fff}.fx-replay .icon{width:12px;height:12px}.fx-replay span{font-size:7px;color:var(--muted);min-width:48px}.fx-source{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--blue);font-size:8px;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}.fx-source.live,.fx-feed.live{background:var(--green-soft);color:var(--green);border-color:#a8dcc7}.fx-source .icon{width:12px;height:12px}.fx-object-strip{min-height:34px;padding:5px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;background:#fff}.fx-object-strip>b{font-size:8px;color:var(--muted);white-space:nowrap}.fx-object{height:24px;padding:0 4px 0 7px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;gap:4px;font-size:8px;white-space:nowrap}.fx-object>i{width:7px;height:7px;border-radius:50%}.fx-object button{width:20px;height:20px;border:0;background:transparent;color:var(--muted);padding:0;display:grid;place-items:center}.fx-object button .icon{width:11px;height:11px}.fx-snapshot-panel{margin-bottom:10px}.fx-snapshot-list{padding:8px;display:flex;gap:7px;overflow-x:auto}.fx-snapshot-list button{min-width:210px;padding:9px;border:1px solid var(--line);border-radius:5px;background:#fff;text-align:left}.fx-snapshot-list b{display:block;font-size:9px;color:var(--navy)}.fx-snapshot-list span{display:block;margin-top:4px;font-size:8px;color:var(--muted)}.fx-snapshot{border:0;cursor:pointer}
.fx-alert-toast{min-height:34px;padding:6px 10px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #efd17c;background:#fff6d8;color:#7b5100;font-size:8px}.fx-alert-toast>.icon{width:13px;height:13px}.fx-alert-toast button{margin-left:auto;width:22px;height:22px;border:0;background:transparent;color:inherit}.fx-alert-toast button .icon{width:12px;height:12px}
.fx-anchor-tools{min-height:32px;padding:4px 10px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);background:#fbfcfe}.fx-anchor-tools select{height:28px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);padding:0 7px;font-size:8px}.fx-anchor-tools span{font-size:8px;color:var(--muted)}.fx-anchor-status{min-height:40px;padding:6px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);font-size:8px}.fx-anchor-status>.icon{width:15px;height:15px;flex:0 0 auto}.fx-anchor-status div{min-width:0}.fx-anchor-status b,.fx-anchor-status span{display:block}.fx-anchor-status span{margin-top:2px}.fx-anchor-status.valid{background:var(--green-soft);color:var(--green)}.fx-anchor-status.warning{background:var(--amber-soft);color:#7b5100}.fx-anchor-status.invalid{background:var(--red-soft);color:var(--red)}.fx-anchor-status button{height:25px;border:1px solid currentColor;border-radius:4px;background:#fff;color:inherit;font-size:8px;margin-left:auto;white-space:nowrap}.fx-anchor-status button.close{width:25px;margin-left:0;padding:0}.fx-anchor-status button .icon{width:11px;height:11px}
.fx-oanda-backdrop{position:fixed;inset:0;z-index:100;background:rgba(7,20,38,.55);display:grid;place-items:center;padding:16px}.fx-oanda-modal{width:min(420px,100%);padding:16px;background:#fff;border-radius:8px;box-shadow:0 20px 55px rgba(0,0,0,.24);display:grid;gap:12px}.fx-oanda-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fx-oanda-head b{display:block;color:var(--navy);font-size:14px}.fx-oanda-head span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.fx-oanda-head button{width:28px;height:28px;border:0;background:#f1f4f7;border-radius:4px}.fx-oanda-head .icon{width:14px;height:14px}.fx-oanda-modal label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:600}.fx-oanda-modal input,.fx-oanda-modal select{height:39px;border:1px solid var(--line);border-radius:5px;padding:0 9px;background:#fff;color:var(--text)}.fx-oanda-modal p{margin:0;padding:8px;background:var(--blue-soft);color:#36516e;font-size:8px;line-height:1.45}.fx-oanda-modal>.fx-primary{height:39px;border-radius:5px}

body.fx-focus-mode{overflow:hidden}.fx-focus-mode .app{display:block!important;min-height:100vh}.fx-focus-mode .sidebar,.fx-focus-mode .topbar,.fx-focus-mode .mobile-nav{display:none!important}.fx-focus-mode .workspace{padding:0!important}.fx-focus-mode .content{width:100%;max-width:none!important;height:100vh;margin:0!important;padding:10px 12px!important;overflow:auto}.fx-focus-mode .fx-analysis-grid{grid-template-columns:minmax(0,1fr) 390px;gap:10px}.fx-focus-mode .fx-chart-wrap{height:calc(100vh - 390px);min-height:410px}.fx-focus-mode .fx-chart-panel{align-self:start}

@media(max-width:999px){.fx-toolbar-right{width:100%;justify-content:space-between}.fx-focus-mode .fx-analysis-grid{grid-template-columns:1fr}.fx-focus-mode .fx-chart-wrap{height:55vh;min-height:360px}.fx-audit-grid{grid-template-columns:1fr}}
@media(max-width:1500px){.fx-tool span,.fx-tool-help{display:none}.fx-tool{padding:0;min-width:30px}}
@media(max-width:759px){.fx-focus-toggle span{display:none}.fx-wave-legend{gap:9px;overflow:auto}.fx-wave-legend span{white-space:nowrap}.fx-wave-legend .fx-degree{margin-left:0}.fx-focus-mode .content{padding:7px!important}.fx-focus-mode .fx-chart-wrap{height:48vh;min-height:310px}.fx-tool span,.fx-tool-help{display:none}.fx-tool{padding:0;min-width:30px}}
