:root{color:#d8f7ff;--bg:#05080e;--panel:#09131fe0;--panel-strong:#0a1b2af5;--line:#4bddff42;--line-soft:#8ef0ff24;--text:#d8f7ff;--muted:#7ea2b3;--cyan:#46e6ff;--teal:#0f8b8d;--orange:#ff7a45;--danger:#ff4d6d;--warning:#ffb84d;--ok:#45ffbd;--shadow:0 24px 80px #0000006b;--mono:"Roboto Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;background:#05080e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 8%,#00d4ff24,#0000 32%),radial-gradient(circle at 86% 18%,#ff7a4514,#0000 28%),linear-gradient(135deg,#05080e 0%,#07111d 52%,#04070c 100%);min-width:320px;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background-color:#0000;background-image:linear-gradient(#46e6ff0a 1px,#0000 1px),linear-gradient(90deg,#46e6ff09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:18s linear infinite gridDrift;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000f2,#0000 88%);mask-image:linear-gradient(#000000f2,#0000 88%)}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);min-height:40px;color:var(--text);cursor:pointer;background:linear-gradient(#12273af2,#07111cf2);border-radius:6px;justify-content:center;align-items:center;gap:8px;transition:border-color .16s,color .16s,box-shadow .16s,transform .16s,background .16s;display:inline-flex}button:hover{color:#fff;border-color:#46e6ffad;transform:translateY(-1px);box-shadow:0 0 0 1px #46e6ff1f,0 0 24px #00d4ff29}button.active,.primary{color:#031019;background:linear-gradient(135deg,#00d4ffeb,#0f8b8de6);border-color:#82f4ffd1;font-weight:800;box-shadow:0 0 30px #00d4ff38}input,select,textarea{width:100%;color:var(--text);background:#030a11d6;border:1px solid #7ea2b357;border-radius:6px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #46e6ff1f}input,select{min-height:40px;padding:0 10px}textarea{resize:vertical;min-height:92px;padding:10px}label{color:var(--muted);gap:7px;font-size:13px;display:grid}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px}h2{color:#effcff;align-items:center;gap:8px;font-size:17px;display:flex}h2 svg{color:var(--cyan);filter:drop-shadow(0 0 8px #46e6ff73)}.brand-block{align-items:center;gap:12px;display:flex}.brand-logo{color:#001018;background:radial-gradient(circle at 50% 48%,#fff3,#0000 28%),linear-gradient(135deg,#0f8b8d,#00d4ff);border-radius:8px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 30px #00d4ff4d}.brand-block h1{color:#fff;text-shadow:0 0 18px #46e6ff47;font-size:28px;font-weight:900;line-height:1}.brand-block p{color:var(--muted);font-family:var(--mono);text-transform:uppercase;margin-top:5px;font-size:12px;font-weight:700}.sidebar .brand-block p{color:#7ea2b3}.eyebrow{color:var(--cyan);text-transform:uppercase;font-family:var(--mono);letter-spacing:0;font-weight:800}.login-shell{background:linear-gradient(#46e6ff0a 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#46e6ff09 1px,#0000 1px) 0 0/42px 42px,radial-gradient(circle at 50% 22%,#00d4ff29,#0000 36%),#05080e;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(420px,100vw - 32px);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;background:#08111beb;border-radius:8px;gap:18px;padding:28px;animation:.42s both panelIn;display:grid}.error{color:var(--danger)}.loading{min-height:100vh;color:var(--cyan);font-family:var(--mono);text-transform:uppercase;place-items:center;display:grid}.loading:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);width:120px;height:1px;margin-top:44px;animation:1.2s ease-in-out infinite scan;position:absolute}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;border-right:1px solid var(--line);background:linear-gradient(#0a1a28f5,#030910fa),linear-gradient(#46e6ff0d 1px,#0000 1px) 0 0/100% 38px;flex-direction:column;gap:18px;min-height:100vh;padding:24px;display:flex;position:sticky;top:0;box-shadow:16px 0 60px #00000040}.sidebar button{font-family:var(--mono);text-transform:uppercase;justify-content:flex-start;font-size:12px}.workspace{align-content:start;gap:18px;padding:22px;display:grid}.topbar,.chart-band,.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:8px;position:relative;overflow:hidden}.topbar:before,.chart-band:before,.panel:before,.modal-window:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#46e6ff14,#0000);animation:7s ease-in-out infinite sweep;position:absolute;inset:0;transform:translate(-120%)}.topbar{justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:14px 16px;display:flex}.mode{color:var(--muted);text-transform:uppercase;font-family:var(--mono);background:#7ea2b31f;border-radius:999px;margin-right:10px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.mode.automatic{color:var(--warning);background:#ffb84d1f}.status-stack{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.status-stack>div{gap:3px;display:grid}.status-label{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:11px;font-weight:800}.status-value{color:var(--text);font-size:16px}.status-value.running{color:var(--ok);text-shadow:0 0 14px #45ffbd59}.status-value.idle{color:var(--muted)}.connection-badge{align-items:center;gap:7px;font-size:16px;display:inline-flex}.connection-badge:before{content:"";background:currentColor;border-radius:999px;width:9px;height:9px;animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 14px}.connection-badge.connected{color:var(--ok)}.connection-badge.disconnected{color:var(--danger)}.segmented{grid-template-columns:1fr 1fr;gap:6px;min-width:230px;display:grid}.notice{color:#ffdce4;background:#400a18d1;border:1px solid #ff4d6d6b;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:52px;padding:10px 12px;display:grid;box-shadow:0 0 30px #ff4d6d1f}.notice span{color:#ffb9c7}.chart-band{gap:12px;padding:16px;display:grid}.chart-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.select-row,.toggle-row{flex-wrap:wrap;gap:8px;display:flex}.select-row select{width:130px}.select-row button{min-width:94px}.select-row .primary{min-width:112px}.toggle-row button{min-width:92px}.toggle-row select{text-transform:capitalize;width:132px}.dropdown-wrap{position:relative}.indicator-trigger{min-width:128px}.indicator-menu{z-index:10;background:var(--panel-strong);border:1px solid #46e6ff61;border-radius:8px;gap:4px;width:230px;padding:10px;animation:.16s both panelIn;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 45px #00000061,0 0 28px #00d4ff1f}.indicator-menu .check{min-height:32px}.market-status{color:var(--muted);font-family:var(--mono);font-size:12px}.candle-chart{background-color:#00070d61;background-image:linear-gradient(#46e6ff09 1px,#0000 1px),linear-gradient(90deg,#46e6ff07 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:6px;width:100%;height:390px;display:block}.chart-empty{width:100%;height:390px;color:var(--muted);font-family:var(--mono);text-align:center;background-color:#00070d61;background-image:linear-gradient(#46e6ff09 1px,#0000 1px),linear-gradient(90deg,#46e6ff07 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #46e6ff24;border-radius:6px;place-items:center;padding:24px;display:grid}.chart-axis-text{fill:var(--muted);font-family:var(--mono);font-size:12px}.chart-time-text{fill:#a8c5d2}.market-time-strip{background:#000c167a;border:1px solid #46e6ff33;border-radius:8px;grid-template-columns:180px 1fr;align-items:stretch;gap:10px;padding:11px;display:grid}.market-time-head{align-content:center;gap:4px;display:grid}.market-time-head strong{color:#f4fdff;font-size:15px}.market-time-head small{color:var(--muted);font-family:var(--mono);font-size:11px}.session-timeline{background:#020910eb;border:1px solid #46e6ff42;border-radius:8px;min-width:620px;overflow:hidden;box-shadow:inset 0 0 24px #46e6ff0f}.session-axis{color:#c8f5ff;height:24px;font-family:var(--mono);background:linear-gradient(#132d43fa,#091623fa);border-bottom:1px solid #46e6ff33;font-size:10px;position:relative}.session-axis span{white-space:nowrap;position:absolute;bottom:3px;transform:translate(-50%)}.session-axis b{z-index:2;color:var(--warning);font-size:9px;position:absolute;top:4px;left:8px}.session-axis span:first-child{transform:translate(0)}.session-lanes{background:repeating-linear-gradient(90deg,#46e6ff24 0 1px,#0000 1px 4.16667%),linear-gradient(#46e6ff09,#0000 45%),#00080fdb;height:116px;padding:8px 0;position:relative}.session-lane{height:24px;margin-bottom:6px;position:relative}.session-bar{color:#d8f7ff;white-space:nowrap;border:1px solid #46e6ff3d;justify-content:center;align-items:center;gap:8px;height:20px;padding:0 10px;font-size:12px;line-height:1;display:flex;position:absolute;top:2px;overflow:hidden;box-shadow:inset 0 1px #ffffff14;background:linear-gradient(90deg,#0d2637e6,#1d394ee6)!important}.session-bar.open{color:#04120f;border-color:#45ffbd85;box-shadow:0 0 18px #45ffbd24,inset 0 1px #ffffff42;background:linear-gradient(90deg,#45ffbdf5,#46e6ffc7)!important}.session-bar strong{font-weight:900}.session-bar span{font-family:var(--mono);font-size:11px}.session-now{z-index:3;background:var(--warning);width:2px;position:absolute;top:-24px;bottom:0;box-shadow:0 0 0 1px #ffb84d33,0 0 18px #ffb84d7a}.recharts-wrapper{background-color:#00070d61;background-image:linear-gradient(#46e6ff09 1px,#0000 1px),linear-gradient(90deg,#46e6ff07 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:6px}.recharts-cartesian-axis-tick-value{fill:var(--muted);font-family:var(--mono);font-size:11px}.analysis-panel{background:#000c166b;border:1px solid #46e6ff42;border-radius:8px;gap:12px;padding:14px;display:grid}.analysis-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.analysis-head h2{margin:2px 0 0;font-size:18px}.recommendation{border:1px solid var(--line-soft);background:#ffffff09;border-radius:8px;justify-items:end;gap:2px;min-width:116px;padding:8px 10px;display:grid}.recommendation small,.recommendation span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:10px;font-weight:800}.recommendation strong{font-size:20px}.recommendation.buy strong{color:var(--ok)}.recommendation.sell strong{color:var(--danger)}.recommendation.wait strong{color:var(--warning)}.analysis-summary{color:#f4fdff;margin:0;font-weight:800}.trade-levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.trade-levels div{background:#00d4ff0b;border:1px solid #46e6ff2e;border-radius:8px;gap:4px;min-height:58px;padding:9px 10px;display:grid}.trade-levels small{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:10px;font-weight:800}.trade-levels strong{color:#f4fdff;font-family:var(--mono);font-size:15px}.level-method{color:var(--muted);margin:-4px 0 0;font-size:12px;line-height:1.4}.analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analysis-grid section{border:1px solid var(--line-soft);background:#00d4ff09;border-radius:8px;padding:10px}.analysis-grid h3{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;margin:0 0 6px;font-size:11px}.analysis-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.strategy-analysis-table{border:1px solid var(--line-soft);border-radius:8px;overflow:auto}.strategy-analysis-table table{border-collapse:collapse;width:100%;min-width:780px}.strategy-analysis-table th,.strategy-analysis-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:9px 10px}.strategy-analysis-table th{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;background:#46e6ff14;font-size:10px}.strategy-analysis-table td{color:var(--muted);font-size:12px;line-height:1.4}.strategy-analysis-table td:first-child{color:#f4fdff;font-weight:800}.bias{font-family:var(--mono);text-transform:uppercase;font-weight:800}.bias.buy{color:var(--ok)}.bias.sell{color:var(--danger)}.bias.neutral{color:var(--muted)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel{align-content:start;gap:14px;padding:16px;animation:.32s both panelIn;display:grid}.wide{grid-column:1/-1}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.strategy-list{gap:16px;max-height:360px;display:grid;overflow:auto}.strategy-group{gap:8px;display:grid}.strategy-group h3{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.check{min-height:38px;color:var(--text);grid-template-columns:22px 1fr;align-items:center}.check input{width:16px;min-height:16px;accent-color:var(--cyan)}.signals{gap:8px;display:grid}.signals p{border:1px solid var(--line-soft);background:#00d4ff0a;border-radius:6px;gap:5px;margin:0;padding:10px 12px;display:grid}.signals span{color:var(--muted);font-size:12px;line-height:1.45}.history-block{gap:12px;display:grid}.history-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line-soft);background:#00070d47;border-radius:8px;width:100%;overflow:hidden}.history-table th,.history-table td{border-bottom:1px solid var(--line-soft);text-align:left;padding:10px 12px;font-size:13px}.history-table th{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;background:#00d4ff0f;font-size:11px}.history-table tr:last-child td{border-bottom:0}.side-capsule{min-width:48px;font-family:var(--mono);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.side-capsule.buy{background:var(--ok);color:#06111a}.side-capsule.sell{background:var(--danger);color:#fff}.danger-action{color:#ff8d8d;border-color:#ff4d6d73}.danger-action:hover{color:#fff;background:#ff4d6d2e}.profit-positive{color:var(--green);font-weight:800}.profit-negative{color:#ff6b6b;font-weight:800}.tp-progress{min-width:94px;font-family:var(--mono);gap:5px;font-size:11px;font-weight:900;display:grid}.tp-progress span{color:var(--green)}.tp-progress.negative span{color:#ff6b6b}.tp-progress-track{background:#ffffff0f;border:1px solid #46e6ff2e;border-radius:999px;width:100%;height:6px;overflow:hidden}.tp-progress-track i{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--cyan));height:100%;display:block}.tp-progress.negative .tp-progress-track i{width:0!important}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.pager button{min-height:32px;padding:6px 10px}.pager button:disabled{opacity:.45;cursor:not-allowed}.muted{color:var(--muted)}.panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title-row h2{margin:0}.news-feed-state{min-height:24px;font-family:var(--mono);text-transform:uppercase;white-space:nowrap;border:1px solid #46e6ff47;border-radius:999px;align-items:center;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.news-feed-state.live{color:var(--green);background:#45ffbd24}.news-feed-state.fallback{color:#ffd79a;background:#ffb84d24}.news-updated{color:var(--muted);margin:8px 0 10px;font-size:12px}.news-panel{max-height:460px;overflow:hidden}.news-table-wrap{background:#000c166b;border:1px solid #46e6ff47;border-radius:8px;max-height:390px;padding:10px;overflow:auto}.news-table{border-collapse:separate;border-spacing:0 6px;table-layout:fixed;width:100%;min-width:560px}.news-table th,.news-table td{text-align:left;vertical-align:middle;padding:10px 12px}.news-table th{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;background:#46e6ff1a;border-top:1px solid #46e6ff29;border-bottom:1px solid #46e6ff29;font-size:10px;font-weight:800}.news-table th:first-child{border-left:1px solid #46e6ff29;border-radius:6px 0 0 6px}.news-table th:last-child{text-align:right;border-right:1px solid #46e6ff29;border-radius:0 6px 6px 0}.news-table th:nth-child(2){text-align:center;width:78px}.news-table th:nth-child(3){text-align:right;width:86px}.news-table td{background:#00d4ff09;border-top:1px solid #46e6ff1f;border-bottom:1px solid #46e6ff1f}.news-table td:first-child{border-left:1px solid #46e6ff1f;border-radius:6px 0 0 6px}.news-table td:last-child{border-right:1px solid #46e6ff1f;border-radius:0 6px 6px 0}.news-table tr:nth-child(2n) td{background:#ffffff06}.news-table tbody tr:hover td{background:#46e6ff14;border-color:#46e6ff4d}.news-table strong{color:#f4fdff;margin-bottom:5px;font-size:13px;line-height:1.35;display:block}.news-table .news-meta{color:var(--cyan);font-family:var(--mono);opacity:.78;margin-bottom:5px;font-size:10px}.news-table td span:not(.impact){color:var(--muted);font-size:12px;line-height:1.4;display:block}.news-fallback-row td{background:#ffb84d0e;border-color:#ffb84d3d}.news-table td:nth-child(2){text-align:center}.news-currency{color:#f4fdff;font-family:var(--mono);text-align:right;white-space:nowrap;font-size:13px;font-weight:800}.news-table .impact{text-align:center;min-width:54px;padding:3px 7px;font-size:9px}.calendar-panel{max-height:460px;overflow:hidden}.calendar-alert{color:#ffd79a;background:#ffb84d1a;border:1px solid #ffb84d59;border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.35}.calendar-table-wrap{background:#000c166b;border:1px solid #46e6ff47;border-radius:8px;min-height:304px;padding:10px;overflow:auto;box-shadow:inset 0 0 0 1px #ffffff06}.calendar-table{border-collapse:separate;border-spacing:0 6px;table-layout:fixed;width:100%;min-width:720px}.calendar-table th,.calendar-table td{text-align:left;vertical-align:middle;padding:10px 12px}.calendar-table th{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;background:#46e6ff1a;border-top:1px solid #46e6ff29;border-bottom:1px solid #46e6ff29;font-size:10px;font-weight:800}.calendar-table th:first-child{border-left:1px solid #46e6ff29;border-radius:6px 0 0 6px}.calendar-table th:last-child{border-right:1px solid #46e6ff29;border-radius:0 6px 6px 0}.calendar-table th:first-child{width:132px}.calendar-table th:nth-child(2){width:76px}.calendar-table th:nth-child(4),.calendar-table th:nth-child(5){width:82px}.calendar-table th:nth-child(6){text-align:right;width:78px}.calendar-table td{min-height:42px;color:var(--text);background:#00d4ff09;border-top:1px solid #46e6ff1f;border-bottom:1px solid #46e6ff1f;font-size:12px;line-height:1.35}.calendar-table td:first-child{border-left:1px solid #46e6ff1f;border-radius:6px 0 0 6px}.calendar-table td:last-child{border-right:1px solid #46e6ff1f;border-radius:0 6px 6px 0}.calendar-table tr:nth-child(2n) td{background:#ffffff06}.calendar-table tbody tr:hover td{background:#46e6ff14;border-color:#46e6ff4d}.calendar-table td:nth-child(4),.calendar-table td:nth-child(5){color:#f4fdff;font-family:var(--mono);white-space:nowrap}.calendar-table td:last-child{text-align:right}.calendar-time-cell{font-family:var(--mono);white-space:nowrap;color:var(--muted)!important}.calendar-currency{font-family:var(--mono);white-space:nowrap;font-weight:800;color:#f4fdff!important}.currency-effect{font-family:var(--mono);white-space:nowrap;align-items:center;gap:5px;font-weight:900;display:inline-flex}.currency-effect.up{color:var(--ok)}.currency-effect.down{color:var(--danger)}.currency-effect.neutral{color:var(--muted)}.calendar-event{overflow-wrap:anywhere;font-weight:800;color:#f4fdff!important}.calendar-empty{height:260px;color:var(--muted)!important;text-align:center!important}.calendar-table .impact{text-align:center;min-width:54px;padding:3px 7px;font-size:9px}.calendar-pagination{background:#000c1652;border:1px solid #46e6ff2e;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 10px;display:flex}.calendar-pagination div{gap:8px;display:flex}.calendar-pagination span{color:var(--muted);font-family:var(--mono);font-size:11px}.calendar-pagination button{border-radius:6px;min-width:58px;min-height:30px;padding:6px 10px;font-size:11px}.calendar-pagination button:disabled{cursor:not-allowed;opacity:.45}.impact{color:#06111a;font-family:var(--mono);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.impact.high{background:var(--danger);color:#fff}.impact.medium{background:var(--warning)}.impact.low{background:var(--muted);color:#06111a}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00050bb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-window{background:var(--panel-strong);width:min(620px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow), 0 0 44px #00d4ff1f;border:1px solid #46e6ff61;border-radius:8px;padding:18px;animation:.2s both panelIn;position:relative;overflow:auto}.modal-window:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#46e6ff14,#0000);animation:7s ease-in-out infinite sweep;position:absolute;inset:0;transform:translate(-120%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.icon-button{width:38px;min-height:38px;padding:0}.modal-form{gap:14px;display:grid}.side-options{flex-wrap:wrap;gap:16px;display:flex}.watchlist-settings{border:1px solid var(--line);background:#00070d47;border-radius:8px;gap:8px;max-height:300px;padding:12px;display:grid;overflow:auto}.watchlist-settings h3{font-family:var(--mono);color:var(--cyan);text-transform:uppercase;margin:0 0 4px;font-size:12px}.watchlist-row{grid-template-columns:1fr 110px;align-items:center;gap:10px;display:grid}.watchlist-row select{min-height:34px}.broker-symbol-settings{max-height:360px}.broker-symbol-head,.broker-symbol-row{grid-template-columns:minmax(86px,.7fr) minmax(130px,1fr) 54px;align-items:center;gap:10px;display:grid}.broker-symbol-head{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:11px}.broker-symbol-row{border:1px solid var(--line-soft);background:#ffffff06;border-radius:6px;padding:8px}.broker-symbol-row strong{color:var(--text);font-size:13px}.broker-symbol-row input{min-height:34px}.compact-check{justify-content:center}.trade-context{border:1px solid var(--line);color:var(--muted);background:#00d4ff12;border-radius:6px;padding:10px 12px;font-size:13px}.trade-context strong{color:var(--cyan)}.customer-page{gap:18px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.customer-create{border:1px solid var(--line-soft);background:#00d4ff0b;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) 150px auto;align-items:end;gap:10px;padding:12px;display:grid}.datatable-wrap{border:1px solid var(--line-soft);border-radius:8px;overflow:auto}.datatable{border-collapse:collapse;width:100%;min-width:860px}.datatable th,.datatable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:10px}.datatable th{color:var(--cyan);font-family:var(--mono);text-transform:uppercase;background:#46e6ff0f;font-size:11px;font-weight:800}.datatable td:first-child{width:70px;color:var(--muted);font-family:var(--mono)}.datatable tr:last-child td{border-bottom:0}.datatable-actions{white-space:nowrap;gap:8px;display:flex}.datatable-actions button{min-height:40px}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:42px 42px,42px 42px}}@keyframes sweep{0%,54%{opacity:0;transform:translate(-120%)}60%{opacity:1}78%,to{opacity:0;transform:translate(120%)}}@keyframes pulse{0%,to{opacity:.62;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{0%,to{opacity:.25;transform:translate(-60px)}50%{opacity:1;transform:translate(60px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;min-height:auto;position:static}.topbar,.chart-head{flex-direction:column;align-items:stretch}.market-time-strip{grid-template-columns:1fr;overflow-x:auto}.grid,.two,.trade-levels,.analysis-grid{grid-template-columns:1fr}.customer-create{grid-template-columns:1fr;align-items:stretch}.wide{grid-column:auto}}.performance-band{border-bottom:1px solid #254550;margin-bottom:16px;padding:16px 0}.performance-heading,.performance-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.performance-heading{justify-content:space-between}.performance-heading h2{margin:0;font-size:16px}.performance-controls label{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.performance-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:16px 0 10px;display:grid}.performance-metrics dt{color:#9bbbc6;font-size:12px}.performance-metrics dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:18px;font-weight:700}.performance-chart{width:100%;height:260px;margin:14px 0 10px}.performance-tooltip{color:#d9f5f7;background:#06141d;border:1px solid #285566;gap:4px;padding:10px 12px;font-size:12px;display:grid}.performance-tooltip strong{color:#45ffbd}.performance-note{color:#9bbbc6;margin:6px 0;font-size:12px}@media (width<=1100px){.performance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=550px){.performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-controls,.performance-controls select{max-width:100%}}
