:root {
  --bg: #07151b; --bg-2: #0b222a; --panel: rgba(15, 43, 50, .78); --panel-deep: rgba(7, 25, 32, .88);
  --line: #4ad9d9; --text: #efffff; --muted: #91b5bb; --orange: #ffb653; --green: #67e7ad; --red: #ff6860;
  --font: Inter, "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--text); font-family: var(--font); background-color: var(--bg); background-image: linear-gradient(rgba(81, 147, 157, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(81, 147, 157, .11) 1px, transparent 1px); background-size: 46px 46px; text-rendering: geometricPrecision; -webkit-font-smoothing: antialiased; }
button, select, input { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }
.app-shell { min-height: 100vh; padding: 24px 34px 18px; background: radial-gradient(circle at 52% -10%, rgba(45, 121, 135, .27), transparent 43%), linear-gradient(90deg, rgba(1, 12, 17, .84), transparent 48%, rgba(6, 42, 51, .27)); }
.topbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 20px; }
.brand h1 { margin: 0 0 4px; font-size: clamp(26px, 2.4vw, 36px); line-height: 1.1; letter-spacing: 1px; font-weight: 700; }
.brand h1 strong { color: #dffeff; } .brand span { color: #d1eef0; font-size: 15px; letter-spacing: 2.2px; font-weight: 700; }
.top-stats { display: flex; gap: 22px; align-items: end; }
.top-stats > div { min-width: 150px; padding-right: 22px; border-right: 1px solid rgba(131, 193, 199, .34); }
.top-stats small, .mode-switch span { display: block; color: #bed8dc; font-size: 12px; margin-bottom: 5px; }
.top-stats b { font-size: 22px; white-space: nowrap; color: #c3ffff; }
.runtime-stat b { display: flex; align-items: center; gap: 6px; font-size: 15px; color: #dff; } .runtime-stat em { color: var(--muted); font-size: 12px; font-style: normal; font-weight: 500; } .status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); }
.positive { color: var(--green) !important; } .negative { color: #ff8e81 !important; }
.mode-switch { min-width: 132px; }
.mode-switch select, .dashboard-mode-select { width: 100%; padding: 9px 12px; border: 1px solid #ffe2ad; border-radius: 6px; background: #ee9e43; color: #fff; font-weight: 700; box-shadow: 0 0 18px rgba(255, 174, 70, .4); outline: none; }
.workspace { display: grid; grid-template-columns: 210px minmax(640px, 1fr) 190px; gap: 18px; min-height: 690px; }
.sidebar, .quick-actions { display: flex; flex-direction: column; gap: 18px; }
#nav { overflow: hidden; border: 1px solid #55dce1; border-radius: 10px; background: rgba(16, 48, 55, .82); box-shadow: 0 0 18px rgba(43, 232, 235, .2); }
.nav-item { display: flex; align-items: center; gap: 13px; width: 100%; padding: 18px 20px; border: 0; border-bottom: 1px solid rgba(109, 206, 211, .14); background: transparent; text-align: left; color: #e8f9fa; font-size: 16px; font-weight: 700; transition: background .16s ease, color .16s ease; }
.nav-item:last-child { border-bottom: 0; } .nav-item:hover, .nav-item.active { background: #d78d3d; color: #fff9e8; box-shadow: inset 0 -2px #fff1c8, 0 0 16px rgba(255, 174, 70, .34); }
.nav-icon { width: 20px; text-align: center; font-size: 20px; color: #abf1ed; } .nav-item.active .nav-icon { color: #fff; }
.status-card { position: relative; display: grid; gap: 9px; padding: 17px; border: 1px solid #63dce0; border-radius: 10px; background: rgba(15, 49, 56, .72); box-shadow: 0 0 14px rgba(41, 226, 226, .16), inset 0 0 20px rgba(87, 208, 211, .06); }
.status-card small, .status-card span { color: #a8c9cd; font-size: 12px; } .status-card > b { font-size: 17px; } .status-card strong { font-size: 28px; color: #dffeff; }
.status-card hr { width: 100%; border: 0; border-top: 1px solid rgba(126, 204, 207, .22); margin: 2px 0; } .status-card span b { color: #dffeff; }
.online-dot { position: absolute; top: 18px; right: 18px; width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); } .risk-text { color: var(--orange); font-style: normal; }
.main-frame { min-width: 0; overflow: hidden; padding: 18px 22px; border: 1px solid var(--line); border-radius: 15px; background: rgba(8, 28, 34, .8); box-shadow: 0 0 22px rgba(38, 229, 237, .18), inset 0 0 30px rgba(28, 95, 101, .1); }
.page-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 16px; } .page-head h2 { margin: 0 0 5px; font-size: 25px; } .page-head small { color: var(--muted); }
.page-head-actions { display: flex; gap: 8px; align-items: center; }
.secondary, .card-actions button { padding: 7px 11px; border: 1px solid #77e6e7; border-radius: 5px; background: rgba(28, 88, 94, .55); color: #eaffff; font-weight: 700; } .secondary:hover, .card-actions button:hover { filter: brightness(1.2); }
.quick-actions button { padding: 13px 9px; border: 1px solid #aee9eb; border-radius: 6px; font-size: 14px; font-weight: 700; } .quick-actions .success { background: #51de91; color: #062019; border-color: #baffd8; } .quick-actions .warning { background: #eda84d; color: #fff; } .quick-actions .outline { background: transparent; color: #d9ffff; }
.read-only-note { padding: 16px 10px; border-top: 1px solid rgba(100, 198, 203, .24); color: #c8e1e3; text-align: center; font-size: 13px; line-height: 1.65; } .read-only-note small { color: var(--muted); }
.control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.control-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0 0 14px; } .control-summary > div { display: grid; gap: 4px; padding: 12px 13px; border: 1px solid rgba(81, 214, 221, .3); border-radius: 8px; background: rgba(12, 43, 50, .62); } .control-summary small { color: var(--muted); font-size: 11px; } .control-summary b { color: #efffff; font-size: 22px; } .control-summary b.warning { color: var(--orange); } .control-summary span { color: #a7c6ca; font-size: 11px; } .control-toolbar { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 9px 12px; border: 1px solid rgba(255, 182, 83, .36); border-radius: 7px; background: rgba(46, 43, 28, .35); } .control-toolbar > span:first-child { color: #ffd594; font-size: 12px; font-weight: 700; margin-right: 3px; } .toolbar-action { padding: 6px 10px; border: 1px solid rgba(108, 225, 220, .6); border-radius: 5px; background: rgba(21, 82, 87, .7); color: #e7ffff; font-size: 12px; font-weight: 700; } .toolbar-action:hover { background: #247e84; } .toolbar-hint { margin-left: auto; color: #9daeb0; font-size: 11px; }
.ea-card { position: relative; min-width: 0; padding: 16px; border: 1px solid #50d9de; border-radius: 9px; background: rgba(17, 47, 53, .75); box-shadow: inset 0 0 22px rgba(54, 199, 204, .08); } .ea-card.safe { border-color: #60e1b0; } .ea-card.warning { border-color: var(--orange); } .ea-card.danger { border-color: var(--red); }
.ea-card header { display: flex; align-items: start; justify-content: space-between; gap: 8px; } .ea-card h3 { margin: 0; font-size: 17px; } .ea-card h3 small { margin-left: 6px; color: var(--muted); font-size: 11px; font-weight: 500; } .card-actions { display: flex; gap: 5px; } .card-actions button { padding: 4px 8px; font-size: 12px; }
 .card-actions select { width: 142px; max-width: 142px; padding: 4px 6px; border: 1px solid #77e6e7; border-radius: 5px; background: rgba(28, 88, 94, .72); color: #eaffff; font-size: 11px; font-weight: 700; }
 .card-actions select:focus { outline: none; border-color: #fff; box-shadow: 0 0 10px rgba(95, 231, 223, .3); }
 .card-actions .table-action { padding: 4px 7px; font-size: 11px; }
 .card-actions .danger-action { border-color: rgba(255, 104, 96, .7); color: #ffb0a8; }
 .card-actions .group-state-button { border-color: rgba(103, 231, 173, .75); color: #c9ffe4; }
 .ea-card.warning .card-actions .group-state-button { border-color: rgba(255, 182, 83, .82); color: #ffd18a; }
 .ea-card.danger .card-actions .group-state-button { border-color: rgba(255, 104, 96, .82); color: #ffb0a8; }
 .ea-card h3 { font-size: 18px; line-height: 1.15; }
 .ea-card h3 small { font-size: 11px; }
 .ea-card .account-inline { font-size: 13px; }
 .ea-card .ea-grid small { font-size: 11px; }
 .ea-card .ea-grid b { font-size: 18px; line-height: 1.15; }
 .ea-card .ea-grid b.mono { font-size: 12px; }
 .ea-card .group-order-summary small { font-size: 11px; line-height: 1.1; }
 .ea-card .group-order-summary b { font-size: 15px; line-height: 1.15; }
 .ea-card footer { font-size: 12px; }
 .ea-card .card-actions button, .ea-card .card-actions select { font-size: 12px; }
 .ea-card .ea-grid { grid-template-columns: 1fr 1fr; gap: 9px 14px; margin-top: 4px; }
 .ea-card .ea-grid > div:nth-child(2),
 .ea-card .ea-grid > div:nth-child(3) { display: none; }
 .ea-card .ea-grid > div:nth-child(4),
 .ea-card .ea-grid > div:nth-child(5) { display: none; }
 .ea-card .ea-grid > .group-margin-metric { display: grid !important; grid-column: 2; grid-row: 1; }
 .ea-card .ea-grid > div:nth-child(4) { grid-column: 2; grid-row: 1; }
 .ea-card .group-order-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 12px; margin-top: 9px; padding: 8px 0; }
 .ea-card .group-order-summary > div:nth-child(5) { display: none; }
 .ea-card .group-order-summary > div:nth-child(6) { display: none; }
 .ea-card .group-order-summary small { font-size: 10px; }
 .ea-card .group-order-summary b { font-size: 14px; }
 .ea-card .group-order-summary { gap: 8px 14px; }
 .ea-card .group-order-summary > div { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
 .ea-card .group-order-summary small { font-size: 12px; }
 .ea-card .group-order-summary b { font-size: 16px; }
 .ea-card { padding: 13px 15px; }
 .ea-card .account-inline { margin: 9px 0 10px; }
 .ea-card footer { margin-top: 10px; padding-top: 8px; }
 .ea-card h3 .group-inline-risk { display: inline-block; margin-left: 9px; padding: 2px 6px; border: 1px solid currentColor; border-radius: 4px; color: #ffc16e; font-size: 11px; font-weight: 700; vertical-align: middle; text-shadow: 0 0 6px currentColor; }
 .ea-card h3 .group-inline-risk.safe { color: #39e09b; }
 .ea-card h3 .group-inline-risk.warning { color: #ffc16e; animation: groupWarningPulse 2.8s ease-in-out infinite; }
 .ea-card h3 .group-inline-risk.danger { color: #ff7770; animation: groupDangerPulse 1.35s ease-in-out infinite; }
 .ea-card header .account-inline { flex: 1 1 auto; margin: 0; gap: 8px; font-size: 12px; white-space: nowrap; }
 .ea-card header .account-inline .mini-signal { margin-left: 2px; }
 .ea-dialog-input { width: 100%; box-sizing: border-box; margin-top: 10px; padding: 9px 10px; border: 1px solid #4e9da0; border-radius: 5px; background: #0b2c34; color: #efffff; font-size: 13px; }
 .ea-dialog-input:focus { outline: none; border-color: #8debe7; box-shadow: 0 0 0 2px rgba(84, 215, 211, .13); }
.account-inline { display: flex; align-items: center; gap: 11px; margin: 12px 0 13px; color: #dffeff; font-size: 12px; font-weight: 700; } .account-inline b { color: var(--green); font-weight: 700; } .mini-signal { display: inline-block; width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor; }
.ea-card.safe .mini-signal { color: var(--green); } .ea-card.warning .mini-signal { color: var(--orange); } .ea-card.danger .mini-signal { color: var(--red); }
.ea-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 10px; } .ea-grid small { display: block; margin-bottom: 4px; color: #8eaeb4; font-size: 11px; } .ea-grid b { display: block; overflow: hidden; color: #fff; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; } .ea-grid b.mono { color: #b8e8e7; font: 700 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; } .ea-grid b.warning { color: var(--orange); } .ea-grid b.danger { color: var(--red); }
.ea-card footer { display: flex; justify-content: space-between; align-items: center; gap: 9px; margin-top: 16px; padding-top: 11px; border-top: 1px solid rgba(100, 198, 203, .18); color: var(--muted); font-size: 12px; } .rate { display: flex; align-items: center; gap: 6px; } .rate button { width: 25px; height: 25px; padding: 0; border: 1px solid #8fe7e6; border-radius: 4px; background: rgba(24, 82, 88, .8); color: #e9ffff; font-size: 17px; line-height: 1; } .rate button:hover { background: #267d85; }
.toggle { display: inline-block; width: 38px; height: 21px; padding: 3px; border-radius: 20px; background: #66797b; } .toggle i { display: block; width: 15px; height: 15px; border-radius: 50%; background: #fff; transition: margin .16s ease; } .toggle.on { background: #f09f45; } .toggle.on i { margin-left: 17px; }
.table-card { overflow: auto; border: 1px solid rgba(81, 214, 221, .45); border-radius: 8px; } .filterbar { display: flex; gap: 8px; margin-bottom: 12px; } .filterbar input, .filterbar select { min-width: 0; padding: 8px 10px; border: 1px solid #3e777c; border-radius: 5px; background: #102b31; color: #dff; outline: none; } .filterbar input { flex: 1; }
.data-table { width: 100%; min-width: 720px; border-collapse: collapse; } .data-table th, .data-table td { padding: 11px 10px; border-bottom: 1px solid rgba(100, 198, 203, .16); text-align: left; font-size: 13px; white-space: nowrap; } .data-table th { color: #9ddfe0; background: rgba(38, 92, 96, .5); } .data-table tr:hover { background: rgba(47, 174, 180, .12); } .tag { padding: 3px 7px; border-radius: 4px; background: #1d866f; color: #aaffdf; } .tag.warn { background: #99692b; color: #ffe7ae; } .tag.danger { background: #953d42; color: #ffd1d0; }
.footer { display: flex; gap: 32px; margin-top: 14px; padding: 11px 26px; border-top: 1px solid #315e64; color: #a8c5c8; font-size: 12px; }
.modal { position: fixed; inset: 0; z-index: 10; display: grid; place-items: center; padding: 20px; background: rgba(1, 7, 9, .76); } .modal-panel { width: min(700px, 94vw); padding: 26px; border: 1px solid #f8ae52; border-radius: 12px; background: #102f35; box-shadow: 0 0 34px rgba(255, 166, 66, .38), 0 0 0 1px #55e4e3; } .modal-panel h2 { margin: 0 0 18px; font-size: 24px; } .close { float: right; border: 0; background: transparent; color: #d2edef; font-size: 28px; } .modal-note { color: #9cb9bd; } .modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; } .modal-actions button { padding: 12px; border: 1px solid #69dfe4; border-radius: 6px; background: #248e9e; color: #fff; font-weight: 700; } .modal-actions .danger { background: #eb5d55; }
.toast { position: fixed; right: 26px; bottom: 24px; z-index: 12; padding: 12px 18px; border-radius: 6px; background: #1f896f; color: #ddfff3; opacity: 0; transform: translateY(12px); transition: .2s; pointer-events: none; } .toast.show { opacity: 1; transform: none; } .hidden { display: none !important; }

/* Control home: one scan line from health to risk to action. */
.overview-page { max-width: 1260px; margin: 0 auto; } .live-indicator { display: flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(103, 231, 173, .45); border-radius: 5px; color: #bdf9db; background: rgba(20, 91, 73, .25); font-size: 12px; } .live-indicator span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.overview-hero { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 14px; padding: 22px 24px; border: 1px solid rgba(79, 218, 220, .45); border-radius: 10px; background: linear-gradient(110deg, rgba(17, 68, 75, .82), rgba(9, 35, 42, .65)); box-shadow: inset 0 0 28px rgba(49, 195, 197, .08), 0 0 18px rgba(40, 193, 198, .12); } .overview-hero small { color: #a4c7ca; font-size: 12px; } .overview-hero strong { display: block; margin: 3px 0; color: #f4ffff; font-size: 36px; letter-spacing: 1px; } .overview-hero p { margin: 0; color: #a0c1c4; font-size: 12px; } .hero-health { width: 220px; } .hero-health > span { display: block; color: #b9d7da; font-size: 12px; } .hero-health > b { display: block; margin: 2px 0 7px; color: var(--green); font-size: 26px; } .hero-health small { display: block; margin-top: 7px; line-height: 1.4; } .hero-health em { color: #e8ffff; font-style: normal; } .health-track { height: 5px; overflow: hidden; border-radius: 5px; background: rgba(153, 204, 202, .2); } .health-track i { display: block; width: 94.2%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3acb9b, #83f1c1); box-shadow: 0 0 10px var(--green); }
.overview-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 17px; } .overview-metrics > div { display: grid; gap: 4px; padding: 14px 15px; border-left: 2px solid #3cbfc1; background: rgba(11, 40, 47, .72); } .overview-metrics small { color: var(--muted); font-size: 11px; } .overview-metrics b { color: #f1ffff; font-size: 24px; } .overview-metrics b em { color: #8eafb2; font-size: 13px; font-style: normal; font-weight: 500; } .overview-metrics span { color: #9fbdc0; font-size: 11px; } .danger-text { color: var(--red) !important; } .warning-text { color: var(--orange) !important; }
.overview-section { margin-top: 14px; } .section-title { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 9px; } .section-title h3 { margin: 0; color: #e9ffff; font-size: 15px; } .section-title span { color: #87a8ac; font-size: 11px; } .overview-groups { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; } .overview-group { position: relative; display: grid; gap: 5px; min-width: 0; padding: 13px 13px 13px 18px; border: 1px solid rgba(80, 213, 215, .35); border-radius: 7px; background: rgba(12, 42, 49, .72); text-align: left; } .overview-group:hover { border-color: #c3ffff; transform: translateY(-1px); } .overview-group strong { overflow: hidden; color: #e8ffff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; } .overview-group small { color: #91b3b7; font-size: 11px; } .overview-group b { color: #f5ffff; font-size: 16px; } .overview-group em { color: var(--orange); font-size: 11px; font-style: normal; } .overview-group.safe em { color: var(--green); } .overview-group.danger em { color: var(--red); } .overview-group .group-signal { position: absolute; top: 16px; left: 5px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; } .overview-group.safe { color: var(--green); } .overview-group.warning { color: var(--orange); } .overview-group.danger { color: var(--red); }
.overview-bottom { display: grid; grid-template-columns: 1.2fr 1fr; gap: 18px; } .attention-list { display: grid; gap: 7px; } .attention-list button { display: grid; grid-template-columns: 10px 1fr auto; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid rgba(88, 191, 195, .25); border-radius: 5px; background: rgba(11, 37, 43, .65); text-align: left; } .attention-list button:hover { border-color: #77e6e7; } .attention-list b { color: #e9ffff; font-size: 12px; } .attention-list small { color: #96b6ba; font-size: 11px; } .attention-list em { color: #ff8b7d; font-size: 11px; font-style: normal; } .attention-dot { width: 7px; height: 7px; border-radius: 50%; } .attention-dot.danger { background: var(--red); box-shadow: 0 0 8px var(--red); } .attention-dot.warning { background: var(--orange); box-shadow: 0 0 8px var(--orange); } .overview-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; } .overview-shortcuts button { padding: 11px; border: 1px solid rgba(84, 212, 215, .4); border-radius: 5px; background: rgba(13, 55, 62, .7); color: #d7ffff; text-align: left; font-size: 12px; font-weight: 700; } .overview-shortcuts button:hover { background: #1d7178; }

/* Data cockpit: the composition stays fixed while all labels remain live HTML text. */
.dashboard-mode { padding: 0; background: radial-gradient(circle at 50% 48%, rgba(18, 91, 99, .25), transparent 36%), #071419; } .dashboard-mode .topbar, .dashboard-mode .sidebar, .dashboard-mode .quick-actions, .dashboard-mode .footer { display: none; } .dashboard-mode .workspace { display: block; min-height: 100vh; } .dashboard-mode .main-frame { width: 100vw; min-height: 100vh; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: hidden; }
.dashboard-stage { position: relative; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(500px, 720px) minmax(260px, 1fr); grid-template-rows: 112px 1fr 1fr 66px; gap: 0 18px; width: min(1900px, 100vw); min-height: 100vh; margin: 0 auto; padding: 20px 34px 22px; overflow: hidden; } .dashboard-stage::before { content: ""; position: absolute; inset: 125px 18% 80px; background-image: radial-gradient(circle, rgba(217, 247, 246, .76) 0 1px, transparent 1.6px), radial-gradient(circle, rgba(93, 219, 223, .48) 0 1px, transparent 1.8px); background-size: 31px 29px, 47px 43px; background-position: 0 6px, 18px 12px; opacity: .34; mask-image: radial-gradient(ellipse at center, #000 0 43%, transparent 78%); pointer-events: none; }
.dashboard-header { grid-column: 1 / -1; z-index: 2; display: flex; justify-content: space-between; align-items: start; } .dashboard-header h2 { margin: 0 0 4px; color: #f2ffff; font-size: 34px; letter-spacing: 2px; } .dashboard-header span { color: #a6ced1; font: 700 12px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 1.4px; } .dashboard-sync { display: flex; align-items: center; gap: 12px; color: #d8eef0; font-size: 13px; } .dashboard-sync > span { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(95, 160, 165, .8); border-radius: 6px; background: rgba(15, 46, 52, .66); } .dashboard-sync b { color: #d6ffff; } .sync-pill b { color: var(--green); } .dashboard-mode-select { width: 126px; padding: 8px 9px; }
.dashboard-orbit { z-index: 2; align-self: center; } .orbit-left-top { grid-column: 1; grid-row: 2; } .orbit-right-top { grid-column: 3; grid-row: 2; } .orbit-left-bottom { grid-column: 1; grid-row: 3; } .orbit-right-bottom { grid-column: 3; grid-row: 3; }
.orbit-card { position: relative; min-height: 238px; padding: 25px 30px; clip-path: polygon(10% 0, 88% 0, 100% 15%, 96% 84%, 88% 100%, 11% 100%, 0 84%, 4% 16%); background: linear-gradient(145deg, rgba(28, 70, 78, .55), rgba(7, 27, 34, .82)); box-shadow: inset 0 0 28px rgba(82, 222, 218, .1), 0 0 18px rgba(67, 231, 217, .18); } .orbit-card::before { content: ""; position: absolute; inset: 0; z-index: -1; clip-path: inherit; background: currentColor; opacity: .85; } .orbit-card::after { content: ""; position: absolute; inset: 1px; z-index: -1; clip-path: polygon(10.4% 0, 87.6% 0, 99.4% 15%, 95.4% 83.7%, 87.6% 100%, 11.4% 100%, .6% 83.7%, 4.6% 16.3%); background: linear-gradient(145deg, rgba(28, 70, 78, .62), rgba(7, 27, 34, .9)); } .orbit-card.safe { color: #60e1b0; } .orbit-card.warning { color: var(--orange); } .orbit-card.danger { color: var(--red); }
.orbit-card h3 { margin: 0 0 6px; color: #f2ffff; font-size: 20px; text-align: center; } .orbit-card h3 small { margin-left: 6px; color: #91b5bb; font-size: 11px; font-weight: 400; } .orbit-card .account-inline { margin: 0 0 17px; justify-content: center; color: #e2ffff; } .orbit-card p { display: flex; justify-content: space-between; gap: 15px; margin: 13px 0; color: #bcdbde; font-size: 13px; } .orbit-card p b { color: #f5ffff; font-size: 15px; } .group-signal { position: absolute; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor, 0 0 17px currentColor, 0 0 30px currentColor; animation: signalPulse 1.8s ease-in-out infinite; } .orbit-left-top .group-signal, .orbit-left-bottom .group-signal { right: -9px; } .orbit-right-top .group-signal, .orbit-right-bottom .group-signal { left: -9px; } @keyframes signalPulse { 0%, 100% { opacity: .72; transform: translateY(-50%) scale(.9); } 50% { opacity: 1; transform: translateY(-50%) scale(1.1); } } .orbit-card.danger .group-signal { animation-duration: .72s; }
.dashboard-gauge { position: relative; z-index: 1; grid-column: 2; grid-row: 2 / span 2; display: grid; place-items: center; min-height: 0; } .dashboard-gauge::before { content: ""; position: absolute; width: min(650px, 42vw); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 225deg, #43d7ad 0 23%, transparent 23% 25%, #fdb34c 25% 49%, transparent 49% 51%, #ff725f 51% 73%, transparent 73% 75%, #4db9ef 75% 98%, transparent 98% 100%); -webkit-mask: radial-gradient(circle, transparent 67%, #000 68% 74%, transparent 75%); mask: radial-gradient(circle, transparent 67%, #000 68% 74%, transparent 75%); filter: drop-shadow(0 0 11px rgba(98, 243, 234, .88)) drop-shadow(0 0 25px rgba(61, 208, 205, .3)); } .gauge-ring { position: absolute; width: min(510px, 33vw); aspect-ratio: 1; border: 1px solid rgba(184, 239, 235, .86); border-radius: 50%; background: radial-gradient(circle, rgba(12, 38, 45, .88) 0 54%, rgba(25, 77, 83, .23) 55% 64%, rgba(4, 24, 31, .5) 65%); box-shadow: 0 0 0 12px rgba(70, 190, 194, .05), 0 0 26px rgba(104, 240, 230, .3), inset 0 0 36px rgba(36, 139, 148, .3); } .gauge-ticks { position: absolute; width: min(585px, 38vw); aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(from 225deg, rgba(237, 255, 250, .9) 0 1deg, transparent 1deg 5deg); -webkit-mask: radial-gradient(circle, transparent 71%, #000 71.5% 75%, transparent 75.5%); mask: radial-gradient(circle, transparent 71%, #000 71.5% 75%, transparent 75.5%); filter: drop-shadow(0 0 3px rgba(228, 255, 250, .85)); } .gauge-core { z-index: 2; text-align: center; } .gauge-core strong { display: block; color: #fff; font-size: clamp(34px, 4vw, 58px); letter-spacing: 1px; } .gauge-core span { color: #d7ffff; font-size: 20px; font-weight: 700; } .gauge-label { position: absolute; z-index: 3; color: #e8ffff; font-size: 12px; font-weight: 700; line-height: 1.5; text-align: center; } .gauge-label b { font-size: 14px; } .label-margin { top: 12%; color: #ffd98e; } .label-available { left: 11%; top: 50%; color: #75e4bc; } .label-loss { right: 10%; top: 50%; color: #ff8a78; } .label-day { bottom: 12%; left: 50%; transform: translateX(-50%); color: #85ddeb; }
.dashboard-bottom { grid-column: 1 / -1; grid-row: 4; justify-self: center; align-self: end; display: flex; justify-content: center; gap: 26px; width: min(1115px, 80vw); padding: 13px 28px; clip-path: polygon(2% 0, 98% 0, 100% 50%, 98% 100%, 2% 100%, 0 50%); background: rgba(8, 36, 43, .82); border: 1px solid #3d7c83; color: #d8eff0; font-size: 14px; filter: drop-shadow(0 0 5px rgba(74, 212, 214, .3)); } .dashboard-bottom b { color: #fff; } .dashboard-bottom .green { color: var(--green); } .dashboard-bottom .orange { color: var(--orange); } .dashboard-bottom .red { color: var(--red); }
@media (max-width: 1200px) { body { min-width: 0; } .app-shell { padding: 18px; } .workspace { grid-template-columns: 170px minmax(570px, 1fr) 150px; } .top-stats { gap: 10px; } .top-stats > div { min-width: 120px; padding-right: 10px; } .dashboard-stage { padding-inline: 18px; } .orbit-card { padding-inline: 22px; } }
@media (max-width: 860px) { .topbar { flex-direction: column; } .top-stats { width: 100%; justify-content: space-between; } .workspace { display: block; } .sidebar, .quick-actions { display: none; } .main-frame { min-height: calc(100vh - 165px); } .control-grid, .control-summary, .overview-metrics, .overview-groups { grid-template-columns: 1fr 1fr; } .overview-bottom { grid-template-columns: 1fr; } .footer { flex-wrap: wrap; gap: 12px 20px; } .dashboard-stage { grid-template-columns: 1fr 1fr; grid-template-rows: 100px 360px auto auto; overflow: auto; padding: 16px; } .dashboard-header { grid-column: 1 / -1; display: block; } .dashboard-header h2 { font-size: 27px; } .dashboard-sync { margin-top: 10px; flex-wrap: wrap; } .dashboard-gauge { grid-column: 1 / -1; grid-row: 2; min-height: 360px; } .dashboard-gauge::before { width: 330px; } .gauge-ring { width: 250px; } .gauge-ticks { width: 300px; } .orbit-left-top { grid-column: 1; grid-row: 3; } .orbit-right-top { grid-column: 2; grid-row: 3; } .orbit-left-bottom { grid-column: 1; grid-row: 4; } .orbit-right-bottom { grid-column: 2; grid-row: 4; } .orbit-card { min-height: 210px; padding: 22px 18px; } .dashboard-bottom { grid-column: 1 / -1; grid-row: 5; width: 100%; flex-wrap: wrap; gap: 10px 18px; font-size: 12px; } }
@media (max-width: 540px) { .top-stats { display: grid; grid-template-columns: 1fr 1fr; } .top-stats > div { border-right: 0; } .mode-switch { grid-column: 1 / -1; } .filterbar { flex-wrap: wrap; } .filterbar input, .filterbar select { width: 100%; } .dashboard-stage { display: block; overflow: auto; } .dashboard-header { margin-bottom: 18px; } .dashboard-gauge { height: 360px; margin-bottom: 14px; } .dashboard-orbit { margin-bottom: 14px; } .dashboard-bottom { margin-top: 6px; } }

/* New cockpit layout. The old image composition is intentionally not used. */
.command-dashboard { min-height: 100vh; padding: 26px 34px 20px; color: #e9ffff; background: radial-gradient(circle at 52% 34%, rgba(19, 76, 88, .22), transparent 37%), linear-gradient(135deg, rgba(3, 19, 27, .7), rgba(8, 29, 37, .2)); }
.command-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid rgba(82, 210, 216, .22); } .command-brand { display: flex; align-items: center; gap: 13px; } .brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #69e8e5; border-radius: 8px; background: rgba(48, 163, 168, .2); color: #bffff9; font: 800 13px ui-monospace, Consolas, monospace; box-shadow: 0 0 18px rgba(67, 231, 217, .18); } .command-brand h1 { margin: 0 0 2px; color: #f2ffff; font-size: 27px; letter-spacing: 1px; } .command-brand p { margin: 0; color: #7ba8ae; font: 700 10px ui-monospace, Consolas, monospace; letter-spacing: 1.2px; } .command-brand p i { margin-left: 8px; color: var(--green); font-style: normal; }
.command-status { display: flex; align-items: center; gap: 13px; } .command-status > div { display: grid; gap: 2px; padding-right: 15px; border-right: 1px solid rgba(126, 192, 197, .25); } .command-status small { color: #86aeb3; font-size: 11px; } .command-status b { color: #dfffff; font-size: 19px; } .health-badge { display: flex; align-items: center; gap: 6px; padding: 9px 11px; border: 1px solid rgba(103, 231, 173, .5); border-radius: 5px; background: rgba(30, 112, 83, .2); color: #c3ffdf; font-size: 12px; } .health-badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); } .command-status .dashboard-mode-select { width: 125px; }
.indicator-switch { min-height: 38px; padding: 8px 13px; border: 1px solid rgba(117, 250, 226, .82); border-radius: 6px; background: linear-gradient(135deg, rgba(28, 135, 127, .72), rgba(14, 67, 77, .8)); color: #ecffff; font-size: 11px; font-weight: 800; box-shadow: 0 0 12px rgba(71, 235, 213, .22), inset 0 0 12px rgba(193, 255, 244, .08); } .indicator-switch:hover { background: linear-gradient(135deg, rgba(47, 180, 159, .86), rgba(20, 96, 105, .9)); box-shadow: 0 0 22px rgba(71, 235, 213, .52); transform: translateY(-1px); }
.command-body { display: grid; grid-template-columns: 178px minmax(620px, 1fr) 226px; gap: 20px; max-width: 1720px; min-height: calc(100vh - 185px); margin: 20px auto 0; } .command-sidebar, .command-right { padding: 14px 0; } .side-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 14px; color: #d9ffff; font-size: 13px; font-weight: 700; } .side-heading small { color: #658c92; font: 10px ui-monospace, Consolas, monospace; }
.command-nav { display: flex; align-items: center; gap: 10px; width: 100%; margin-bottom: 6px; padding: 12px 9px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #8caeb2; text-align: left; } .command-nav b { color: #4b7780; font: 11px ui-monospace, Consolas, monospace; } .command-nav span { display: grid; gap: 3px; color: #cae7e8; font-size: 12px; font-weight: 700; } .command-nav small { color: #60868c; font: 9px ui-monospace, Consolas, monospace; } .command-nav:hover, .command-nav.active { border-color: rgba(86, 222, 221, .44); background: rgba(34, 117, 122, .2); } .command-nav.active b { color: var(--green); } .command-nav.active span { color: #f3ffff; }
.side-connection { display: flex; align-items: center; gap: 9px; margin-top: 35px; padding: 11px 8px; border-top: 1px solid rgba(82, 210, 216, .19); } .side-connection .status-dot { flex: 0 0 auto; } .side-connection div { display: grid; gap: 3px; } .side-connection b { color: #c5eded; font-size: 11px; } .side-connection small { color: #71999d; font-size: 10px; }
.command-main { min-width: 0; } .command-kpis { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 10px; margin-bottom: 14px; } .command-kpis article { display: grid; gap: 4px; padding: 15px; border: 1px solid rgba(72, 201, 208, .28); border-radius: 7px; background: rgba(10, 39, 47, .68); } .command-kpis small { color: #84a8ad; font-size: 10px; } .command-kpis b { color: #edffff; font-size: 20px; } .command-kpis span { color: #779ba0; font-size: 10px; } .command-kpis .primary-kpi { border-color: rgba(104, 231, 173, .5); background: linear-gradient(115deg, rgba(25, 94, 82, .44), rgba(10, 39, 47, .7)); } .command-kpis .primary-kpi strong { color: #f4ffff; font-size: 31px; letter-spacing: 1px; } .command-kpis .primary-kpi span { font-size: 11px; }
.performance-panel { margin-bottom: 17px; padding: 16px 18px 11px; border: 1px solid rgba(70, 199, 206, .28); border-radius: 8px; background: rgba(7, 31, 39, .72); } .panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; margin-bottom: 8px; } .panel-heading h2 { margin: 0 0 3px; color: #e8ffff; font-size: 15px; } .panel-heading small { color: #769ba0; font-size: 10px; } .trend-legend { display: flex; gap: 11px; color: #8fb0b4; font-size: 10px; } .trend-legend span { display: flex; align-items: center; gap: 4px; } .trend-legend i { width: 12px; height: 3px; display: inline-block; background: var(--green); } .trend-legend i.orange { background: var(--orange); } .trend-chart { position: relative; height: 124px; overflow: hidden; border-bottom: 1px solid rgba(88, 170, 176, .3); background: repeating-linear-gradient(0deg, transparent 0 30px, rgba(85, 161, 168, .1) 31px), repeating-linear-gradient(90deg, transparent 0 72px, rgba(85, 161, 168, .08) 73px); } .trend-chart::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0 76%, rgba(69, 212, 196, .04)); pointer-events: none; } .trend-line { position: absolute; z-index: 1; left: 2%; right: 1%; bottom: 26%; height: 58%; background: linear-gradient(155deg, transparent 0 5%, #66e7b2 5.5% 6%, transparent 6.5% 14%, #66e7b2 14.5% 15%, transparent 15.5% 25%, #66e7b2 25.5% 26%, transparent 26.5% 37%, #66e7b2 37.5% 38%, transparent 38.5% 49%, #66e7b2 49.5% 50%, transparent 50.5% 61%, #66e7b2 61.5% 62%, transparent 62.5% 72%, #66e7b2 72.5% 73%, transparent 73.5% 83%, #66e7b2 83.5% 84%, transparent 84.5% 94%, #66e7b2 94.5% 95%, transparent 95.5%); filter: drop-shadow(0 0 5px rgba(103, 231, 173, .7)); transform: skewY(-5deg); } .trend-fill { position: absolute; inset: 34% 0 0; background: linear-gradient(180deg, rgba(103, 231, 173, .12), transparent); clip-path: polygon(0 72%, 12% 55%, 24% 62%, 37% 39%, 51% 48%, 63% 30%, 76% 38%, 88% 16%, 100% 25%, 100% 100%, 0 100%); } .trend-label { position: absolute; right: 2px; color: #72999f; font: 9px ui-monospace, Consolas, monospace; } .label-1 { top: 6px; } .label-2 { top: 49px; } .label-3 { top: 92px; } .trend-axis { position: absolute; right: 0; bottom: 2px; left: 0; display: flex; justify-content: space-between; color: #668e94; font-size: 9px; }
.group-heading { margin-bottom: 8px; } .link-action { border: 0; background: transparent; color: #9fe8e2; font-size: 11px; } .command-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; } .command-group { position: relative; display: grid; gap: 7px; min-width: 0; padding: 14px 15px; border: 1px solid rgba(73, 201, 208, .33); border-radius: 7px; background: rgba(10, 40, 47, .7); text-align: left; } .command-group:hover { border-color: #a8ffff; background: rgba(18, 66, 74, .8); } .command-group.safe { border-color: rgba(103, 231, 173, .45); } .command-group.warning { border-color: rgba(255, 182, 83, .44); } .command-group.danger { border-color: rgba(255, 104, 96, .55); } .command-group .group-signal { position: absolute; top: 16px; right: 15px; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor; } .command-group.safe { color: var(--green); } .command-group.warning { color: var(--orange); } .command-group.danger { color: var(--red); } .group-title { display: grid; gap: 3px; padding-right: 18px; } .group-title strong { color: #e9ffff; font-size: 13px; } .group-title small { overflow: hidden; color: #6e969b; font: 9px ui-monospace, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; } .group-values { display: flex; align-items: end; justify-content: space-between; gap: 10px; color: #a4c5c8; font-size: 11px; } .group-values b { color: #eaffff; font-size: 14px; } .group-values em { color: #77cfab; font-style: normal; } .group-values > strong { font-size: 15px; } .group-progress { height: 3px; overflow: hidden; border-radius: 3px; background: rgba(132, 187, 188, .16); } .group-progress i { display: block; height: 100%; border-radius: inherit; background: currentColor; box-shadow: 0 0 7px currentColor; } .group-status { color: #91b3b6; font-size: 10px; font-style: normal; }
.command-right { padding-left: 16px; border-left: 1px solid rgba(82, 210, 216, .19); } .risk-score { display: flex; align-items: center; gap: 11px; padding: 12px 0 16px; border-bottom: 1px solid rgba(82, 210, 216, .19); } .score-ring { display: grid; place-items: center; width: 66px; height: 66px; border: 5px solid #4bd6b0; border-right-color: #f5ad51; border-radius: 50%; box-shadow: 0 0 14px rgba(72, 214, 177, .25); } .score-ring b { font-size: 20px; } .score-ring small { margin-top: -20px; color: #799da1; font-size: 9px; } .risk-score > div:last-child { display: grid; gap: 5px; } .risk-score strong { color: #dfffff; font-size: 12px; } .risk-score span { color: #7fa5aa; font-size: 10px; } .risk-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding: 13px 0 19px; } .risk-counts div { display: grid; gap: 3px; text-align: center; } .risk-counts b { font-size: 19px; } .risk-counts small { color: #789ba0; font-size: 9px; } .action-heading { margin-top: 4px; } .command-action { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 7px; padding: 10px 9px; border: 1px solid rgba(82, 200, 206, .28); border-radius: 5px; background: rgba(13, 51, 58, .62); color: #cee9eb; text-align: left; font-size: 11px; } .command-action span { color: #82d7d1; font-size: 17px; } .command-action:hover { border-color: #8cece6; background: rgba(28, 91, 96, .7); } .next-event { display: grid; gap: 4px; margin-top: 25px; padding: 12px 10px; border-left: 2px solid var(--orange); background: rgba(80, 57, 26, .2); } .next-event small, .next-event span { color: #8eaaac; font-size: 10px; } .next-event strong { color: #ffcf82; font: 700 21px ui-monospace, Consolas, monospace; }
.command-footer { display: flex; align-items: center; gap: 20px; max-width: 1720px; margin: 16px auto 0; padding: 11px 15px; border-top: 1px solid rgba(82, 210, 216, .24); color: #91b4b8; font-size: 11px; } .command-footer b, .command-footer strong { color: #dcffff; } .command-footer b { display: inline-flex; align-items: center; gap: 6px; } .command-footer .footer-time { margin-left: auto; color: #6d9499; } .command-footer .footer-time b { color: #b9d8da; font: 10px ui-monospace, Consolas, monospace; }
@media (max-width: 1100px) { .command-body { grid-template-columns: 150px minmax(520px, 1fr); } .command-right { display: none; } .command-status > div:nth-child(2) { display: none; } }
@media (max-width: 820px) { .command-dashboard { padding: 18px; } .command-header { align-items: flex-start; flex-direction: column; } .command-status { width: 100%; flex-wrap: wrap; } .command-body { display: block; min-height: 0; margin-top: 15px; } .command-sidebar { display: flex; align-items: center; gap: 5px; overflow-x: auto; padding: 0 0 14px; } .side-heading, .side-connection { display: none; } .command-nav { flex: 0 0 auto; width: auto; padding: 9px 10px; } .command-nav span small { display: none; } .command-kpis { grid-template-columns: 1fr 1fr; } .command-kpis .primary-kpi { grid-column: 1 / -1; } .command-groups { grid-template-columns: 1fr; } .command-footer { flex-wrap: wrap; gap: 10px 16px; } .command-footer .footer-time { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Funds operations module */
.funds-page { max-width: 1360px; margin: 0 auto; } .funds-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; } .fund-role { color: #b9dfe1; font-size: 11px; } .role-select { padding: 7px 8px; border: 1px solid #4f989d; border-radius: 5px; background: #0e343b; color: #dff; font-size: 11px; } .fund-online { display: inline-flex; align-items: center; gap: 5px; color: #8fbdaf; font-size: 11px; } .fund-online i, .validation-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.fund-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 15px; } .fund-kpis > div { display: grid; gap: 4px; padding: 13px; border: 1px solid rgba(72, 201, 208, .34); border-radius: 7px; background: rgba(11, 43, 50, .7); } .fund-kpis small { color: #8aadb1; font-size: 10px; } .fund-kpis b { color: #efffff; font-size: 21px; } .fund-kpis span { color: #72979c; font-size: 10px; }
.fund-tabs { display: flex; gap: 2px; margin-bottom: 15px; padding: 4px; border: 1px solid rgba(74, 217, 217, .32); border-radius: 7px; background: rgba(6, 27, 34, .7); } .fund-tab { flex: 1; padding: 10px 9px; border: 0; border-radius: 5px; background: transparent; color: #8eafb3; font-size: 12px; font-weight: 700; } .fund-tab:hover { color: #efffff; background: rgba(54, 137, 143, .25); } .fund-tab.active { background: #1f5f6e; color: #f0ffff; box-shadow: 0 0 12px rgba(66, 207, 209, .22); }
.fund-content { padding: 17px; border: 1px solid rgba(74, 217, 217, .27); border-radius: 8px; background: rgba(7, 28, 35, .62); } .fund-section-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 12px; } .fund-section-head h3 { margin: 0 0 4px; color: #e9ffff; font-size: 15px; } .fund-section-head p { margin: 0; color: #7fa2a7; font-size: 11px; } .validation-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid rgba(103, 231, 173, .4); border-radius: 4px; color: #bdf9db; font-size: 10px; white-space: nowrap; } .fund-config-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-bottom: 20px; } .fund-config-grid label, .preset-card label, .strategy-card label { display: grid; gap: 5px; color: #8eafb3; font-size: 10px; } .fund-config-grid input, .preset-card input, .strategy-card input, .strategy-card select { min-width: 0; padding: 8px 8px; border: 1px solid #326d75; border-radius: 4px; background: rgba(10, 43, 51, .88); color: #eaffff; font-size: 12px; outline: none; } .fund-config-grid input:focus, .preset-card input:focus, .strategy-card input:focus, .strategy-card select:focus { border-color: #8debe7; box-shadow: 0 0 0 2px rgba(84, 215, 211, .13); } input:disabled, select:disabled { opacity: .52; cursor: not-allowed; }
.group-config-heading, .strategy-heading { margin-top: 16px; } .preset-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; } .preset-card { display: grid; gap: 10px; padding: 12px; border: 1px solid rgba(81, 214, 221, .35); border-radius: 6px; background: rgba(13, 48, 55, .62); } .preset-card.safe { border-color: rgba(103, 231, 173, .5); } .preset-card.warning { border-color: rgba(255, 182, 83, .5); } .preset-card.danger { border-color: rgba(255, 104, 96, .56); } .preset-card > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 5px; } .preset-card strong { color: #eaffff; font-size: 12px; } .preset-card > div:first-child span { color: #6c969a; font: 10px ui-monospace, Consolas, monospace; } .preset-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; } .preset-note, .fund-hint { color: #73999e; font-size: 10px; }
 .group-order-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px 10px; margin-top: 12px; padding: 10px 0; border-top: 1px solid rgba(91, 189, 193, .18); border-bottom: 1px solid rgba(91, 189, 193, .18); }
 .group-order-summary div { display: grid; gap: 2px; min-width: 0; }
 .group-order-summary small { color: #7da1a6; font-size: 9px; white-space: nowrap; }
 .group-order-summary small { font-size: 11px; }
 .group-order-summary b { overflow: hidden; color: #eaffff; font: 700 15px ui-monospace, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
 .group-order-summary b.positive { color: #39e09b; } .group-order-summary b.negative { color: #ff7770; } .group-order-summary b.warning-text { color: #ffc16e; }
 @media (max-width: 900px) { .group-order-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.strategy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-bottom: 15px; } .strategy-card { position: relative; display: grid; gap: 10px; padding: 12px; border: 1px solid rgba(81, 214, 221, .34); border-radius: 6px; background: rgba(12, 46, 53, .68); } .strategy-card.safe { border-color: rgba(103, 231, 173, .48); } .strategy-card.warning { border-color: rgba(255, 182, 83, .5); } .strategy-card.danger { border-color: rgba(255, 104, 96, .56); } .strategy-identity { display: grid; grid-template-columns: 34px 1fr; align-items: end; gap: 8px; } .strategy-code { display: grid; place-items: center; height: 30px; border: 1px solid currentColor; border-radius: 4px; color: #87dcd4; font: 11px ui-monospace, Consolas, monospace; } .strategy-meta { display: flex; gap: 20px; color: #7c9fa4; font-size: 10px; } .strategy-meta b { color: #dfffff; } .strategy-actions { display: flex; justify-content: flex-end; gap: 6px; align-items: center; } .table-action { padding: 6px 8px; border: 1px solid #4f9da1; border-radius: 4px; background: rgba(25, 86, 94, .7); color: #dff; font-size: 10px; } .table-action:disabled { opacity: .4; cursor: not-allowed; } .readonly-hint { color: #768f93; font-size: 10px; }
.fund-options { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid rgba(91, 178, 183, .17); border-bottom: 1px solid rgba(91, 178, 183, .17); } .check-option { display: flex; align-items: center; gap: 7px; color: #c6e6e8; font-size: 11px; } .check-option input { accent-color: var(--green); } .fund-footer-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; } .primary { padding: 8px 13px; border: 1px solid #a6ffe0; border-radius: 5px; background: #2b9f80; color: #fff; font-weight: 700; } .danger-action { padding: 8px 13px; border: 1px solid #ffb29b; border-radius: 5px; background: #b84d35; color: #fff; font-weight: 700; }
.queue-actions, .collect-actions { display: flex; gap: 7px; } .queue-stats, .ledger-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; } .queue-stats div { display: grid; gap: 3px; padding: 11px; border-left: 2px solid #49c9cf; background: rgba(14, 55, 62, .58); } .queue-stats small { color: #82a5a9; font-size: 10px; } .queue-stats b { color: #eaffff; font-size: 19px; } .queue-gates { display: flex; gap: 16px; margin-bottom: 11px; color: #8fb2b6; font-size: 10px; } .queue-gates span { display: flex; align-items: center; gap: 5px; } .positive-dot, .warning-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 7px var(--green); } .warning-dot { background: var(--orange); box-shadow: 0 0 7px var(--orange); } .muted-text { color: #789499 !important; }
.collect-switches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 18px; } .collect-switches > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px; border: 1px solid rgba(81, 214, 221, .3); border-radius: 6px; background: rgba(13, 50, 57, .64); } .collect-switches > div > div { display: grid; gap: 4px; } .collect-switches b { color: #e9ffff; font-size: 11px; } .collect-switches small { color: #7fa3a7; font-size: 10px; } .collect-preview { padding-top: 14px; border-top: 1px solid rgba(91, 178, 183, .17); } .collect-list { display: grid; gap: 6px; } .collect-list > div { display: grid; grid-template-columns: 18px 1fr 1.3fr auto auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid rgba(81, 214, 221, .2); border-radius: 5px; background: rgba(10, 40, 47, .55); } .collect-list b { color: #dff; font-size: 11px; } .collect-list small { color: #7fa2a6; font-size: 10px; } .collect-list strong { font-size: 12px; }
.ledger-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 11px; } .ledger-filters select, .ledger-filters input { min-width: 130px; padding: 8px; border: 1px solid #326d75; border-radius: 4px; background: rgba(10, 43, 51, .88); color: #eaffff; font-size: 11px; } .ledger-stats { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 11px; color: #8faeb2; font-size: 10px; } .ledger-stats span { padding-right: 12px; border-right: 1px solid rgba(90, 173, 177, .25); } .ledger-stats b { margin-left: 5px; color: #eaffff; font-size: 13px; }
@media (max-width: 1080px) { .fund-config-grid { grid-template-columns: repeat(3, 1fr); } .preset-grid { grid-template-columns: repeat(2, 1fr); } .fund-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .funds-head-actions { justify-content: flex-start; } .fund-tabs { overflow-x: auto; } .fund-tab { flex: 0 0 125px; } .fund-config-grid, .preset-grid, .strategy-grid, .collect-switches, .queue-stats { grid-template-columns: 1fr; } .fund-options, .fund-section-head { align-items: flex-start; flex-direction: column; } .queue-gates { flex-wrap: wrap; gap: 8px 12px; } .collect-list > div { grid-template-columns: 18px 1fr auto; } .collect-list small { grid-column: 2 / 3; } .collect-list button { grid-column: 3; grid-row: 1 / span 2; min-height: 44px; } .ledger-filters select, .ledger-filters input { width: 100%; } .fund-content { padding: 12px; } }
.group-management-list { display: grid; gap: 8px; margin-bottom: 20px; } .group-management-row { display: grid; grid-template-columns: 42px minmax(150px, 1fr) 110px minmax(160px, 1fr) 95px auto; align-items: end; gap: 9px; padding: 12px; border: 1px solid rgba(81, 214, 221, .34); border-radius: 6px; border-left: 3px solid #4ad9d9; background: rgba(12, 46, 53, .68); } .group-management-row.safe { border-left-color: #39e09b; } .group-management-row.warning { border-left-color: #ff9848; } .group-management-row.danger { border-left-color: #bfa860; } .management-code { display: grid; place-items: center; height: 31px; border: 1px solid currentColor; border-radius: 4px; color: #8fe8e1; font: 11px ui-monospace, Consolas, monospace; } .border-color { display: flex; align-items: center; gap: 6px; color: #8caeb2; font-size: 10px; white-space: nowrap; } .border-color i { width: 11px; height: 11px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; } .group-management-row.safe .border-color { color: #39e09b; } .group-management-row.warning .border-color { color: #ff9848; } .group-management-row.danger .border-color { color: #bfa860; } .management-status { align-self: center; color: #9bbabe; font-size: 10px; white-space: nowrap; } .strategy-library { padding-top: 15px; border-top: 1px solid rgba(91, 178, 183, .18); } .library-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .library-grid > div { display: grid; gap: 5px; padding: 11px; border: 1px solid rgba(81, 214, 221, .27); border-radius: 5px; background: rgba(11, 40, 47, .6); } .library-grid b { color: #e9ffff; font: 12px ui-monospace, Consolas, monospace; } .library-grid small, .library-grid span { color: #86a9ad; font-size: 10px; } .library-grid .positive { color: var(--green); } .strategy-management-page .fund-footer-actions { align-items: center; }
@media (max-width: 1080px) { .group-management-row { grid-template-columns: 42px 1fr 1fr; align-items: end; } .group-management-row .border-color, .group-management-row .management-status { align-self: center; } .group-management-row .strategy-actions { grid-column: 2 / -1; justify-content: flex-start; } .library-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .group-management-row { grid-template-columns: 36px 1fr; } .group-management-row .border-color, .group-management-row .management-status { grid-column: 2; } .group-management-row .strategy-actions { grid-column: 2; flex-wrap: wrap; } .library-grid { grid-template-columns: 1fr; } }

.float-toggle { display: flex; align-items: center; gap: 5px; align-self: end; color: #bce4e5; font-size: 10px; white-space: nowrap; } .float-toggle input { accent-color: var(--green); }
.floating-cockpit { position: fixed; inset: 0; z-index: 20; pointer-events: none; } .float-shell { --float-scale: 1; position: absolute; top: 76px; right: 26px; width: min(980px, calc(100vw - 30px)); max-height: calc(100vh - 104px); overflow: auto; padding: 1px; pointer-events: auto; border: 1px solid rgba(116, 250, 235, .72); border-radius: 9px; background: linear-gradient(135deg, rgba(112, 245, 228, .75), rgba(255, 177, 74, .5), rgba(109, 241, 232, .75)); box-shadow: 0 0 0 1px rgba(255, 255, 255, .15), 0 0 24px rgba(54, 227, 210, .35), 0 18px 70px rgba(0, 0, 0, .48); transform: scale(var(--float-scale)); transform-origin: top right; transition: transform .2s ease, box-shadow .2s ease; } .float-shell::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(105deg, transparent 15%, rgba(255, 255, 255, .18) 49%, transparent 58%); background-size: 220% 100%; animation: floatScan 7s linear infinite; pointer-events: none; } @keyframes floatScan { from { background-position: 160% 0; } to { background-position: -60% 0; } } .float-shell.float-dragging { box-shadow: 0 0 0 1px rgba(255,255,255,.24), 0 0 38px rgba(89, 241, 217, .62), 0 22px 80px rgba(0,0,0,.6); transition: none; }
.float-shell > * { position: relative; } .float-shell { background-color: rgba(5, 12, 22, .88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); } .float-header { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; border-bottom: 1px solid rgba(126, 230, 221, .25); background: linear-gradient(90deg, rgba(16, 69, 76, .45), rgba(6, 22, 31, .48)); } .float-title { display: flex; align-items: center; gap: 9px; } .float-mark { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #9affeb; border-radius: 6px; color: #eaffff; font: 800 10px ui-monospace, Consolas, monospace; } .float-title div { display: grid; gap: 3px; } .float-title strong { color: #f2ffff; font-size: 13px; text-shadow: 0 0 8px rgba(221,255,251,.4); } .float-title small { color: #79a6a8; font: 9px ui-monospace, Consolas, monospace; letter-spacing: 1px; } .float-window-actions { display: flex; gap: 5px; } .float-window-actions button { width: 26px; height: 26px; padding: 0; border: 1px solid rgba(153, 224, 222, .5); border-radius: 4px; background: rgba(24, 80, 86, .56); color: #d9ffff; font-size: 18px; line-height: 1; } .float-window-actions button:hover { background: #b65b40; }
.float-offline { padding: 7px 14px; border-bottom: 1px solid rgba(255, 54, 54, .55); background: rgba(116, 25, 29, .8); color: #fff; font-size: 11px; animation: offlinePulse 1.2s ease-in-out infinite; } @keyframes offlinePulse { 50% { background: rgba(190, 35, 38, .92); } }
.float-body { display: grid; gap: 10px; padding: 12px; } .float-stream { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 8px; } .float-finance, .float-gold, .float-mini-stats { display: grid; gap: 5px; min-height: 108px; padding: 12px; border: 1px solid rgba(126, 230, 221, .32); border-radius: 6px; background: linear-gradient(120deg, rgba(17, 65, 71, .55), rgba(7, 25, 34, .6)); } .float-body small { color: #82aaad; font-size: 9px; } .float-finance strong { color: #fff; font-size: 25px; text-shadow: 0 0 10px rgba(230,255,250,.4); } .float-finance span, .float-gold span { color: #94babc; font-size: 10px; } .float-finance b { color: #dff; margin-left: 5px; } .float-gold strong { color: #fff; font-size: 24px; } .float-gold em { font-size: 11px; font-style: normal; } .float-mini-stats { grid-template-columns: repeat(2, 1fr); align-content: center; } .float-mini-stats span { display: grid; gap: 3px; color: #86a8ac; font-size: 9px; } .float-mini-stats b { color: #ecffff; font-size: 18px; } .float-mini-stats .warning-text, .float-mini-stats .danger-text { color: var(--orange); }
.float-groups { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; } .float-group { position: relative; display: grid; gap: 5px; min-width: 0; padding: 10px; border: 1px solid rgba(93, 212, 211, .38); border-radius: 6px; background: rgba(10, 42, 49, .65); } .float-group.safe { border-color: rgba(57, 224, 155, .6); } .float-group.warning { border-color: rgba(255, 152, 72, .65); } .float-group.danger { border-color: rgba(255, 54, 54, .75); animation: riskBreath 1.4s ease-in-out infinite; } @keyframes riskBreath { 50% { box-shadow: 0 0 16px rgba(255, 54, 54, .25); } } .float-group > div { display: grid; gap: 3px; padding-right: 12px; } .float-group strong { overflow: hidden; color: #edffff; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } .float-group small { overflow: hidden; color: #6f969a; font: 8px ui-monospace, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; } .float-group > b { color: #f2ffff; font-size: 15px; } .float-group > span { color: #82a5a9; font-size: 9px; } .float-group > span em { font-style: normal; } .float-risk { color: #ffb35e; font-size: 9px; font-style: normal; } .float-group.safe .float-risk { color: var(--green); } .float-group.danger .float-risk { color: var(--red); } .float-progress { height: 3px; overflow: hidden; border-radius: 4px; background: rgba(119, 169, 170, .18); } .float-progress b { display: block; height: 100%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.float-market { padding: 11px 12px; border: 1px solid rgba(91, 207, 219, .3); border-radius: 6px; background: rgba(7, 31, 41, .68); } .float-market-head { display: flex; justify-content: space-between; align-items: center; } .float-market-head div { display: grid; gap: 3px; } .float-market-head strong { color: #eaffff; font-size: 12px; } .float-market-head small { color: #71999e; font-size: 9px; } .float-market-head > b { color: #f2ffff; font-size: 18px; } .float-market-head em { font-size: 10px; font-style: normal; } .sparkline { position: relative; height: 74px; margin-top: 8px; overflow: hidden; border-bottom: 1px solid rgba(97, 174, 181, .22); background: repeating-linear-gradient(0deg, transparent 0 23px, rgba(87, 168, 177, .08) 24px); } .sparkline i { position: absolute; inset: 15px 0 17px; background: linear-gradient(153deg, transparent 0 8%, #5ce2b5 8.5% 9%, transparent 9.5% 22%, #5ce2b5 22.5% 23%, transparent 23.5% 38%, #5ce2b5 38.5% 39%, transparent 39.5% 52%, #5ce2b5 52.5% 53%, transparent 53.5% 67%, #5ce2b5 67.5% 68%, transparent 68.5% 79%, #5ce2b5 79.5% 80%, transparent 80.5% 94%, #5ce2b5 94.5% 95%, transparent 95.5%); filter: drop-shadow(0 0 4px #5ce2b5); transform: skewY(-4deg); } .sparkline span { position: relative; top: 58px; margin-right: 20px; color: #688f94; font-size: 8px; }
.float-alerts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .float-alert-column { padding: 10px; border: 1px solid rgba(117, 183, 187, .27); border-radius: 6px; background: rgba(10, 39, 47, .6); } .float-alert-column h4 { display: flex; justify-content: space-between; margin: 0 0 7px; color: #e5ffff; font-size: 11px; } .float-alert-column h4 small { color: #6f9599; font-size: 8px; } .float-alert-column p { display: flex; gap: 6px; align-items: center; margin: 5px 0; color: #9dbabc; font-size: 9px; } .float-alert-column p b { color: #d9ffff; } .float-alert-column p span { margin-left: auto; color: #77999d; white-space: nowrap; } .float-alert-column .news-high b, .float-alert-column .risk-high b { color: #ff625d; } .float-alert-column .news-high { animation: riskBreath 1.4s ease-in-out infinite; } .float-alert-column .news-mid b, .float-alert-column .risk-mid b { color: var(--orange); }
.float-ticker { display: flex; gap: 25px; overflow: hidden; padding: 8px 0 2px; border-top: 1px solid rgba(102, 199, 201, .24); color: #83a6aa; font-size: 9px; white-space: nowrap; } .float-ticker b { color: #bbe3e3; font-weight: 500; animation: tickerMove 18s linear infinite; } @keyframes tickerMove { from { transform: translateX(15px); } to { transform: translateX(-80px); } } .float-resize { position: absolute; right: 2px; bottom: 2px; width: 18px; height: 18px; cursor: nwse-resize; border-right: 2px solid rgba(165, 255, 240, .65); border-bottom: 2px solid rgba(165, 255, 240, .65); } .float-mini .float-shell { width: 70px; height: 70px; overflow: hidden; border-radius: 50%; } .float-mini .float-header, .float-mini .float-resize { display: none; } .float-mini .float-body { display: grid; place-items: center; height: 68px; padding: 0; } .float-mini-value { color: #efffff; font-size: 11px; font-weight: 700; text-shadow: 0 0 10px #7effe2; } .float-locked .float-shell { top: 10px; right: 10px; width: min(1180px, calc(100vw - 20px)); max-height: calc(100vh - 20px); } .float-locked .float-close, .float-locked .float-minimize { display: none; }
.news-risk-modal { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 20px; background: rgba(55, 4, 8, .6); backdrop-filter: blur(5px); } .news-risk-panel { position: relative; width: min(600px, 94vw); padding: 27px; border: 1px solid #ff5a52; border-radius: 8px; background: rgba(49, 10, 18, .92); box-shadow: 0 0 0 1px rgba(255, 175, 122, .28), 0 0 42px rgba(255, 55, 47, .5); animation: newsPulse 1.2s ease-in-out infinite; } @keyframes newsPulse { 50% { box-shadow: 0 0 0 1px rgba(255, 175, 122, .5), 0 0 62px rgba(255, 55, 47, .72); } } .news-risk-kicker { color: #ff8d77; font: 10px ui-monospace, Consolas, monospace; letter-spacing: 2px; } .news-risk-panel h2 { margin: 7px 0 5px; color: #fff; font-size: 26px; text-shadow: 0 0 12px #ff4039; } .news-risk-panel h3 { margin: 0; color: #ffe5df; font-size: 15px; } .news-countdown { display: flex; align-items: center; justify-content: space-between; margin: 20px 0 14px; padding: 13px 16px; border: 1px solid rgba(255, 117, 103, .5); background: rgba(147, 28, 31, .35); } .news-countdown small { color: #ffb5a7; } .news-countdown strong { color: #fff; font: 800 34px ui-monospace, Consolas, monospace; animation: countFlash .7s infinite; } @keyframes countFlash { 50% { color: #ff625c; } } .news-facts { display: flex; gap: 16px; color: #ffc3b7; font-size: 11px; } .news-facts b { color: #fff; } .news-risk-panel > p { color: #ffcfca; font-size: 12px; line-height: 1.7; } .pause-duration { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 0; border-top: 1px solid rgba(255, 121, 111, .2); border-bottom: 1px solid rgba(255, 121, 111, .2); color: #ffc7bd; font-size: 11px; } .pause-duration label { display: flex; gap: 4px; align-items: center; } .pause-duration input[type=number] { width: 115px; padding: 7px; border: 1px solid #9f4a4c; border-radius: 4px; background: #3b1019; color: #fff; } .news-risk-actions { display: grid; grid-template-columns: 1fr 1.35fr; gap: 9px; margin-top: 18px; } .news-risk-actions button { min-height: 46px; border: 1px solid #b6c2c4; border-radius: 5px; background: rgba(159, 179, 181, .18); color: #efffff; font-weight: 700; } .news-risk-actions button:last-child { border-color: #ffae8a; background: #c75235; color: #fff; box-shadow: 0 0 18px rgba(255, 79, 58, .38); } .news-auto-note { display: block; margin-top: 13px; color: #ff9a83; font-size: 10px; text-align: center; }
@media (max-width: 720px) { .float-shell { top: auto !important; right: 0 !important; bottom: 0; left: 0 !important; width: 100vw; max-height: 76vh; border-radius: 10px 10px 0 0; transform: none !important; } .float-resize { display: none; } .float-stream, .float-groups { grid-template-columns: 1fr 1fr; } .float-gold { grid-column: 1 / -1; } .float-alerts { grid-template-columns: 1fr; } .float-shell.float-dragging { box-shadow: 0 0 30px rgba(89, 241, 217, .4); } .float-toggle { display: none; } .news-risk-panel { padding: 20px; } .news-risk-actions { grid-template-columns: 1fr; } }
.indicator-panel { display: grid; gap: 7px; padding: 11px; border: 1px solid rgba(102, 239, 225, .58); border-radius: 8px; background: rgba(6, 14, 26, .75); box-shadow: 0 0 18px rgba(63, 219, 203, .16), inset 0 0 20px rgba(69, 179, 188, .05); backdrop-filter: blur(16px); } .indicator-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid rgba(121, 221, 215, .25); } .indicator-head h3 { margin: 0 0 3px; color: #f4ffff; font-size: 14px; text-shadow: 0 0 8px rgba(229,255,250,.35); } .indicator-head small { color: #78a4a7; font-size: 9px; } .indicator-control { display: flex; align-items: center; gap: 8px; } .indicator-control select { padding: 6px 8px; border: 1px solid #4b9ea0; border-radius: 4px; background: #113a42; color: #eaffff; font-size: 11px; } .indicator-control span { color: #779da1; font-size: 9px; white-space: nowrap; } .indicator-control b { color: #dff; }
.indicator-layer { position: relative; min-height: 87px; overflow: hidden; border: 1px solid rgba(96, 190, 195, .2); border-radius: 5px; background: linear-gradient(180deg, rgba(13, 48, 56, .35), rgba(4, 20, 29, .44)); } .main-chart-layer { height: 182px; } .rsi-layer { height: 82px; } .trend-layer { display: grid; grid-template-columns: 1fr 175px; height: 100px; } .indicator-layer canvas { display: block; width: 100%; height: calc(100% - 24px); margin-top: 24px; } .layer-label { position: absolute; top: 6px; left: 9px; right: 9px; z-index: 2; display: flex; justify-content: space-between; gap: 8px; pointer-events: none; } .layer-label b { color: #defeff; font-size: 10px; } .layer-label span { color: #789ba0; font-size: 9px; } .layer-label em { color: #dfffff; font-style: normal; } .chart-tooltip { position: absolute; z-index: 4; padding: 7px; border: 1px solid #6fe4da; border-radius: 4px; background: rgba(5, 15, 23, .92); color: #eaffff; font-size: 9px; pointer-events: none; } .trend-signal { display: grid; align-content: center; gap: 4px; padding: 7px 9px; border-left: 1px solid rgba(82, 208, 203, .25); background: rgba(18, 74, 71, .18); } .trend-signal small { color: #86aaa9; font-size: 8px; } .trend-signal strong { color: #48e3ad; font-size: 11px; animation: signalPulseText 1.8s ease-in-out infinite; } .trend-signal span { color: #9cbebe; font-size: 8px; line-height: 1.4; } .trend-signal b { color: #dff; font-size: 10px; } @keyframes signalPulseText { 50% { text-shadow: 0 0 10px #39e09b; } }
@media (max-width: 720px) { .indicator-head { align-items: flex-start; flex-direction: column; } .indicator-control { width: 100%; } .indicator-control select { flex: 1; min-height: 38px; } .trend-layer { display: block; height: 155px; } .trend-signal { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(82, 208, 203, .25); border-left: 0; } .trend-signal strong { grid-column: 1 / -1; } .indicator-layer canvas { height: calc(100% - 24px); } }
.dashboard-mode .main-frame { overflow: visible; } .dashboard-mode .dashboard-empty { display: none; } .dashboard-mode #floatingCockpit { display: block; } .dashboard-mode .float-shell { top: 0; right: 0; left: 0; width: 100vw; max-height: 100vh; min-height: 100vh; overflow: hidden; border: 0; border-radius: 0; background: rgba(5, 12, 22, .96); box-shadow: none; transform: none !important; } .dashboard-mode .float-shell::before { opacity: .65; } .dashboard-mode .float-header { min-height: 64px; padding: 15px 32px; } .dashboard-mode .float-body { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; max-height: calc(100vh - 65px); overflow: auto; padding: 18px 32px 22px; gap: 12px; } .dashboard-mode .float-stream, .dashboard-mode .float-groups, .dashboard-mode .indicator-panel, .dashboard-mode .float-ticker { grid-column: 1 / -1; } .dashboard-mode .float-groups { gap: 12px; } .dashboard-mode .float-group { min-height: 126px; } .dashboard-mode .main-chart-layer { height: 210px; } .dashboard-mode .rsi-layer { height: 90px; } .dashboard-mode .trend-layer { height: 122px; } .dashboard-mode .float-alerts { gap: 12px; } .dashboard-mode .float-window-actions select { min-width: 130px; padding: 9px 11px; border: 1px solid #ffd18a; border-radius: 5px; background: #d98539; color: #fff; font-weight: 700; } .dashboard-mode .float-window-actions button { display: none; } .dashboard-mode .float-resize { display: none; } .dashboard-mode .float-offline { margin: 0; }
@media (max-width: 900px) { .dashboard-mode .float-header { padding-inline: 18px; } .dashboard-mode .float-body { grid-template-columns: 1fr; padding: 12px 18px 18px; } .dashboard-mode .float-stream, .dashboard-mode .float-groups, .dashboard-mode .indicator-panel, .dashboard-mode .float-ticker { grid-column: auto; } .dashboard-mode .float-groups { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dashboard-mode .float-header { min-height: 58px; padding: 10px 12px; } .dashboard-mode .float-title strong { font-size: 11px; } .dashboard-mode .float-title small { font-size: 7px; } .dashboard-mode .float-body { max-height: calc(100vh - 58px); padding: 10px 12px; } .dashboard-mode .float-stream, .dashboard-mode .float-mini-stats, .dashboard-mode .float-groups { grid-template-columns: 1fr 1fr; } .dashboard-mode .float-gold { grid-column: 1 / -1; } .dashboard-mode .float-group { min-height: 106px; } }
.dashboard-mode #floatingCockpit, .dashboard-mode #floatingCockpit.hidden { display: none !important; }
.dashboard-mode .indicator-page { width: 100vw; min-height: 100vh; margin: 0; padding: 28px 42px 36px; } .dashboard-mode .indicator-page-body { width: 100%; max-width: none; } .dashboard-mode .indicator-page-header { max-width: none; } .dashboard-mode .indicator-page-body > * { min-width: 0; }
.float-window-actions select { padding: 6px 8px; border: 1px solid rgba(116, 232, 222, .68); border-radius: 4px; background: rgba(13, 57, 64, .84); color: #eaffff; font-size: 10px; font-weight: 700; outline: none; } .float-window-actions select:hover { border-color: #fff; box-shadow: 0 0 12px rgba(91, 238, 216, .32); }
.float-full-style .float-body { animation: floatStyleIn .22s ease both; } @keyframes floatStyleIn { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.indicator-page { min-height: 100vh; padding: 28px 34px 32px; color: #eaffff; background: radial-gradient(circle at 50% 20%, rgba(24, 97, 109, .25), transparent 38%), linear-gradient(135deg, #06111d 0%, #081b28 52%, #07151f 100%); } .indicator-page::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .2; background-image: linear-gradient(rgba(96, 191, 204, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(96, 191, 204, .18) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle at center, #000, transparent 78%); } .indicator-page-header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; max-width: 1600px; margin: 0 auto 18px; padding-bottom: 16px; border-bottom: 1px solid rgba(115, 237, 222, .26); } .indicator-page-header .command-brand h1 { font-size: 28px; } .indicator-page-actions { display: flex; align-items: center; gap: 10px; } .page-return { min-height: 38px; padding: 8px 13px; border: 1px solid #ffd18a; border-radius: 5px; background: linear-gradient(135deg, #d87937, #a94832); color: #fff; font-weight: 700; box-shadow: 0 0 18px rgba(255, 136, 66, .25); } .page-return:hover { box-shadow: 0 0 27px rgba(255, 136, 66, .5); transform: translateY(-1px); } .indicator-page-body { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 1600px; margin: 0 auto; } .indicator-page-body > .float-stream, .indicator-page-body > .float-groups, .indicator-page-body > .indicator-panel, .indicator-page-body > .float-ticker { grid-column: 1 / -1; } .indicator-page-body .float-stream > *, .indicator-page-body .float-group, .indicator-page-body .float-market, .indicator-page-body .float-alert-column { box-shadow: 0 7px 22px rgba(0,0,0,.24), 0 0 16px rgba(48, 211, 201, .08); } .indicator-page-body .indicator-panel { min-height: 480px; padding: 16px; border-color: rgba(118, 248, 231, .7); box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 0 35px rgba(48, 222, 205, .2); } .indicator-page-body .main-chart-layer { height: 245px; } .indicator-page-body .rsi-layer { height: 108px; } .indicator-page-body .trend-layer { height: 150px; } .indicator-page-body .float-ticker { margin-top: 2px; padding: 12px 14px; border: 1px solid rgba(103, 230, 218, .3); border-radius: 5px; background: rgba(5, 20, 30, .7); } .indicator-page-body .float-market { min-height: 150px; } .indicator-page-body .float-alerts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .indicator-page-body .float-alert-column { min-height: 130px; }
@media (max-width: 900px) { .indicator-page { padding: 18px; } .indicator-page-header { align-items: flex-start; flex-direction: column; } .indicator-page-body { grid-template-columns: 1fr; } .indicator-page-body > .float-stream, .indicator-page-body > .float-groups, .indicator-page-body > .indicator-panel, .indicator-page-body > .float-ticker { grid-column: auto; } .indicator-page-body .float-groups { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .indicator-page { padding: 12px; } .indicator-page-header .command-brand h1 { font-size: 21px; } .indicator-page-body .float-stream, .indicator-page-body .float-groups, .indicator-page-body .float-alerts { grid-template-columns: 1fr; } .indicator-page-body .float-gold { grid-column: auto; } .indicator-page-body .main-chart-layer { height: 210px; } .indicator-page-body .trend-layer { height: 180px; } }
.deep-page { position: relative; min-height: 100vh; overflow: hidden; padding: 25px 34px 20px; background: radial-gradient(circle at 50% 48%, rgba(11, 85, 105, .26), transparent 42%), linear-gradient(135deg, #030b16 0%, #071b2b 52%, #040d18 100%); color: #e9ffff; } .deep-page::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .2; background-image: linear-gradient(rgba(74, 204, 218, .2) 1px, transparent 1px), linear-gradient(90deg, rgba(74, 204, 218, .2) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(ellipse at center, #000 0 48%, transparent 90%); } .deep-page::after { content: ""; position: absolute; top: 0; left: -35%; width: 30%; height: 100%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(126, 255, 239, .09), transparent); transform: skewX(-18deg); animation: deepSweep 8s linear infinite; } @keyframes deepSweep { to { left: 130%; } }
.deep-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; max-width: 1720px; margin: 0 auto 18px; padding-bottom: 17px; border-bottom: 1px solid rgba(102, 237, 226, .28); } .deep-brand { display: flex; align-items: center; gap: 13px; } .deep-emblem { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #66f1dd; border-radius: 8px; background: linear-gradient(145deg, rgba(35, 145, 149, .45), rgba(8, 30, 48, .7)); color: #efffff; font: 900 13px ui-monospace, Consolas, monospace; box-shadow: 0 0 24px rgba(75, 229, 204, .34); } .deep-brand h1 { margin: 0 0 4px; color: #f6ffff; font-size: 27px; letter-spacing: 1px; text-shadow: 0 0 12px rgba(205,255,250,.4); } .deep-brand p { margin: 0; color: #729da6; font: 10px ui-monospace, Consolas, monospace; letter-spacing: 1px; } .deep-brand p b { color: #5ee6c2; } .deep-top-data { display: flex; align-items: center; gap: 14px; } .deep-top-data > span { display: grid; gap: 3px; padding-right: 14px; border-right: 1px solid rgba(106, 190, 198, .25); } .deep-top-data small { color: #759ba4; font-size: 9px; } .deep-top-data b { color: #f1ffff; font-size: 20px; } .deep-top-data em { font-size: 10px; font-style: normal; } .deep-online { display: flex !important; align-items: center; gap: 5px; color: #83e8bb; font: 10px ui-monospace, Consolas, monospace; } .deep-online i { width: 7px; height: 7px; border-radius: 50%; background: #39e09b; box-shadow: 0 0 10px #39e09b; } .deep-return { min-height: 38px; padding: 8px 13px; border: 1px solid #ffc273; border-radius: 5px; background: linear-gradient(135deg, #d97836, #a74432); color: #fff; font-weight: 800; box-shadow: 0 0 16px rgba(255, 133, 55, .27); } .deep-return:hover { box-shadow: 0 0 26px rgba(255, 133, 55, .56); }
.deep-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 245px minmax(600px, 1fr) 255px; gap: 14px; max-width: 1720px; min-height: calc(100vh - 150px); margin: 0 auto; } .deep-left, .deep-right { display: grid; align-content: start; gap: 12px; } .deep-center { min-width: 0; } .deep-card, .deep-chart-frame { position: relative; padding: 14px; border: 1px solid rgba(93, 222, 215, .34); border-radius: 7px; background: linear-gradient(145deg, rgba(9, 42, 55, .72), rgba(4, 18, 31, .82)); box-shadow: 0 0 22px rgba(31, 185, 199, .12), inset 0 0 25px rgba(63, 223, 209, .045); backdrop-filter: blur(14px); } .deep-card::before, .deep-chart-frame::before { content: ""; position: absolute; inset: 0; pointer-events: none; border: 1px solid rgba(255,255,255,.06); border-radius: inherit; clip-path: polygon(0 0, 34% 0, 37% 2px, 63% 2px, 66% 0, 100% 0, 100% 100%, 0 100%); } .hud-label { display: block; margin-bottom: 9px; color: #5fa1aa; font: 9px ui-monospace, Consolas, monospace; letter-spacing: 1.2px; } .asset-card { min-height: 202px; border-color: rgba(68, 231, 193, .54); } .asset-card > small { display: block; color: #94bbc0; font-size: 10px; } .asset-card > strong { display: block; margin: 6px 0 15px; color: #fff; font-size: 30px; text-shadow: 0 0 12px rgba(238,255,251,.42); } .asset-line { display: flex; justify-content: space-between; margin: 7px 0; color: #82a8ae; font-size: 10px; } .asset-line b { color: #defeff; } .group-hud h2, .trend-hud h2, .alert-hud h2 { margin: 0 0 12px; color: #e9ffff; font-size: 14px; } .deep-group { position: relative; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; padding: 9px 0; border-bottom: 1px solid rgba(102, 197, 199, .13); } .deep-group:last-child { border-bottom: 0; } .deep-group > i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); } .deep-group.warning > i { background: var(--orange); box-shadow: 0 0 9px var(--orange); } .deep-group.danger > i { background: var(--red); box-shadow: 0 0 10px var(--red); animation: riskBreath 1s infinite; } .deep-group div { display: grid; gap: 3px; min-width: 0; } .deep-group div b { overflow: hidden; color: #dff; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .deep-group div small { overflow: hidden; color: #6d99a0; font: 8px ui-monospace, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; } .deep-group > strong { color: #ecffff; font-size: 11px; } .deep-group > span { grid-column: 2 / -1; color: #78a1a6; font-size: 9px; }
.deep-chart-frame { min-height: 700px; padding: 16px; border-color: rgba(107, 239, 222, .55); box-shadow: 0 0 32px rgba(47, 219, 204, .18), inset 0 0 35px rgba(46, 160, 177, .08); } .deep-chart-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 12px; } .deep-chart-head h2 { margin: 0 0 5px; color: #efffff; font-size: 19px; } .deep-chart-head p { margin: 0; color: #6f9da5; font-size: 10px; } .deep-chart-control { display: grid; gap: 4px; min-width: 105px; } .deep-chart-control span { color: #739aa1; font-size: 9px; } .deep-chart-control select { padding: 8px; border: 1px solid #64dacc; border-radius: 4px; background: #0d3744; color: #ecffff; font-weight: 700; } .deep-chart-frame .indicator-panel { border: 0; padding: 0; background: transparent; box-shadow: none; backdrop-filter: none; } .deep-chart-frame .indicator-head { display: none; } .deep-chart-frame .indicator-layer { background: rgba(3, 17, 28, .74); border-color: rgba(90, 195, 201, .3); } .deep-chart-frame .main-chart-layer { height: 300px; } .deep-chart-frame .rsi-layer { height: 120px; } .deep-chart-frame .trend-layer { height: 190px; }
.trend-hud { min-height: 355px; border-color: rgba(57, 224, 155, .45); } .trend-state { display: block; margin: 16px 0 7px; color: #39e09b; font-size: 19px; text-shadow: 0 0 12px rgba(57, 224, 155, .6); animation: signalPulseText 1.8s infinite; } .trend-hud p { margin: 0 0 14px; color: #9bc0bd; font-size: 10px; } .trend-meter { height: 5px; overflow: hidden; margin-bottom: 6px; border-radius: 4px; background: rgba(109, 184, 178, .16); } .trend-meter i { display: block; width: 78%; height: 100%; background: linear-gradient(90deg, #39e09b, #9bffd4); box-shadow: 0 0 11px #39e09b; } .trend-hud > span { color: #79a6a6; font-size: 9px; } .trend-hud > span b { color: #dff; } .trend-hud dl { display: grid; grid-template-columns: 1fr auto; gap: 11px 6px; margin: 20px 0 0; padding-top: 14px; border-top: 1px solid rgba(89, 190, 183, .2); } .trend-hud dt { color: #769da1; font-size: 9px; } .trend-hud dd { margin: 0; color: #eaffff; font: 10px ui-monospace, Consolas, monospace; } .alert-hud { min-height: 235px; } .deep-alert { display: grid; grid-template-columns: 8px 1fr; gap: 7px; align-items: center; padding: 9px 0; border-bottom: 1px solid rgba(103, 193, 194, .14); } .deep-alert:last-child { border-bottom: 0; } .deep-alert > i { width: 7px; height: 7px; border-radius: 50%; background: #b7eaf0; } .deep-alert b { color: #defeff; font-size: 10px; } .deep-alert span { grid-column: 2; color: #7d9fa5; font-size: 9px; } .deep-alert.warning > i { background: var(--orange); box-shadow: 0 0 9px var(--orange); } .deep-alert.danger { animation: riskBreath 1.2s infinite; } .deep-alert.danger > i { background: var(--red); box-shadow: 0 0 10px var(--red); } .deep-alert.danger b { color: #ff847c; } .deep-footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 22px; max-width: 1720px; margin: 14px auto 0; padding: 12px 0 0; border-top: 1px solid rgba(91, 212, 205, .25); color: #7da4a9; font: 10px ui-monospace, Consolas, monospace; } .deep-footer b { color: #c1e6e6; font-weight: 500; } .deep-footer-time { margin-left: auto; } .deep-footer-time strong { color: #eaffff; }
@media (max-width: 1080px) { .deep-page { padding: 20px; overflow: visible; } .deep-top { align-items: flex-start; flex-direction: column; } .deep-top-data { flex-wrap: wrap; } .deep-grid { grid-template-columns: 1fr; } .deep-left, .deep-right { grid-template-columns: 1fr 1fr; } .deep-chart-frame { min-height: 0; } .deep-footer { flex-wrap: wrap; gap: 10px 15px; } .deep-footer-time { margin-left: 0; } }
@media (max-width: 620px) { .deep-page { padding: 13px; } .deep-brand h1 { font-size: 21px; } .deep-top-data { gap: 8px; } .deep-top-data > span { padding-right: 8px; } .deep-left, .deep-right { grid-template-columns: 1fr; } .deep-chart-head { align-items: flex-start; flex-direction: column; } .deep-chart-control { width: 100%; } .deep-chart-control select { width: 100%; min-height: 40px; } .deep-chart-frame .main-chart-layer { height: 250px; } .deep-chart-frame .trend-layer { height: 205px; } }
 .command-price { display: grid; gap: 2px; min-width: 118px; padding: 5px 10px; border: 1px solid rgba(88, 225, 213, .48); border-radius: 5px; background: linear-gradient(135deg, rgba(13, 65, 72, .72), rgba(5, 23, 34, .8)); box-shadow: 0 0 14px rgba(56, 221, 202, .16), inset 0 0 12px rgba(80, 230, 218, .06); }
 .command-price small { color: #78b9b5; font-size: 9px; }
 .command-price b { color: #f3ffff; font: 700 16px ui-monospace, Consolas, monospace; text-shadow: 0 0 9px rgba(224, 255, 249, .4); }
 .command-price em { color: #39e09b; font: 700 9px ui-monospace, Consolas, monospace; font-style: normal; }
 .indicator-market-hud { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 11px; padding: 8px 10px; border-left: 2px solid #39e09b; background: linear-gradient(90deg, rgba(31, 116, 103, .24), transparent); }
 .indicator-market-hud b { color: #8ed8d0; font: 700 10px ui-monospace, Consolas, monospace; letter-spacing: 1px; }
 .indicator-market-hud strong { color: #f7ffff; font: 800 22px ui-monospace, Consolas, monospace; text-shadow: 0 0 12px rgba(221, 255, 248, .46); }
 .indicator-market-hud em { color: #39e09b; font: 700 11px ui-monospace, Consolas, monospace; font-style: normal; }
 .indicator-market-hud em.negative { color: #ff5757; }
 .indicator-market-hud span { flex-basis: 100%; color: #70999e; font-size: 9px; }
 .indicator-market-hud span.is-live { color: #39e09b; }
 .deep-top-data > span:first-child b[data-market-price] { color: #f7ffff; text-shadow: 0 0 13px rgba(220, 255, 249, .5); }
 @media (max-width: 620px) { .command-price { flex: 1 1 100%; } .indicator-market-hud { width: 100%; } }
 .quick-actions button.success { background: linear-gradient(135deg, #39d39b, #2eb986); color: #041b17; border-color: rgba(157, 255, 220, .82); box-shadow: 0 0 16px rgba(57, 211, 155, .22), inset 0 0 10px rgba(220, 255, 243, .16); }
 .quick-actions button.warning { background: linear-gradient(135deg, #e6a84f, #cc8739); color: #21170a; border-color: rgba(255, 215, 142, .78); box-shadow: 0 0 16px rgba(230, 168, 79, .2), inset 0 0 10px rgba(255, 240, 196, .12); }
 .quick-actions button.outline { background: linear-gradient(135deg, rgba(19, 71, 78, .7), rgba(7, 30, 39, .82)); color: #bffcf7; border-color: rgba(112, 228, 223, .78); box-shadow: 0 0 14px rgba(92, 219, 215, .14), inset 0 0 10px rgba(93, 220, 212, .08); }
 .quick-actions button.success:hover, .quick-actions button.warning:hover, .quick-actions button.outline:hover { transform: translateY(-1px); filter: saturate(1.06) brightness(1.08); }
 .command-market-panel { display: grid; gap: 9px; padding: 11px; border: 1px solid rgba(92, 221, 214, .48); border-radius: 8px; background: linear-gradient(145deg, rgba(7, 34, 44, .9), rgba(3, 18, 28, .94)); box-shadow: 0 0 24px rgba(46, 203, 198, .13), inset 0 0 22px rgba(80, 221, 211, .05); backdrop-filter: blur(16px); }
 .dash-market-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid rgba(93, 214, 207, .2); }
 .dash-market-head h2 { margin: 0 0 2px; color: #efffff; font-size: 14px; }
 .dash-market-head small { color: #719da2; font-size: 8px; }
 .dash-market-actions { display: grid; justify-items: end; gap: 4px; }
 .dash-market-actions select { width: 76px; padding: 5px 4px; border: 1px solid rgba(100, 224, 214, .7); border-radius: 4px; background: #0d3743; color: #ecffff; font-size: 10px; font-weight: 700; }
 .dash-market-actions > span { color: #799ea3; font-size: 8px; white-space: nowrap; }
 .dash-market-actions > span.is-live { color: #39e09b; }
 .dash-market-actions .indicator-switch { grid-column: 1; padding: 5px 6px; border: 1px solid rgba(255, 194, 115, .8); border-radius: 4px; background: linear-gradient(135deg, #b86c35, #873b31); color: #fff; font-size: 8px; white-space: nowrap; }
 .dash-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
 .dash-quote { position: relative; display: grid; gap: 3px; min-width: 0; padding: 7px; border: 1px solid rgba(77, 182, 187, .27); border-radius: 5px; background: rgba(8, 38, 47, .7); color: #dfffff; text-align: left; }
 .dash-quote.active { border-color: rgba(102, 239, 225, .8); background: rgba(16, 78, 78, .38); box-shadow: 0 0 10px rgba(61, 226, 206, .16); }
 .dash-quote span { display: flex; justify-content: space-between; gap: 4px; }
 .dash-quote span b { color: #eaffff; font: 700 9px ui-monospace, Consolas, monospace; }
 .dash-quote span small { overflow: hidden; color: #729ba0; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
 .dash-quote strong { color: #f7ffff; font: 700 14px ui-monospace, Consolas, monospace; text-shadow: 0 0 8px rgba(223,255,249,.35); }
 .dash-quote em { font: 700 9px ui-monospace, Consolas, monospace; font-style: normal; }
 .dash-quote i { position: absolute; right: 6px; bottom: 5px; color: #6c999f; font-size: 7px; font-style: normal; }
 .dash-quote i.live { color: #39e09b; }
 .dash-indicator-stack { display: grid; gap: 5px; }
 .dash-indicator-window { overflow: hidden; border: 1px solid rgba(81, 181, 190, .24); border-radius: 5px; background: rgba(3, 19, 29, .72); }
 .dash-indicator-window > div { display: flex; justify-content: space-between; gap: 5px; padding: 5px 7px 0; }
 .dash-indicator-window > div b { color: #dff; font-size: 9px; }
 .dash-indicator-window > div span { color: #729ca0; font-size: 7px; white-space: nowrap; }
 .dash-indicator-window canvas { display: block; width: 100%; height: 54px; }
 .dash-market-note { padding-top: 5px; border-top: 1px solid rgba(86, 197, 194, .18); color: #6e989e; font: 8px ui-monospace, Consolas, monospace; }
 @media (max-width: 1100px) { .command-market-panel { padding: 9px; } .dash-market-head { display: block; } .dash-market-actions { display: flex; align-items: center; justify-items: initial; flex-wrap: wrap; margin-top: 6px; } .dash-market-actions .indicator-switch { margin-left: auto; } }
 @media (max-width: 820px) { .command-market-panel { margin-top: 10px; } .dash-quotes { grid-template-columns: repeat(4, minmax(0, 1fr)); } .dash-indicator-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dash-indicator-window canvas { height: 60px; } }
 .command-market-panel { position: relative; z-index: 4; }
 .command-right .command-market-panel + .side-heading { margin-top: 8px; }
 .command-status .command-price { display: none; }
 #appShell.dashboard-mode .command-right { display: block !important; min-width: 0; }
 #appShell.dashboard-mode .command-market-panel { display: grid !important; visibility: visible !important; opacity: 1 !important; }
 .dashboard-market-static { display: none; }
 .dashboard-mode .command-right .action-heading, .dashboard-mode .command-right .command-action, .dashboard-mode .command-right .next-event { display: none !important; }
 .dashboard-mode .command-right > .command-market-panel { display: none !important; }
 .dashboard-mode .dashboard-market-static { display: none !important; }
 .dashboard-mode .command-right > .command-market-panel { display: grid !important; position: relative !important; top: auto !important; right: auto !important; width: auto !important; max-height: none !important; margin: 0 !important; overflow: visible !important; }
 .dashboard-mode .command-right { display: flex !important; flex-direction: column; gap: 12px; min-width: 0; }
 .dashboard-mode .command-right > .command-market-panel + .side-heading { margin-top: 0; }
 #appShell.dashboard-mode .command-body { grid-template-columns: 178px minmax(520px, 1fr) 330px; }
 @media (max-width: 1280px) { #appShell.dashboard-mode .command-body { grid-template-columns: 155px minmax(460px, 1fr) 300px; gap: 14px; } }
 #appShell.dashboard-mode .command-main > .command-market-panel { display: grid !important; position: relative !important; top: auto !important; right: auto !important; width: 100% !important; max-height: none !important; margin: 0 0 14px !important; overflow: visible !important; }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-quotes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-indicator-stack { grid-template-columns: 1.5fr 1fr 1fr; align-items: stretch; }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-indicator-window canvas { height: 118px; }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-indicator-window:first-child canvas { height: 150px; }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-market-head { align-items: center; }
 #appShell.dashboard-mode .command-main > .command-market-panel .dash-market-actions { display: flex; align-items: center; gap: 10px; }
 #appShell.dashboard-mode .performance-panel .trend-line { left: 2%; right: 2%; bottom: 31%; height: 4px; background: #58e4b4; clip-path: polygon(0 76%, 8% 63%, 16% 70%, 24% 45%, 32% 55%, 40% 30%, 48% 42%, 56% 20%, 64% 35%, 72% 10%, 80% 27%, 88% 8%, 100% 18%); filter: drop-shadow(0 0 6px rgba(88, 228, 180, .9)); transform: none; }
 #appShell.dashboard-mode .performance-panel .trend-fill { inset: 25% 2% 0; background: linear-gradient(180deg, rgba(57, 224, 155, .24), rgba(57, 224, 155, .03)); clip-path: polygon(0 76%, 8% 63%, 16% 70%, 24% 45%, 32% 55%, 40% 30%, 48% 42%, 56% 20%, 64% 35%, 72% 10%, 80% 27%, 88% 8%, 100% 18%, 100% 100%, 0 100%); }
 #appShell.dashboard-mode .performance-panel .trend-chart::before { content: "净值走势  ↗  ·  风险占用  ↘"; position: absolute; top: 7px; left: 10px; z-index: 2; color: #9be9cf; font: 700 10px ui-monospace, Consolas, monospace; letter-spacing: .4px; }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-main > .command-market-panel .dash-indicator-stack { grid-template-columns: 1fr; } #appShell.dashboard-mode .command-main > .command-market-panel .dash-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
 #appShell.dashboard-mode .command-sidebar { display: none !important; }
 #appShell.dashboard-mode .command-body { grid-template-columns: minmax(0, 1fr) 330px; }
 @media (max-width: 1280px) { #appShell.dashboard-mode .command-body { grid-template-columns: minmax(0, 1fr) 300px; } }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-body { grid-template-columns: 1fr; } }
 #appShell.dashboard-mode .command-right > .command-market-panel { display: none !important; }
 .dash-quotes { display: none !important; }
 .dash-market-actions select[data-market-symbol-select] { width: 108px; border-color: rgba(255, 194, 115, .8); background: linear-gradient(135deg, #b86c35, #873b31); }
 .dash-selected-quote { display: grid; gap: 2px; min-width: 118px; padding: 5px 8px; border-left: 1px solid rgba(97, 211, 204, .28); }
 .dash-selected-quote b { color: #efffff; font: 700 11px ui-monospace, Consolas, monospace; }
 .dash-selected-quote strong { color: #fff; font: 700 16px ui-monospace, Consolas, monospace; text-shadow: 0 0 8px rgba(221,255,249,.35); }
 .dash-selected-quote em { color: #39e09b; font: 700 9px ui-monospace, Consolas, monospace; font-style: normal; }
 .dashboard-data-strip { display: grid; gap: 10px; margin: 0 0 15px; }
 .account-status-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
 .account-status-tiles article { display: grid; gap: 3px; min-height: 72px; padding: 10px 12px; border: 1px solid rgba(80, 205, 211, .3); border-left: 3px solid #4dcad0; border-radius: 6px; background: linear-gradient(145deg, rgba(10, 45, 54, .74), rgba(5, 24, 33, .84)); }
 .account-status-tiles article.online { border-left-color: #39e09b; }
 .account-status-tiles article.offline { border-left-color: #ff5757; }
 .account-status-tiles article.health { border-left-color: #ffad52; }
 .account-status-tiles small { color: #82a8ad; font-size: 9px; }
 .account-status-tiles strong { color: #f0ffff; font: 800 21px ui-monospace, Consolas, monospace; text-shadow: 0 0 8px rgba(221,255,249,.3); }
 .account-status-tiles article.online strong { color: #39e09b; }
 .account-status-tiles article.offline strong { color: #ff7770; }
 .account-status-tiles article.health strong { color: #ffc879; }
 .account-status-tiles span { color: #6e979d; font-size: 8px; }
 .dashboard-news-ticker { display: flex; align-items: center; gap: 12px; min-height: 36px; overflow: hidden; padding: 0 12px; border: 1px solid rgba(255, 142, 88, .42); border-radius: 6px; background: linear-gradient(90deg, rgba(75, 39, 28, .7), rgba(25, 29, 32, .78)); box-shadow: 0 0 16px rgba(255, 112, 61, .12); }
 .dashboard-news-ticker > b { flex: 0 0 auto; color: #ffc17a; font-size: 10px; }
 .dashboard-news-ticker > div { display: flex; gap: 50px; min-width: max-content; color: #e3c5a9; font-size: 10px; animation: dashboardNewsFlow 24s linear infinite; }
 .dashboard-news-ticker span:first-child { color: #ff9a83; }
 .dashboard-news-ticker span:nth-child(2) { color: #ffc27c; }
 @keyframes dashboardNewsFlow { from { transform: translateX(0); } to { transform: translateX(-42%); } }
 @media (max-width: 900px) { .account-status-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-news-ticker { align-items: flex-start; flex-direction: column; gap: 4px; padding-block: 8px; } }
 #appShell.dashboard-mode .command-market-panel:not(#dashboardMarketPanel):not(#dashboardMarketPanelLive) { display: none !important; }
 #appShell.dashboard-mode .command-right .command-market-panel,
 #appShell.dashboard-mode .command-right #dashboardMarketPanelLive { display: none !important; }
 #appShell.dashboard-mode .command-right { display: none !important; }
 #appShell.dashboard-mode .command-body { grid-template-columns: minmax(0, 1fr) !important; }
 #appShell.dashboard-mode #dashboardMarketPanel,
 #appShell.dashboard-mode .dashboard-market-static { display: none !important; position: static !important; visibility: hidden !important; }
 #appShell.dashboard-mode #dashboardMarketPanelLive { position: relative !important; top: auto !important; right: auto !important; left: auto !important; width: 100% !important; max-height: none !important; }
 #appShell.dashboard-mode .indicator-switch, #appShell.dashboard-mode .dashboard-mode-select { display: none !important; }
 #appShell.dashboard-mode .command-kpis { order: 1; }
 #appShell.dashboard-mode .dashboard-data-strip { order: 2; }
 #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive { order: 3; }
 #appShell.dashboard-mode .performance-panel { order: 4; }
 #appShell.dashboard-mode .command-main > section:not(.dashboard-data-strip):not(.performance-panel) { order: 5; }
 #appShell.dashboard-mode .command-main { display: flex; flex-direction: column; }
 #appShell.dashboard-mode .command-main > .command-kpis,
 #appShell.dashboard-mode .command-main > .dashboard-data-strip,
 #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive,
 #appShell.dashboard-mode .command-main > .performance-panel { flex: 0 0 auto; }
 #appShell.dashboard-mode .performance-panel { display: none !important; }
 .dashboard-control-entry { min-height: 34px; padding: 7px 10px; border: 1px solid rgba(255, 204, 129, .82); border-radius: 5px; background: linear-gradient(135deg, #b96f37, #863b31); color: #fff; font-size: 10px; font-weight: 800; box-shadow: 0 0 14px rgba(255, 139, 65, .24); }
 .dashboard-control-entry:hover { filter: brightness(1.1); transform: translateY(-1px); }
 @media (max-height: 900px) and (min-width: 901px) {
   #appShell.dashboard-mode .command-dashboard { padding: 13px 24px 10px; min-height: 100vh; }
   #appShell.dashboard-mode .command-header { padding-bottom: 10px; }
   #appShell.dashboard-mode .command-body { margin-top: 10px; min-height: 0; }
   #appShell.dashboard-mode .command-kpis { gap: 7px; margin-bottom: 8px; }
   #appShell.dashboard-mode .command-kpis article { min-height: 70px; padding: 9px 11px; }
   #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 25px; }
   #appShell.dashboard-mode .dashboard-data-strip { gap: 6px; margin-bottom: 8px; }
   #appShell.dashboard-mode .account-status-tiles article { min-height: 53px; padding: 6px 9px; }
   #appShell.dashboard-mode .account-status-tiles strong { font-size: 17px; }
   #appShell.dashboard-mode .dashboard-news-ticker { min-height: 29px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive { gap: 6px; padding: 8px; margin-bottom: 8px !important; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-market-head { padding-bottom: 5px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-indicator-window canvas { height: 72px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-indicator-window:first-child canvas { height: 92px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-indicator-window > div { padding-top: 3px; }
   #appShell.dashboard-mode .command-groups { gap: 6px; }
   #appShell.dashboard-mode .command-group { gap: 5px; padding: 9px 11px; }
   #appShell.dashboard-mode .command-group .group-signal { top: 11px; right: 11px; }
 }
 @media (max-height: 700px) and (min-width: 901px) {
   #appShell.dashboard-mode .command-brand h1 { font-size: 21px; }
   #appShell.dashboard-mode .command-brand p { font-size: 8px; }
   #appShell.dashboard-mode .command-kpis article { min-height: 58px; padding: 6px 9px; }
   #appShell.dashboard-mode .command-kpis small, #appShell.dashboard-mode .command-kpis span { font-size: 8px; }
   #appShell.dashboard-mode .command-kpis b { font-size: 16px; }
   #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 21px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-indicator-window canvas { height: 54px; }
   #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive .dash-indicator-window:first-child canvas { height: 68px; }
 }
 .important-news-panel { display: grid; gap: 8px; margin: 0 0 12px; padding: 11px 13px; border: 1px solid rgba(255, 126, 96, .5); border-radius: 7px; background: linear-gradient(145deg, rgba(55, 27, 29, .72), rgba(11, 25, 32, .88)); box-shadow: 0 0 20px rgba(255, 77, 62, .1), inset 0 0 18px rgba(255, 112, 82, .04); }
 .important-news-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid rgba(255, 129, 107, .22); }
 .important-news-panel h2 { margin: 0 0 2px; color: #fff0ec; font-size: 14px; }
 .important-news-panel header small { color: #bd9690; font-size: 8px; }
 .news-link-state { color: #ffab83; font: 9px ui-monospace, Consolas, monospace; }
 .important-news-grid { display: grid; grid-template-columns: 1.25fr 1.1fr 1fr; gap: 7px; }
 .important-news-grid article { display: grid; grid-template-columns: auto 1fr auto; gap: 3px 7px; align-items: center; min-width: 0; padding: 8px 9px; border: 1px solid rgba(180, 126, 110, .3); border-radius: 5px; background: rgba(23, 23, 28, .65); }
 .important-news-grid article.critical { border-color: rgba(255, 76, 69, .62); background: rgba(91, 24, 26, .34); animation: newsCardPulse 2.2s ease-in-out infinite; }
 .important-news-grid article.warning { border-color: rgba(255, 175, 79, .55); }
 .important-news-grid article > span { grid-column: 1 / -1; color: #ff7068; font: 10px ui-monospace, Consolas, monospace; letter-spacing: 1px; }
 .important-news-grid article.warning > span { color: #ffc16e; }
 .important-news-grid article:not(.critical):not(.warning) > span { color: #b8c6c5; }
 .important-news-grid strong { overflow: hidden; color: #fff1ed; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
 .important-news-grid em { color: #d7aaa0; font-size: 8px; font-style: normal; }
 .important-news-grid b { color: #ff9a82; font: 700 11px ui-monospace, Consolas, monospace; }
 .important-news-grid small { grid-column: 1 / -1; overflow: hidden; color: #b58f8a; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
 @keyframes newsCardPulse { 50% { box-shadow: 0 0 14px rgba(255, 74, 62, .2); } }
 @media (max-width: 900px) { .important-news-grid { grid-template-columns: 1fr; } }
 @media (max-height: 900px) and (min-width: 901px) { .important-news-panel { gap: 5px; margin-bottom: 8px; padding: 7px 10px; } .important-news-grid article { padding: 5px 7px; } }
 #appShell.dashboard-mode .dashboard-data-strip .dashboard-news-ticker { display: none !important; }
 #appShell.dashboard-mode #dashboardMarketPanelLive { padding: 14px 16px 10px; border: 1px solid rgba(112, 237, 225, .72); border-radius: 9px; background: rgba(6, 14, 26, .78); box-shadow: 0 0 28px rgba(60, 218, 205, .2), inset 0 0 30px rgba(69, 179, 188, .06); backdrop-filter: blur(16px); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head { min-height: 54px; padding-bottom: 9px; border-bottom: 1px solid rgba(111, 230, 220, .22); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head h2 { color: #fff; font-size: 17px; text-shadow: 0 0 8px rgba(255,255,255,.45); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { display: grid; grid-template-columns: minmax(0, 4fr) minmax(185px, 1fr); gap: 12px; margin-top: 10px; padding: 0; background: linear-gradient(90deg, transparent, rgba(103, 226, 215, .12), transparent) 0 100% / 100% 1px no-repeat; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { display: grid; grid-template-rows: 45fr 27fr 28fr; min-height: 440px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window { min-height: 0; border: 0; border-radius: 0; background: transparent; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window + .dash-indicator-window { border-top: 1px solid rgba(100, 222, 213, .16); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div { padding: 8px 4px 0; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div b { color: #f1ffff; font-size: 11px; text-shadow: 0 0 5px rgba(255,255,255,.35); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div span { color: #829fa3; font-size: 8px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window canvas { height: auto; min-height: 0; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:first-child canvas { height: 220px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(2) canvas,
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(3) canvas { height: 108px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { display: grid; align-content: center; gap: 7px; min-width: 0; padding: 15px 14px; border-left: 1px solid rgba(105, 224, 214, .18); background: linear-gradient(180deg, rgba(14, 64, 68, .2), rgba(4, 22, 31, .26)); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar h3 { margin: 0; color: #eaffff; font-size: 14px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar > strong { color: #39e09b; font-size: 18px; line-height: 1.25; text-shadow: 0 0 8px #39e09b; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar p { margin: 0; color: #9bc0bd; font-size: 9px; line-height: 1.5; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar dl { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 10px 0; padding-top: 9px; border-top: 1px solid rgba(101, 208, 201, .16); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar dt { color: #71979c; font-size: 8px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar dd { margin: 0; color: #dfffff; font: 10px ui-monospace, Consolas, monospace; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar > small { color: #6f979d; font-size: 8px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar > small b { color: #dfffff; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 9px; padding-top: 8px; border-top: 1px solid rgba(105, 222, 212, .2); }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer span { display: grid; gap: 3px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer small { color: #71959a; font-size: 8px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer b { color: #eaffff; font: 700 11px ui-monospace, Consolas, monospace; }
 @media (max-width: 900px) { #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { grid-template-columns: 1fr; } #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { border-top: 1px solid rgba(105, 224, 214, .18); border-left: 0; } }
 @media (max-height: 900px) and (min-width: 901px) { #appShell.dashboard-mode #dashboardMarketPanelLive { padding: 9px 12px 7px; } #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { min-height: 310px; } #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:first-child canvas { height: 150px; } #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(2) canvas, #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(3) canvas { height: 75px; } }
 #appShell.dashboard-mode .command-sidebar { display: flex !important; flex-direction: column; }
 #appShell.dashboard-mode .command-right { display: flex !important; flex-direction: column; gap: 12px; min-width: 0; padding: 13px; border: 1px solid rgba(91, 221, 213, .38); border-radius: 9px; background: rgba(6, 22, 31, .72); box-shadow: 0 0 24px rgba(54, 206, 197, .12), inset 0 0 20px rgba(70, 212, 204, .04); }
 #appShell.dashboard-mode .command-body { grid-template-columns: 178px minmax(0, 1.62fr) minmax(330px, .88fr) !important; gap: 15px; min-height: calc(100vh - 138px); }
 #appShell.dashboard-mode .command-main { min-width: 0; padding: 13px; border: 1px solid rgba(81, 207, 211, .3); border-radius: 9px; background: rgba(5, 22, 31, .54); }
 #appShell.dashboard-mode .performance-panel { display: block !important; }
 #appShell.dashboard-mode .dashboard-data-strip .dashboard-news-ticker { display: none !important; }
 #appShell.dashboard-mode .command-right .action-heading,
 #appShell.dashboard-mode .command-right .command-action,
 #appShell.dashboard-mode .command-right .next-event { display: flex !important; }
 #appShell.dashboard-mode .command-right .action-heading { display: flex !important; }
 #appShell.dashboard-mode .command-right .command-action { align-items: center; }
 #appShell.dashboard-mode .command-right .next-event { display: grid !important; }
 #appShell.dashboard-mode .command-right > #dashboardMarketPanelLive { width: 100% !important; order: 1; }
 #appShell.dashboard-mode .command-right > #importantNewsPanel { order: 2; }
 #appShell.dashboard-mode .command-right > .side-heading,
 #appShell.dashboard-mode .command-right > .risk-score,
 #appShell.dashboard-mode .command-right > .risk-counts,
 #appShell.dashboard-mode .command-right > .action-heading,
 #appShell.dashboard-mode .command-right > .command-action,
 #appShell.dashboard-mode .command-right > .next-event { order: 3; }
 @media (max-width: 1150px) { #appShell.dashboard-mode .command-body { grid-template-columns: 150px minmax(0, 1fr) !important; } #appShell.dashboard-mode .command-right { grid-column: 1 / -1; } }
 #appShell.dashboard-mode .command-sidebar,
 #appShell.dashboard-mode .command-right { display: none !important; }
 #appShell.dashboard-mode .command-body { grid-template-columns: minmax(0, 1fr) !important; }
 #appShell.dashboard-mode .command-main { width: 100%; max-width: none; padding: 13px; border: 1px solid rgba(81, 207, 211, .3); border-radius: 9px; background: rgba(5, 22, 31, .54); }
 #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive { display: grid !important; position: relative !important; top: auto !important; right: auto !important; width: 100% !important; margin: 0 0 12px !important; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel { display: grid !important; width: 100%; }
 #appShell.dashboard-mode .performance-panel { display: none !important; }
 @media (max-height: 900px) and (min-width: 901px) {
   #appShell.dashboard-mode .command-dashboard { padding: 8px 16px 8px; }
   #appShell.dashboard-mode .command-header { padding-bottom: 7px; }
   #appShell.dashboard-mode .command-body { margin-top: 7px; gap: 10px; }
   #appShell.dashboard-mode .command-main { padding: 8px; }
   #appShell.dashboard-mode .command-kpis { gap: 6px; margin-bottom: 7px; }
   #appShell.dashboard-mode .command-kpis article { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 8px; min-height: 51px; padding: 6px 8px; }
   #appShell.dashboard-mode .command-kpis article small { margin: 0; font-size: 8px; }
   #appShell.dashboard-mode .command-kpis article b, #appShell.dashboard-mode .command-kpis article strong { font-size: 17px; }
   #appShell.dashboard-mode .command-kpis article span { grid-column: 1 / -1; font-size: 8px; }
   #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 21px; }
   #appShell.dashboard-mode .dashboard-data-strip { gap: 5px; margin-bottom: 6px; }
   #appShell.dashboard-mode .account-status-tiles { gap: 5px; }
   #appShell.dashboard-mode .account-status-tiles article { grid-template-columns: auto 1fr; align-items: baseline; column-gap: 6px; min-height: 40px; padding: 5px 7px; }
   #appShell.dashboard-mode .account-status-tiles small { font-size: 8px; }
   #appShell.dashboard-mode .account-status-tiles strong { font-size: 15px; }
   #appShell.dashboard-mode .account-status-tiles span { grid-column: 1 / -1; font-size: 7px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive { gap: 5px; padding: 8px 10px 6px; margin-bottom: 7px !important; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head { min-height: 38px; padding-bottom: 5px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { margin-top: 5px; gap: 8px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { min-height: 280px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:first-child canvas { height: 125px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(2) canvas, #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(3) canvas { height: 62px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { padding: 8px 9px; gap: 4px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar > strong { font-size: 14px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer { margin-top: 5px; padding-top: 5px; }
   #appShell.dashboard-mode #importantNewsPanel { gap: 5px; margin-bottom: 6px; padding: 7px 9px; }
   #appShell.dashboard-mode .important-news-grid { gap: 5px; }
   #appShell.dashboard-mode .important-news-grid article { padding: 5px 6px; }
 }
 @media (max-height: 700px) and (min-width: 901px) {
   #appShell.dashboard-mode .command-brand h1 { font-size: 19px; }
   #appShell.dashboard-mode .command-brand p { font-size: 7px; }
   #appShell.dashboard-mode .command-kpis article { min-height: 42px; padding: 4px 6px; }
   #appShell.dashboard-mode .command-kpis article b, #appShell.dashboard-mode .command-kpis article strong { font-size: 14px; }
   #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 18px; }
   #appShell.dashboard-mode .account-status-tiles article { min-height: 34px; padding: 3px 5px; }
   #appShell.dashboard-mode .account-status-tiles strong { font-size: 13px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { min-height: 220px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:first-child canvas { height: 94px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(2) canvas, #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(3) canvas { height: 48px; }
   #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { display: none; }
   #appShell.dashboard-mode #importantNewsPanel .important-news-grid article small { display: none; }
 }
 #appShell.dashboard-mode .command-kpis article { display: flex !important; align-items: baseline; gap: 10px; min-height: 66px; padding: 12px 14px; }
 #appShell.dashboard-mode .command-kpis article small { flex: 0 0 auto; margin: 0; color: #9fc1c3; font-size: 10px; white-space: nowrap; }
 #appShell.dashboard-mode .command-kpis article b,
 #appShell.dashboard-mode .command-kpis article strong { flex: 0 0 auto; color: #f2ffff; font-size: 23px; line-height: 1; white-space: nowrap; }
 #appShell.dashboard-mode .command-kpis article span { margin-left: auto; color: #8caeb1; font-size: 9px; white-space: nowrap; }
 #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 30px; }
 #appShell.dashboard-mode .command-kpis article span b { font-size: inherit; }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-kpis article { flex-wrap: wrap; min-height: 58px; } #appShell.dashboard-mode .command-kpis article span { width: 100%; margin-left: 0; } }
 #appShell.dashboard-mode .dashboard-overview-row { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); gap: 10px; margin: 0 0 12px; }
 #appShell.dashboard-mode .dashboard-overview-row .dashboard-data-strip,
 #appShell.dashboard-mode .dashboard-overview-row .important-news-panel { min-width: 0; margin: 0; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles { height: 100%; align-content: stretch; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article { min-height: 100%; }
 @media (max-width: 1050px) { #appShell.dashboard-mode .dashboard-overview-row { grid-template-columns: 1fr; } }
 #appShell.dashboard-mode { font-size: 12px; }
 #appShell.dashboard-mode .command-brand h1 { font-size: 29px; line-height: 1.08; text-shadow: 0 0 10px rgba(231,255,252,.32); }
 #appShell.dashboard-mode .command-brand p { font-size: 9px; color: #82b4b8; }
 #appShell.dashboard-mode .command-kpis article small { color: #9fc1c3; font-size: 10px; }
 #appShell.dashboard-mode .command-kpis article b,
 #appShell.dashboard-mode .command-kpis article strong { font-size: 23px; }
 #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 31px; }
 #appShell.dashboard-mode .command-kpis article span { color: #76999e; font-size: 9px; }
 #appShell.dashboard-mode .account-status-tiles small { font-size: 9px; }
 #appShell.dashboard-mode .account-status-tiles strong { font-size: 19px; }
 #appShell.dashboard-mode .account-status-tiles span { color: #72969c; font-size: 8px; }
 #appShell.dashboard-mode .dash-market-head h2 { font-size: 18px; }
 #appShell.dashboard-mode .dash-market-head small,
 #appShell.dashboard-mode .dash-market-actions > span { font-size: 8px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div b { font-size: 12px; }
 #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div span { font-size: 8px; }
 #appShell.dashboard-mode .dash-trend-sidebar h3 { font-size: 15px; }
 #appShell.dashboard-mode .dash-trend-sidebar > strong { font-size: 19px; }
 #appShell.dashboard-mode .important-news-panel h2 { font-size: 15px; }
 #appShell.dashboard-mode .important-news-grid strong { font-size: 11px; }
 #appShell.dashboard-mode .important-news-grid b { font-size: 12px; }
 #appShell.dashboard-mode .important-news-grid em,
 #appShell.dashboard-mode .important-news-grid small { font-size: 8px; }
 #appShell.dashboard-mode .group-heading h2 { font-size: 16px; }
 #appShell.dashboard-mode .group-heading small { font-size: 9px; }
 #appShell.dashboard-mode .command-group .group-title strong { font-size: 13px; }
 #appShell.dashboard-mode .command-group .group-title small { font-size: 8px; }
 #appShell.dashboard-mode .command-group .group-values { font-size: 10px; }
 #appShell.dashboard-mode .command-group .group-values > strong { font-size: 16px; }
 #appShell.dashboard-mode .command-group .group-status { font-size: 9px; }
 .dashboard-fullscreen-entry { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 6px 10px; border: 1px solid rgba(105, 224, 214, .72); border-radius: 5px; background: linear-gradient(135deg, rgba(18, 93, 99, .9), rgba(8, 42, 53, .92)); color: #eaffff; font-size: 10px; font-weight: 800; cursor: pointer; box-shadow: 0 0 12px rgba(57, 224, 155, .18); transition: .18s ease; }
 .dashboard-fullscreen-entry span { font-size: 17px; line-height: 1; color: #39e09b; text-shadow: 0 0 8px rgba(57, 224, 155, .7); }
 .dashboard-fullscreen-entry:hover, .dashboard-fullscreen-entry.is-active { border-color: #39e09b; background: linear-gradient(135deg, rgba(24, 125, 111, .95), rgba(8, 59, 63, .96)); box-shadow: 0 0 18px rgba(57, 224, 155, .36); transform: translateY(-1px); }
 @media (max-width: 820px) { .dashboard-fullscreen-entry { flex: 1 0 auto; } }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article { display: flex; align-items: center; align-content: center; gap: 12px; min-height: 88px; padding: 14px 16px; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles small { flex: 0 0 auto; color: #a9c8ca; font-size: 12px; font-weight: 700; white-space: nowrap; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles strong { flex: 0 0 auto; color: #f3ffff; font-size: 32px; line-height: 1; letter-spacing: .2px; text-shadow: 0 0 10px rgba(225, 255, 252, .4); }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article.online strong { color: #39e09b; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article.offline strong { color: #ff7770; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article.health strong { color: #ffc879; }
 #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles span { margin-left: auto; color: #83a8aa; font-size: 10px; line-height: 1.3; text-align: right; white-space: nowrap; }
 @media (max-width: 900px) { #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles article { min-height: 72px; padding: 11px 12px; } #appShell.dashboard-mode .dashboard-overview-row .account-status-tiles strong { font-size: 26px; } }
 #appShell.dashboard-mode .command-status .health-badge,
 #appShell.dashboard-mode .command-status .dashboard-control-entry,
 #appShell.dashboard-mode .command-status .dashboard-fullscreen-entry { box-sizing: border-box; height: 36px; min-height: 36px; padding: 0 11px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
 #appShell.dashboard-mode .command-status .health-badge,
 #appShell.dashboard-mode .command-status .dashboard-control-entry,
 #appShell.dashboard-mode .command-status .dashboard-fullscreen-entry { width: 104px; min-width: 104px; flex: 0 0 104px; white-space: nowrap; }
 #appShell.dashboard-mode .command-status .health-badge,
 #appShell.dashboard-mode .command-status .dashboard-control-entry,
 #appShell.dashboard-mode .command-status .dashboard-fullscreen-entry { font-size: 12px; font-weight: 700; }
 #appShell.dashboard-mode .command-status .dashboard-fullscreen-entry b { font-size: 12px; font-weight: 700; }
 #appShell.dashboard-mode .command-brand h1 { font-size: 22px; line-height: 1.08; }
 #appShell.dashboard-mode .command-brand p { font-size: 8px; }
 #appShell.dashboard-mode:fullscreen .command-dashboard { padding: 6px 14px 4px; }
 #appShell.dashboard-mode:fullscreen .command-header { padding-bottom: 5px; }
 #appShell.dashboard-mode:fullscreen .command-body { margin-top: 5px; gap: 7px; min-height: 0; }
 #appShell.dashboard-mode:fullscreen .command-main { padding: 7px; }
 #appShell.dashboard-mode:fullscreen .command-kpis { gap: 5px; margin-bottom: 5px; }
 #appShell.dashboard-mode:fullscreen .command-kpis article { min-height: 50px; padding: 6px 8px; }
 #appShell.dashboard-mode:fullscreen .dashboard-data-strip { gap: 5px; margin-bottom: 5px; }
 #appShell.dashboard-mode:fullscreen .dashboard-overview-row { gap: 6px; margin-bottom: 6px; }
 #appShell.dashboard-mode:fullscreen .dashboard-overview-row .account-status-tiles article { min-height: 62px; padding: 8px 10px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive { gap: 4px; padding: 6px 8px 5px; margin-bottom: 5px !important; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-market-head { min-height: 34px; padding-bottom: 4px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-stack { margin-top: 4px; gap: 5px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-main { min-height: 220px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:first-child canvas { height: 100px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(2) canvas,
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window:nth-child(3) canvas { height: 48px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-indicator-window > div { padding-top: 3px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-trend-sidebar { padding: 7px 8px; gap: 4px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-trend-sidebar dl { gap: 4px; margin: 5px 0; padding-top: 5px; }
 #appShell.dashboard-mode:fullscreen #dashboardMarketPanelLive .dash-market-footer { margin-top: 3px; padding-top: 4px; }
 #appShell.dashboard-mode .command-kpis article { min-height: 78px; padding: 13px 15px; }
 #appShell.dashboard-mode .command-kpis article small { font-size: 12px; }
 #appShell.dashboard-mode .command-kpis article b,
 #appShell.dashboard-mode .command-kpis article strong { font-size: 28px; }
 #appShell.dashboard-mode .command-kpis .primary-kpi strong { font-size: 36px; }
 #appShell.dashboard-mode .command-kpis article span { font-size: 12px; }
 #appShell.dashboard-mode:fullscreen .command-kpis article { min-height: 56px; padding: 7px 9px; }
 #appShell.dashboard-mode:fullscreen .command-kpis article small { font-size: 10px; }
 #appShell.dashboard-mode:fullscreen .command-kpis article b,
 #appShell.dashboard-mode:fullscreen .command-kpis article strong { font-size: 21px; }
 #appShell.dashboard-mode:fullscreen .command-kpis .primary-kpi strong { font-size: 25px; }
 #appShell.dashboard-mode:fullscreen .command-kpis article span { font-size: 10px; }
 #appShell.dashboard-mode .command-kpis article > span { font-size: 14px !important; line-height: 1.2; }
 #appShell.dashboard-mode .command-kpis article > span b { font-size: 14px !important; }
 #appShell.dashboard-mode:fullscreen .command-kpis article > span { font-size: 11px !important; }
 #appShell.dashboard-mode:fullscreen .command-kpis article > span b { font-size: 11px !important; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid { grid-template-columns: 1fr; gap: 6px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article { grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 9px; padding: 9px 10px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article > span { grid-column: 1; grid-row: 1 / span 2; align-self: center; font-size: 12px; letter-spacing: 1px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article strong { grid-column: 2; font-size: 13px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article em { grid-column: 2; font-size: 9px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article b { grid-column: 3; grid-row: 1 / span 2; align-self: center; font-size: 14px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article small { font-size: 9px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article:not(.critical):not(.warning) { opacity: .72; }
 @media (max-width: 900px) { #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article { padding: 8px 9px; } }
 #appShell.dashboard-mode .dashboard-overview-row { grid-template-columns: 1fr; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article { grid-template-columns: auto 1fr auto; min-height: 72px; padding: 9px 11px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article > span { grid-column: 1 / -1; grid-row: auto; align-self: auto; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article strong { grid-column: 1 / 3; font-size: 13px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article em { grid-column: 1 / 3; font-size: 9px; }
 #appShell.dashboard-mode .dashboard-overview-row .important-news-grid article b { grid-column: 3; grid-row: 2 / span 2; align-self: center; font-size: 14px; }
 @media (max-width: 900px) { #appShell.dashboard-mode .dashboard-overview-row .important-news-grid { grid-template-columns: 1fr; } }
 #appShell.dashboard-mode .command-main > .dashboard-overview-row { order: 2; }
 #appShell.dashboard-mode .command-main > .command-kpis { order: 1; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip { order: 2; display: grid !important; width: 100%; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: 9px; row-gap: 6px; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article small { grid-column: 1; grid-row: 1; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article span { grid-column: 2; grid-row: 1; margin-left: 0; text-align: left; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article strong { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article { display: flex; align-items: center; gap: 10px; min-height: 66px; padding: 10px 13px; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article small { flex: 0 0 auto; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article span { flex: 1 1 auto; min-width: 0; white-space: nowrap; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article strong { flex: 0 0 auto; order: 3; margin-left: auto; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article { gap: 6px; padding: 10px 12px; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article small { font-size: 11px; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article span { font-size: 10px; }
 #appShell.dashboard-mode .command-main > .dashboard-data-strip .account-status-tiles article strong { font-size: 26px; line-height: 1; }
 #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive { order: 3; }
 #appShell.dashboard-mode:fullscreen .command-main > .dashboard-overview-row { order: 2; }
 #appShell.dashboard-mode:fullscreen .command-main > .command-kpis { order: 1; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel { order: 5; width: 100%; }
 #appShell.dashboard-mode .command-groups { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
 #appShell.dashboard-mode .command-group { display: grid; gap: 6px; min-height: 194px; padding: 11px 12px 9px; overflow: hidden; background: linear-gradient(145deg, rgba(8, 39, 48, .82), rgba(4, 20, 29, .9)); backdrop-filter: blur(12px); transition: .2s ease; }
 #appShell.dashboard-mode .command-group:hover { transform: translateY(-2px); box-shadow: 0 0 24px currentColor, inset 0 0 22px rgba(255,255,255,.04); }
 #appShell.dashboard-mode .command-group.warning { animation: groupWarningPulse 2.8s ease-in-out infinite; }
 #appShell.dashboard-mode .command-group.danger { animation: groupDangerPulse 1.35s ease-in-out infinite; }
 #appShell.dashboard-mode .command-group.safe { animation: groupSafeGlow 5s ease-in-out infinite; }
 #appShell.dashboard-mode .group-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
 #appShell.dashboard-mode .group-detail-metric { display: grid; gap: 2px; min-width: 0; }
 #appShell.dashboard-mode .group-detail-metric small { color: #75999e; font-size: 8px; white-space: nowrap; }
 #appShell.dashboard-mode .group-detail-metric strong { color: #f0ffff; font: 700 13px ui-monospace, Consolas, monospace; text-shadow: 0 0 6px rgba(226,255,250,.32); white-space: nowrap; }
 #appShell.dashboard-mode .group-detail-metric strong.positive { color: #39e09b; }
 #appShell.dashboard-mode .group-detail-metric strong.negative { color: #ff7770; }
 #appShell.dashboard-mode .group-detail-metric strong.group-margin { color: #ffc16e; }
 #appShell.dashboard-mode .group-mini-trend { grid-column: 1 / -1; display: grid; gap: 3px; padding-top: 4px; border-top: 1px solid rgba(104,198,198,.14); }
 #appShell.dashboard-mode .group-mini-trend span { color: #6f969b; font-size: 8px; }
 #appShell.dashboard-mode .group-mini-trend i { display: flex; align-items: end; gap: 3px; height: 22px; }
 #appShell.dashboard-mode .group-mini-trend i b { flex: 1; min-width: 3px; height: 35%; border-radius: 2px 2px 0 0; background: currentColor; box-shadow: 0 0 6px currentColor; opacity: .72; }
 #appShell.dashboard-mode .group-mini-trend i b:nth-child(2) { height: 56%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(3) { height: 42%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(4) { height: 74%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(5) { height: 61%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(6) { height: 88%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(7) { height: 68%; } #appShell.dashboard-mode .group-mini-trend i b:nth-child(8) { height: 96%; }
 #appShell.dashboard-mode .group-detail-note { grid-column: 1 / -1; color: #698d92; font-size: 8px; white-space: nowrap; }
 #appShell.dashboard-mode .group-risk-track { height: 4px; overflow: hidden; margin-top: auto; border-radius: 4px; background: rgba(137,180,181,.16); }
 #appShell.dashboard-mode .group-risk-track i { display: block; height: 100%; border-radius: inherit; background: currentColor; box-shadow: 0 0 9px currentColor; }
 @keyframes groupWarningPulse { 50% { box-shadow: 0 0 18px rgba(255,174,78,.24), inset 0 0 18px rgba(255,145,60,.08); } }
 @keyframes groupDangerPulse { 50% { box-shadow: 0 0 25px rgba(255,63,61,.38), inset 0 0 26px rgba(255,61,51,.12); } }
 @keyframes groupSafeGlow { 50% { box-shadow: 0 0 15px rgba(57,224,155,.2); } }
 @media (max-width: 1200px) { #appShell.dashboard-mode .command-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
 @media (max-width: 700px) { #appShell.dashboard-mode .command-groups { grid-template-columns: 1fr; } }
 #appShell.dashboard-mode .command-main > #dashboardMarketPanelLive { order: 3; }
 #appShell.dashboard-mode .command-main > section:not(.dashboard-overview-row):not(.command-kpis):not(#dashboardMarketPanelLive):not(#importantNewsPanel) { order: 4; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel { gap: 5px; padding: 8px 10px; margin-bottom: 6px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header { padding-bottom: 5px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 7px 9px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article > span { order: 1; flex: 0 0 auto; font-size: 11px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article strong { order: 2; flex: 0 0 auto; font-size: 11px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article em { order: 3; flex: 0 0 auto; font-size: 8px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article small { order: 4; flex: 1 1 auto; min-width: 0; font-size: 8px; text-overflow: ellipsis; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article b { order: 5; flex: 0 0 auto; margin-left: auto; font-size: 12px; }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid { grid-template-columns: 1fr; } #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article { flex-wrap: wrap; min-height: 44px; } #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid article small { flex-basis: 100%; } }
 #appShell.dashboard-mode .news-topic-ticker { overflow: hidden; margin: 1px 0 2px; padding: 5px 0; border-top: 1px solid rgba(255, 127, 105, .18); border-bottom: 1px solid rgba(255, 127, 105, .18); white-space: nowrap; }
 #appShell.dashboard-mode .news-topic-ticker > div { display: flex; gap: 70px; min-width: max-content; color: #ffc1a8; font: 700 11px ui-monospace, Consolas, monospace; animation: importantNewsTopicFlow 28s linear infinite; }
 #appShell.dashboard-mode .news-topic-ticker span:first-child { color: #ff8178; }
 #appShell.dashboard-mode .news-topic-ticker span:nth-child(2) { color: #ffc36f; }
 #appShell.dashboard-mode .news-topic-ticker span:nth-child(3) { color: #a9b9b7; }
 @keyframes importantNewsTopicFlow { from { transform: translateX(0); } to { transform: translateX(-38%); } }
 @media (prefers-reduced-motion: reduce) { #appShell.dashboard-mode .news-topic-ticker > div { animation: none; } }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .important-news-grid { display: none !important; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel { display: flex !important; align-items: center; gap: 12px; min-height: 48px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 0; border-bottom: 0; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header > div { display: flex; align-items: baseline; gap: 8px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header .hud-label,
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header small { display: none; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header h2 { margin: 0; white-space: nowrap; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker { flex: 1 1 auto; min-width: 0; margin: 0; padding: 5px 0; }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-main > #importantNewsPanel { align-items: stretch; flex-wrap: wrap; gap: 5px; } #appShell.dashboard-mode .command-main > #importantNewsPanel > header { flex-basis: 100%; } #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker { flex-basis: 100%; } }
 #appShell.dashboard-mode .command-main > #importantNewsPanel > header h2 { font-size: 17px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker { margin-left: 10px; padding-left: 12px; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker > div { gap: 110px; font-size: 13px; animation: importantNewsTopicFlow 18s linear infinite !important; will-change: transform; }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker span { font-size: 13px; }
 @media (max-width: 900px) { #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker { margin-left: 0; } #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker > div, #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker span { font-size: 11px; } }
 #appShell.dashboard-mode .command-main > #importantNewsPanel .news-topic-ticker > div { animation: none !important; transform: translate3d(0, 0, 0); will-change: transform; }
 @keyframes importantNewsTopicMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* EA策略选择收 compact 为窄三角按钮，列表仍在点击后展开 */
.ea-card .card-actions select[data-group-ea] {
  width: 30px;
  min-width: 30px;
  height: 28px;
  padding: 0 3px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  text-indent: -9999px;
  cursor: pointer;
}
.ea-card .card-actions select[data-group-ea] option {
  color: #eaffff;
  font-size: 12px;
  text-indent: 0;
}

/* 只显示清晰的下拉三角，不显示空方框 */
.ea-card .card-actions select[data-group-ea] {
  appearance: none;
  border: 0;
  border-radius: 4px;
  background-color: transparent;
  background-image: linear-gradient(45deg, transparent 50%, #eaffff 50%), linear-gradient(135deg, #eaffff 50%, transparent 50%);
  background-position: calc(50% - 3px) 50%, calc(50% + 3px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.ea-card .card-actions select[data-group-ea]:hover,
.ea-card .card-actions select[data-group-ea]:focus {
  background-color: rgba(79, 214, 213, .2);
  outline: none;
}

/* 四项订单统计固定单行，缩短间距并提高可读性 */
.ea-card .group-order-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 8px;
  row-gap: 0;
  margin-top: 7px;
  padding: 7px 0;
}
.ea-card .group-order-summary > div {
  min-width: 0;
  gap: 3px;
  overflow: visible;
}
.ea-card .group-order-summary small {
  font-size: 13px;
}
.ea-card .group-order-summary b {
  font-size: 18px;
}

/* 保留橙色运行开关，隐藏重复的文字状态按钮 */
.ea-card footer .rate .group-state-button {
  display: none;
}

/* EA矩阵取代重复的总控首页 */
.nav-item[data-page="home"] {
  display: none;
}

/* 账户信息靠右，紧邻 EA 三角下拉按钮 */
.ea-card header .account-inline {
  flex: 0 0 auto;
  margin-left: auto;
  margin-right: 2px;
}

/* 全局三项操作集中到批量操作栏，保持原大按钮尺寸 */
.control-toolbar .global-action {
  min-width: 190px;
  min-height: 46px;
  padding: 13px 9px;
  font-size: 14px;
  font-weight: 700;
}
.control-toolbar .global-start {
  background: linear-gradient(135deg, #39d39b, #2eb986);
  color: #041b17;
  border-color: rgba(157, 255, 220, .82);
}
.control-toolbar .global-pause {
  background: linear-gradient(135deg, #e6a84f, #cc8739);
  color: #21170a;
  border-color: rgba(255, 215, 142, .78);
}

/* 四组卡片统一字号与纵向节奏，避免信息挤在一起 */
.ea-card {
  padding: 15px 16px;
}
.ea-card header {
  min-height: 28px;
  align-items: center;
  gap: 10px;
}
.ea-card h3 {
  font-size: 18px;
  line-height: 1.2;
}
.ea-card header .account-inline {
  font-size: 13px;
}
.ea-card .group-financial-grid {
  margin-top: 11px;
  padding-bottom: 9px;
  gap: 8px 12px;
}
.ea-card .group-financial-grid small,
.ea-card .group-order-summary small {
  font-size: 12px;
  line-height: 1.2;
}
.ea-card .group-financial-grid b,
.ea-card .group-order-summary b {
  font-size: 18px;
  line-height: 1.2;
}
.ea-card .group-order-summary {
  margin-top: 9px;
  padding: 10px 0 11px;
  column-gap: 10px;
}
.ea-card footer {
  margin-top: 12px;
  padding-top: 10px;
}

/* 加大四个内容层之间的实际留白，保证视觉上能明确区分 */
.ea-card {
  padding: 18px 16px 17px;
}
.ea-card header {
  min-height: 34px;
  margin-bottom: 4px;
}
.ea-card .group-financial-grid {
  min-height: 72px;
  margin-top: 14px;
  padding: 0 0 13px;
  align-items: end;
}
.ea-card .group-financial-grid > div {
  min-height: 56px;
  align-content: end;
}
.ea-card .group-order-summary {
  min-height: 52px;
  margin-top: 13px;
  padding: 12px 0 14px;
  align-items: center;
}
.ea-card .group-order-summary > div {
  min-height: 25px;
}
.ea-card footer {
  min-height: 36px;
  margin-top: 15px;
  padding-top: 12px;
}

/* 同类文字强制统一字号，避免不同分组和不同数据行看起来不齐 */
.ea-card .group-financial-grid small,
.ea-card .group-order-summary small,
.ea-card header .account-inline {
  font-size: 13px !important;
  line-height: 1.2;
}
.ea-card .group-financial-grid b,
.ea-card .group-order-summary b {
  font-size: 18px !important;
  line-height: 1.2;
}
.main-frame .ea-card .mini-signal,
.main-frame .ea-card .account-inline {
  animation: none !important;
  transition: none !important;
}

/* 四大分组卡片专用字体层级 */
.control-grid .ea-card h3,
.control-grid .ea-card h3 small,
.control-grid .ea-card .group-inline-risk {
  font-size: 24px !important;
  line-height: 1.2;
}
.control-grid .ea-card h3 small {
  font-size: 14px !important;
}
.control-grid .ea-card .group-inline-risk {
  padding: 3px 8px;
  text-shadow: 0 0 8px currentColor;
}
.control-grid .ea-card .account-inline,
.control-grid .ea-card .rate,
.control-grid .ea-card .rate span,
.control-grid .ea-card .card-actions select {
  font-size: 18px !important;
}
.control-grid .ea-card .group-financial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 116px;
  margin-top: 10px;
  gap: 6px 12px;
}
.control-grid .ea-card .group-financial-grid small,
.control-grid .ea-card .group-order-summary small,
.control-grid .ea-card footer > span {
  font-size: 14px !important;
  line-height: 1.25;
}
.control-grid .ea-card .group-financial-grid b,
.control-grid .ea-card .group-order-summary b {
  font-size: 14px !important;
  line-height: 1.2;
}
.control-grid .ea-card .group-financial-grid > div:nth-child(1) b,
.control-grid .ea-card .group-financial-grid > div:nth-child(2) b {
  font-size: 36px !important;
  text-shadow: 0 0 10px currentColor;
}
.control-grid .ea-card .group-financial-grid > div:nth-child(3) b,
.control-grid .ea-card .group-financial-grid > div:nth-child(4) b {
  font-size: 18px !important;
  text-shadow: 0 0 5px currentColor;
}
.control-grid .ea-card .group-financial-grid > div:nth-child(3),
.control-grid .ea-card .group-financial-grid > div:nth-child(4) {
  align-self: end;
  padding-top: 4px;
  border-top: 1px solid rgba(100, 198, 203, .16);
}
.control-grid .ea-card .group-order-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 40px;
  margin-top: 8px;
  padding: 8px 0 9px;
  gap: 7px;
}
.control-grid .ea-card .group-order-summary > div {
  gap: 4px;
}
.control-grid .ea-card footer {
  min-height: 32px;
  margin-top: 10px;
  padding-top: 8px;
}
.control-grid .ea-card .group-risk-track {
  height: 6px;
  overflow: hidden;
  margin-top: 8px;
  border-radius: 6px;
  background: rgba(137, 180, 181, .18);
}
.control-grid .ea-card .group-risk-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
  box-shadow: 0 0 10px currentColor;
}
.control-grid .ea-card.warning .group-risk-track i { background: var(--orange); }
.control-grid .ea-card.danger .group-risk-track i { background: var(--red); }
.control-grid .ea-card.warning .group-inline-risk,
.control-grid .ea-card.danger .group-inline-risk {
  animation: groupWarningPulse 2.8s ease-in-out infinite;
}
.control-grid .ea-card.danger .group-inline-risk {
  animation-name: groupDangerPulse;
  animation-duration: 1.35s;
}
.main-frame:has(.control-grid) {
  max-height: calc(100vh - 108px);
  overflow: auto;
}
.control-fullscreen {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(112, 228, 223, .78);
  border-radius: 6px;
  background: rgba(19, 71, 78, .7);
  color: #dfffff;
  font-size: 22px;
  line-height: 1;
}
.control-fullscreen:hover {
  background: #247e84;
  box-shadow: 0 0 16px rgba(92, 219, 215, .3);
}
@media (max-width: 860px) {
  .main-frame:has(.control-grid) {
    max-height: none;
  }
}

/* 平台统一层级基准：标题、标签、主数值、辅助数值不再各页漂移 */
.command-dashboard .page-head h2,
.main-frame > .page-head h2 {
  font-size: 24px;
  line-height: 1.25;
}
.command-dashboard .page-head small,
.main-frame > .page-head small {
  font-size: 13px;
  line-height: 1.4;
}
.control-summary {
  gap: 12px;
  margin-bottom: 16px;
}
.control-summary > div {
  min-height: 92px;
  align-content: center;
  gap: 6px;
  padding: 14px 15px;
}
.control-summary small,
.control-summary span {
  font-size: 13px;
  line-height: 1.25;
}
.control-summary b {
  font-size: 24px;
  line-height: 1.1;
}
.control-grid {
  align-items: stretch;
  gap: 16px;
}
.control-grid .ea-card {
  display: flex;
  min-height: 252px;
  flex-direction: column;
}
.control-grid .ea-card footer {
  margin-top: auto;
}
.table-card {
  border-radius: 8px;
}
.data-table th,
.data-table td {
  min-height: 44px;
  padding: 12px 13px;
  font-size: 13px;
  line-height: 1.3;
}
.fund-content {
  padding: 20px;
}
.fund-section-head h3 {
  font-size: 17px;
  line-height: 1.3;
}
.fund-section-head p {
  font-size: 13px;
  line-height: 1.45;
}
.fund-config-grid label,
.preset-card label,
.strategy-card label {
  font-size: 12px;
}
.fund-config-grid input,
.preset-card input,
.strategy-card input,
.strategy-card select {
  min-height: 38px;
  font-size: 13px;
}
@media (max-width: 860px) {
  .control-grid .ea-card {
    min-height: 0;
  }
  .fund-content {
    padding: 15px;
  }
}
.control-toolbar .global-funds {
  background: linear-gradient(135deg, rgba(19, 71, 78, .7), rgba(7, 30, 39, .82));
  color: #bffcf7;
  border-color: rgba(112, 228, 223, .78);
}
.control-toolbar .global-pause {
  background: linear-gradient(135deg, #e6a84f, #cc8739);
  color: #21170a;
  border-color: rgba(255, 215, 142, .78);
}

/* 每组核心资金指标横向排列 */
.ea-card .group-financial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px 10px;
  margin-top: 6px;
}
.ea-card .group-financial-grid > div {
  display: grid !important;
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: 0;
  gap: 3px;
}
.ea-card .group-financial-grid small {
  font-size: 12px;
  white-space: nowrap;
}
.ea-card .group-financial-grid b {
  overflow: hidden;
  font-size: 19px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ea-card .group-order-summary small {
  font-size: 13px;
}
.ea-card .group-order-summary b {
  font-size: 19px;
}
.account-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.account-form label { display: grid; gap: 6px; color: #a8c9cc; font-size: 12px; }
.account-form input, .account-form select { min-width: 0; padding: 10px; border: 1px solid #326d75; border-radius: 4px; background: rgba(10, 43, 51, .88); color: #eaffff; outline: none; }
@media (max-width: 620px) { .account-form { grid-template-columns: 1fr; } }
.control-grid .ea-card header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 8px 10px;
  min-height: 66px;
}
.control-grid .ea-card header h3 {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}
.control-grid .ea-card header h3 small {
  flex: 0 0 auto;
  margin-left: 8px;
}
.control-grid .ea-card h3 .group-inline-risk {
  flex: 0 0 auto;
  margin: 0 0 0 9px;
  padding: 3px 8px;
  border-width: 1px;
  border-radius: 4px;
  text-shadow: none !important;
  animation: none !important;
  box-shadow: none !important;
}
.control-grid .ea-card header .account-inline {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  min-width: max-content;
  margin: 0;
}
.control-grid .ea-card header .card-actions {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
}
.control-grid .ea-card,
.control-grid .ea-card * {
  text-shadow: none !important;
}
.control-grid .ea-card .group-financial-grid b,
.control-grid .ea-card .group-order-summary b,
.control-grid .ea-card .rate span,
.control-grid .ea-card footer > span,
.control-grid .ea-card .group-inline-risk {
  text-shadow: none !important;
}
.control-grid .ea-card .group-risk-track i,
.control-grid .ea-card .mini-signal {
  box-shadow: none !important;
}
@media (max-width: 760px) {
  .control-grid .ea-card header { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; }
  .control-grid .ea-card header .card-actions { grid-column: 2; grid-row: 2; }
  .control-grid .ea-card header .account-inline { grid-column: 2; grid-row: 1; justify-self: end; }
}
body.auth-required { overflow: hidden; }
body.auth-required #appShell { display: none; }
.auth-gate { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 20%, rgba(24, 87, 91, .25), transparent 42%), #06131b; }
.auth-gate.hidden { display: none; }
.auth-panel { width: min(390px, 100%); padding: 30px; border: 1px solid rgba(102, 239, 225, .7); border-radius: 10px; background: rgba(7, 25, 35, .94); box-shadow: 0 0 28px rgba(50, 215, 211, .18); }
.auth-mark { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 18px; border: 1px solid #66f1dd; border-radius: 7px; color: #eaffff; font-weight: 800; }
.auth-kicker { margin: 0 0 8px; color: #62cfc9; font: 10px ui-monospace, Consolas, monospace; letter-spacing: 1px; }
.auth-panel h1 { margin: 0; color: #f1ffff; font-size: 25px; }
.auth-note { margin: 8px 0 22px; color: #8fb4b7; font-size: 13px; }
.auth-panel form { display: grid; gap: 13px; }
.auth-panel label { display: grid; gap: 6px; color: #b9d8d8; font-size: 13px; }
.auth-panel input { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #2f6971; border-radius: 5px; background: #0b2731; color: #efffff; outline: none; }
.auth-panel input:focus { border-color: #6ce6dd; }
.auth-password-wrap { position: relative; }
.auth-password-wrap input { padding-right: 68px; }
.auth-password-toggle { position: absolute; top: 50%; right: 7px; transform: translateY(-50%); margin: 0 !important; padding: 5px 8px !important; border: 1px solid #2f6971 !important; border-radius: 4px !important; background: #12313a !important; color: #bfe9e5 !important; font-size: 12px; font-weight: 700; }
.auth-remember { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 7px !important; }
.auth-remember input { width: 15px; height: 15px; accent-color: #66f1dd; }
.auth-panel button { margin-top: 5px; padding: 11px 14px; border: 1px solid #ffc273; border-radius: 5px; background: linear-gradient(135deg, #d97836, #a74432); color: #fff; font-weight: 800; cursor: pointer; }
.auth-error { min-height: 18px; margin: 0; color: #ff8d83; font-size: 12px; }
.dashboard-runtime-account { display: flex; align-items: center; gap: 20px; margin-top: 8px; padding: 9px 12px; border: 1px solid rgba(82, 209, 213, .32); border-left: 3px solid #39e09b; background: rgba(7, 31, 39, .78); color: #b9d8da; font-size: 12px; }
.dashboard-runtime-account > span { display: grid; gap: 2px; min-width: 0; }
.dashboard-runtime-account > span:first-child { min-width: 190px; }
.dashboard-runtime-account small { color: #76999e; font-size: 10px; }
.dashboard-runtime-account strong { color: #eaffff; font-size: 13px; }
.dashboard-runtime-account b { color: #dff; font-size: 12px; }
@media (max-width: 900px) { .dashboard-runtime-account { flex-wrap: wrap; gap: 10px 16px; } .dashboard-runtime-account > span:first-child { min-width: 160px; } }
.live-quote-strip { display: inline-flex; align-items: center; gap: 9px; margin-left: 8px; padding: 5px 8px; border: 1px solid rgba(90, 215, 219, .36); border-radius: 4px; background: rgba(11, 42, 51, .8); white-space: nowrap; }
.live-quote-strip b { color: #8fb6bb; font-size: 10px; font-weight: 600; }
.live-quote-strip strong { color: #efffff; font: 700 13px ui-monospace, Consolas, monospace; }
.live-quote-strip b:nth-child(2) strong { color: #ffbd73; }
.live-quote-strip b:nth-child(3) strong { color: #a7d9dc; }
.live-quote-strip i { color: #6e979d; font-size: 10px; font-style: normal; }
.live-quote-strip.is-live { border-color: rgba(57, 224, 155, .6); }
.dash-market-actions .live-quote-strip { display: none; }
.trend-live-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 4px 0 7px; padding: 6px; border: 1px solid rgba(83, 220, 211, .42); border-radius: 4px; background: rgba(5, 29, 37, .82); }
.trend-live-quotes > div { display: grid; gap: 2px; min-width: 0; }
.trend-live-quotes small { color: #7da4a7; font-size: 8px; }
.trend-live-quotes b { color: #f3ffff; font: 700 13px ui-monospace, Consolas, monospace; white-space: nowrap; }
.trend-live-quotes > div:nth-child(2) b { color: #ffbd73; }
.trend-live-quotes > div:nth-child(3) b { color: #ff7770; }
.trend-live-quotes.is-live { border-color: rgba(57, 224, 155, .72); }
.chart-navigation { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; }
.chart-navigation button { min-width: 25px; height: 24px; padding: 2px 6px; border: 1px solid rgba(109, 224, 218, .55); border-radius: 3px; background: rgba(9, 46, 56, .9); color: #eaffff; font: 700 13px ui-monospace, Consolas, monospace; cursor: pointer; }
.chart-navigation button:hover { border-color: #ffc274; color: #ffc274; }
.chart-navigation button[data-chart-action="live"] { color: #39e09b; font-size: 9px; }
.dash-indicator-window canvas { cursor: grab; transition: transform .15s ease-out; }
.dash-indicator-window canvas:active { cursor: grabbing; }
.dash-indicator-window { contain: paint; }
.dash-indicator-window canvas { max-width: none; will-change: transform; }
.order-strength { display: grid; gap: 5px; margin-top: 4px; padding-top: 8px; border-top: 1px solid rgba(103, 214, 209, .25); }
.order-strength-head, .order-strength-values { display: flex; justify-content: space-between; gap: 8px; color: #89aeb1; font-size: 9px; }
.order-strength-head b { color: #eaffff; font: 700 10px ui-monospace, Consolas, monospace; }
.order-strength-track { display: flex; width: 100%; height: 8px; overflow: hidden; border-radius: 3px; background: rgba(120, 151, 157, .18); }
.order-strength-track i { display: block; min-width: 0; height: 100%; transition: width .25s ease; }
.order-strength-track i:first-child { background: #39dca0; }
.order-strength-track i:last-child { background: #ffad63; }
.order-strength-values span:first-child b { color: #39dca0; }
.order-strength-values span:last-child b { color: #ffad63; }
.order-strength small { color: #668d92; font-size: 8px; }
.dash-indicator-window canvas { background: #000; }
.price-compare-label { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 4px; color: #aac0c2; font-size: 10px; }
.price-compare-label b { color: #6ee3b5; font: 700 9px ui-monospace, Consolas, monospace; }
.dash-indicator-stack, .dash-indicator-main, .dash-indicator-window { min-width: 0; }
.dash-indicator-window { position: relative; }
.fixed-price-ruler, .fixed-rsi-ruler { position: absolute; top: 0; right: 3px; bottom: 0; z-index: 4; display: flex; flex-direction: column; justify-content: space-between; padding: 5px 0; pointer-events: none; }
.fixed-price-ruler { top: 30px; bottom: 20px; }
.fixed-price-ruler { display: none !important; }
.fixed-rsi-ruler { top: 28px; bottom: 18px; }
.fixed-price-ruler b, .fixed-rsi-ruler b { padding: 1px 2px; background: rgba(0, 0, 0, .78); color: #a9babd; font: 11px ui-monospace, Consolas, monospace; white-space: nowrap; }
.fixed-price-ruler .ruler-current-price { position: absolute; right: -1px; transform: translateY(-50%); padding: 1px 3px; border: 1px solid rgba(57,224,155,.8); background: rgba(5,38,39,.94); color: #39e09b; font: 700 10px ui-monospace, Consolas, monospace; font-style: normal; white-space: nowrap; }
.fixed-rsi-ruler b:nth-child(2) { color: #ff7e78; }
.fixed-rsi-ruler b:nth-child(4) { color: #43dfa7; }
.price-only-panel { min-width: 0; overflow: hidden; }
.price-main b, .price-bid-ask strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.price-main b { font-size: 30px; }
.price-bid-ask strong { font-size: 17px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { grid-template-columns: minmax(0, 1fr) minmax(150px, 220px); width: 100%; overflow: hidden; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { min-width: 0; overflow: hidden; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window { min-width: 0; max-width: 100%; overflow: hidden; clip-path: inset(0); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window canvas { max-width: 100%; }
html, body, #appShell { max-width: 100vw; overflow-x: hidden; }
#appShell.dashboard-mode .command-body, #appShell.dashboard-mode .command-main, #appShell.dashboard-mode #dashboardMarketPanelLive { min-width: 0; max-width: 100%; overflow-x: hidden; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { overflow-x: hidden; overflow-y: auto; }
.price-only-panel { overflow-x: hidden; overflow-y: auto; }
@media (max-width: 900px) { .chart-navigation { flex-basis: 100%; justify-content: flex-end; margin-top: 4px; } .trend-live-quotes b { font-size: 11px; } }
@media (max-width: 900px) { .live-quote-strip { flex-wrap: wrap; margin: 5px 0 0; } }
.rsi-ruler { position: absolute; top: 23px; right: 5px; bottom: 4px; z-index: 3; display: flex; flex-direction: column; justify-content: space-between; padding: 0; color: #dff; font: 700 9px ui-monospace, Consolas, monospace; pointer-events: none; }
.rsi-ruler b { padding: 1px 3px; border-radius: 2px; background: rgba(4, 19, 29, .82); }
.rsi-ruler b:first-child { color: #ff7770; }
.rsi-ruler b:nth-child(2) { color: #eaffff; }
.rsi-ruler b:last-child { color: #39e09b; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window { border: 1px solid rgba(119, 222, 222, .5); box-shadow: inset 0 0 18px rgba(0, 0, 0, .22); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window + .dash-indicator-window { border-top: 2px solid rgba(255, 165, 91, .55); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window:nth-child(2) { border-left-color: rgba(255, 165, 91, .72); border-right-color: rgba(57, 224, 155, .62); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window:nth-child(3) { border-top-color: rgba(255, 92, 92, .64); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div b { color: #f5ffff; text-shadow: 0 0 7px rgba(255,255,255,.3); }
.price-only-panel { display: grid; align-content: start; gap: 8px; height: 100%; padding: 2px 0; }
.price-only-panel h3 { margin: 0; color: #efffff; font-size: 17px; }
.price-main { display: grid; gap: 1px; padding: 8px 0; border-bottom: 1px solid rgba(103, 214, 209, .32); }
.price-main small, .price-bid-ask small { color: #83a8ad; font-size: 9px; }
.price-main b { color: #efffff; font: 800 24px ui-monospace, Consolas, monospace; }
.price-bid-ask { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.price-bid-ask > div { display: grid; gap: 2px; padding: 7px; border: 1px solid rgba(73, 201, 193, .3); background: rgba(5, 28, 37, .72); }
.price-bid-ask > div:first-child strong { color: #39e09b; }
.price-bid-ask > div:last-child strong { color: #ffbd73; }
.price-bid-ask strong { font: 800 14px ui-monospace, Consolas, monospace; }
.price-only-panel dl { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 3px 0 0; padding-top: 8px; border-top: 1px solid rgba(103, 214, 209, .25); }
.price-only-panel dt { color: #789ba0; font-size: 9px; }
.price-only-panel dd { margin: 0; color: #eaffff; font: 700 11px ui-monospace, Consolas, monospace; }
.price-only-panel dd[data-trapped-count] { color: #ff7770; }
.order-book-depth { display: grid; gap: 2px; margin-top: 5px; padding-top: 7px; border-top: 1px solid rgba(103, 214, 209, .25); font: 10px ui-monospace, Consolas, monospace; }
.order-book-depth { max-height: 330px; overflow-y: auto; scrollbar-width: thin; }
.order-book-depth header, .order-book-depth > div { display: grid; grid-template-columns: 34px 1fr 46px 34px 1fr 46px; align-items: center; gap: 4px; min-width: 0; }
.order-book-depth header { grid-template-columns: 1fr 1fr; color: #789ba0; font-size: 9px; }
.order-book-depth > div { min-height: 18px; }
.order-book-depth b, .order-book-depth em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; }
.order-book-depth .book-ask { color: #f4ffff; }
.order-book-depth .book-bid { color: #39e09b; }
.order-book-depth em { color: #91b5bb; text-align: right; }
.order-book-depth .book-level { color: #789ba0; font-size: 9px; }
.order-book-empty { padding: 8px 0; color: #789ba0; font-size: 10px; text-align: center; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { border-left: 2px solid rgba(255, 175, 91, .72); background: linear-gradient(180deg, rgba(14, 64, 68, .3), rgba(60, 29, 24, .2)); }
/* Compact rename control stays beside each group title. */
.ea-card header h3 { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.ea-card .group-rename-icon { width: 22px; height: 22px; flex: 0 0 22px; padding: 0; border: 1px solid rgba(120, 228, 220, .58); border-radius: 4px; background: rgba(18, 83, 87, .7); color: #bffbf2; font-size: 13px; line-height: 20px; cursor: pointer; }
.ea-card .group-rename-icon:hover { border-color: #fff0b5; background: rgba(190, 112, 53, .86); color: #fff; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { display: grid !important; }

/* Final market workspace sizing: equal chart and live-price columns. */
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack {
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main,
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar {
  min-width: 0;
  max-width: 100%;
}
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window canvas {
  display: block;
  max-width: none;
  transform: none !important;
}
.price-only-panel {
  gap: 4px;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.price-main { padding: 4px 0; }
.price-bid-ask { gap: 4px; }
.price-bid-ask > div { padding: 4px; }
.order-strength { margin-top: 2px; padding-top: 4px; }
.order-book-depth { margin-top: 2px; padding-top: 4px; }

/* Live market panel hierarchy and compact 8:2 chart/quote layout. */
#appShell.dashboard-mode #dashboardMarketPanelLive {
  background: rgba(6, 14, 26, .75);
  backdrop-filter: blur(16px);
}
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head { flex-wrap: wrap; align-items: center; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head h2 { font-size: 24px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head small,
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-actions > span { font-size: 11px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-actions select,
#appShell.dashboard-mode #dashboardMarketPanelLive .market-quick-period,
#appShell.dashboard-mode #dashboardMarketPanelLive .market-panel-tool { min-height: 30px; font-size: 14px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { gap: 10px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { min-height: 440px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div { padding-right: 68px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div b { font-size: 18px; text-shadow: none; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window > div span { font-size: 14px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { align-content: start; overflow-y: auto; }
#appShell.dashboard-mode #dashboardMarketPanelLive .price-only-panel h3 { font-size: 24px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .price-main b { font-size: 36px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .price-bid-ask strong { font-size: 18px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .price-only-panel dt,
#appShell.dashboard-mode #dashboardMarketPanelLive .price-only-panel dd { font-size: 14px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .market-offline-banner { display: none; width: 100%; padding: 5px 8px; border: 1px solid rgba(255, 54, 54, .72); background: rgba(94, 19, 25, .7); color: #ffaaa3; font-size: 14px; }
#appShell.dashboard-mode #dashboardMarketPanelLive.is-offline .market-offline-banner { display: block; }
#appShell.dashboard-mode #dashboardMarketPanelLive .indicator-signal-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .indicator-signal { padding: 3px 6px; border: 1px solid rgba(135, 187, 191, .4); border-radius: 3px; color: #c7dfe0; font-size: 11px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .indicator-signal.positive { border-color: rgba(57, 224, 155, .65); color: #39e09b; }
#appShell.dashboard-mode #dashboardMarketPanelLive .indicator-signal.negative { border-color: rgba(255, 54, 54, .65); color: #ff8f87; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-window.is-hidden { display: none; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer small { font-size: 11px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-footer b { font-size: 18px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .market-live-badge { color: #39e09b; font-size: 14px; }
#appShell.dashboard-mode #dashboardMarketPanelLive .market-live-badge.is-offline { color: #ff7770; }
@media (max-width: 900px) {
  #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { grid-template-columns: 1fr !important; }
  #appShell.dashboard-mode #dashboardMarketPanelLive .dash-market-head h2 { font-size: 20px; }
}
.market-quick-periods, .market-indicator-toggles { display: inline-flex; align-items: center; gap: 3px; }
.market-quick-period.active, .market-quick-period:hover, .market-panel-tool:hover { border-color: #39e09b; color: #39e09b; }
.market-quick-period, .market-panel-tool { padding: 4px 6px; border: 1px solid rgba(100, 224, 214, .55); border-radius: 3px; background: rgba(9, 46, 56, .9); color: #eaffff; cursor: pointer; }
.market-panel-tool { background: rgba(121, 74, 36, .78); border-color: rgba(255, 194, 115, .72); }
.market-crosshair { position: absolute; top: 0; bottom: 0; z-index: 5; width: 1px; background: rgba(255, 255, 255, .8); box-shadow: 0 0 8px rgba(255, 194, 115, .8); pointer-events: none; }
.market-hover-tooltip { position: absolute; right: 8px; top: 74px; z-index: 8; padding: 5px 7px; border: 1px solid rgba(109, 224, 218, .6); border-radius: 3px; background: rgba(3, 18, 26, .94); color: #eaffff; font: 11px ui-monospace, Consolas, monospace; pointer-events: none; }
.trend-summary { display: grid; gap: 5px; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(103, 214, 209, .25); }
.trend-summary h3 { margin: 0; color: #39e09b; font-size: 24px; }
.trend-summary p, .trend-summary small { margin: 0; color: #789ba0; font-size: 11px; line-height: 1.4; }
.trend-summary dl { display: grid; grid-template-columns: 1fr auto; gap: 5px 8px; margin: 3px 0 0; }
.trend-summary dt { color: #789ba0; font-size: 11px; }
.trend-summary dd { margin: 0; color: #efffff; font: 700 14px ui-monospace, Consolas, monospace; }
/* Keep each indicator window dense; the chart owns the available row height. */
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { min-height: 360px !important; grid-template-rows: 45fr 27fr 28fr; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 0; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .dash-indicator-window canvas { height: 100% !important; min-height: 0; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main .indicator-signal-row { min-height: 0; margin: 0; }
/* Compact chart stack: enough room for readable signals without unused vertical area. */
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { height: 620px; min-height: 620px !important; grid-template-rows: 387px 102px 131px; }
@media (max-width: 900px) {
  #appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-main { height: 520px; min-height: 520px !important; grid-template-rows: 325px 86px 109px; }
}
/* Right quote rail keeps only actionable live values and matches the chart stack height. */
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { height: 620px; max-height: 620px; min-height: 0; box-sizing: border-box; overflow: hidden; align-content: start; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-indicator-stack { grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr) !important; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar .trend-summary,
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar .order-book-depth,
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar .price-compare-label { display: none !important; }
#appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar .order-strength small { display: none; }
@media (max-width: 900px) {
  #appShell.dashboard-mode #dashboardMarketPanelLive .dash-trend-sidebar { height: 520px; max-height: 520px; }
}
.indicator-signal.positive { animation: marketSignalPositive 1.6s ease-in-out infinite; }
.indicator-signal.negative { animation: marketSignalNegative 1.1s ease-in-out infinite; }
.latency-warning { color: #ff9848 !important; animation: marketLatencyWarning 1s ease-in-out infinite; }
@keyframes marketLatencyWarning { 50% { opacity: .45; } }
@keyframes marketSignalPositive { 50% { box-shadow: 0 0 9px rgba(57, 224, 155, .55); } }
@keyframes marketSignalNegative { 50% { box-shadow: 0 0 10px rgba(255, 54, 54, .62); } }
