@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-base: #080d18;--bg-surface: #0f1729;--bg-elevated: #162036;--bg-hover: #1e2a45;--bg-sidebar: rgba(10, 16, 32, .72);--border: rgba(148, 163, 184, .1);--border-strong: rgba(148, 163, 184, .18);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #10b981;--accent-hover: #34d399;--accent-muted: rgba(16, 185, 129, .14);--accent-blue: #6366f1;--accent-blue-muted: rgba(99, 102, 241, .14);--accent-violet: #8b5cf6;--danger: #ef4444;--danger-muted: rgba(239, 68, 68, .12);--warning: #f59e0b;--warning-muted: rgba(245, 158, 11, .12);--glow-emerald: rgba(16, 185, 129, .18);--glow-indigo: rgba(99, 102, 241, .2);--glow-violet: rgba(139, 92, 246, .12);--glow-cyan: rgba(34, 211, 238, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-card: 0 8px 32px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .03) inset;--shadow-glow: 0 0 60px rgba(99, 102, 241, .08);--font-mono: "JetBrains Mono", ui-monospace, monospace;--sidebar-width: 260px;--mobile-topbar-h: 56px;--layout-breakpoint: 960px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background-color:var(--bg-base);background-image:radial-gradient(ellipse 90% 70% at 0% -10%,var(--glow-indigo) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 100% 0%,var(--glow-violet) 0%,transparent 50%),radial-gradient(ellipse 80% 50% at 100% 100%,var(--glow-emerald) 0%,transparent 45%),radial-gradient(ellipse 60% 40% at 20% 80%,var(--glow-cyan) 0%,transparent 50%),linear-gradient(180deg,#0c1222 0%,var(--bg-base) 40%,#060a14 100%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}.card{background:linear-gradient(155deg,#162036eb,#0f1729e0);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.35rem;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s,transform .2s}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card),var(--shadow-glow)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.75rem;gap:1rem}.page-header h2{font-size:1.625rem;font-weight:700;letter-spacing:-.02em}.page-header .page-subtitle{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem;font-weight:400}.btn{padding:.5625rem 1.125rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.8125rem;transition:all .18s ease;letter-spacing:.01em}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);color:#fff;width:100%;box-shadow:0 2px 8px #10b98140}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 16px #10b98159}.btn-sm{padding:.3125rem .625rem;font-size:.75rem;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border);margin-right:.25rem;width:auto}.btn-sm:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong)}.btn-sm.btn-primary{background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:#fff;border-color:transparent}.btn-danger{background:linear-gradient(180deg,#f87171,var(--danger));color:#fff}.btn-success{background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.badge{padding:.3125rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge-success{background:var(--accent-muted);color:var(--accent-hover);border:1px solid rgba(16,185,129,.25)}.badge-danger{background:var(--danger-muted);color:#f87171;border:1px solid rgba(239,68,68,.25)}.badge-warning{background:var(--warning-muted);color:var(--warning);border:1px solid rgba(245,158,11,.25)}.badge-muted{background:var(--bg-hover);color:var(--text-secondary)}.badge-buy{background:var(--accent-muted);color:var(--accent-hover);border:1px solid rgba(16,185,129,.2)}.badge-sell{background:var(--danger-muted);color:#f87171;border:1px solid rgba(239,68,68,.2)}.positive{color:var(--accent-hover)}.negative{color:#f87171}.alert{padding:.875rem 1rem;border-radius:var(--radius-sm);margin:.75rem 0;font-size:.875rem;border:1px solid transparent}.alert.error{background:var(--danger-muted);color:#fca5a5;border-color:#ef444433}.alert.success{background:var(--accent-muted);color:var(--accent-hover);border-color:#10b98133}.empty{color:var(--text-muted);padding:2rem 1rem;text-align:center;font-size:.875rem}.link{color:#818cf8;text-decoration:none;font-size:.8125rem;font-weight:500}.link:hover{text-decoration:underline;color:#a5b4fc}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 768px){.login-page{grid-template-columns:1fr}}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:3rem;background:radial-gradient(ellipse 90% 70% at 10% 20%,var(--glow-indigo) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 90% 80%,var(--glow-emerald) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 60% 40%,var(--glow-violet) 0%,transparent 45%),linear-gradient(160deg,#121a30,#0a1020,#080d18);border-right:1px solid var(--border);position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 30% 50%,black 10%,transparent 70%);mask-image:radial-gradient(ellipse at 30% 50%,black 10%,transparent 70%);pointer-events:none}.login-brand>*{position:relative;z-index:1}@media (max-width: 768px){.login-brand{display:none}}.login-brand .login-brand-logo{margin-bottom:2rem}.login-brand h2{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:1rem;max-width:360px}.login-brand p{color:var(--text-secondary);line-height:1.6;max-width:380px;font-size:.9375rem}.login-brand .feature-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem}.login-brand .feature-list li{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.875rem;list-style:none}.login-brand .feature-list li .feat-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent-hover);flex-shrink:0}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse 80% 60% at 80% 30%,var(--glow-indigo) 0%,transparent 50%),radial-gradient(ellipse 60% 50% at 20% 90%,var(--glow-emerald) 0%,transparent 45%),linear-gradient(180deg,#0a0f1a,#080d18)}.login-card{width:100%;max-width:400px;background:transparent;border:none;box-shadow:none;padding:0}.login-card .mobile-logo{display:none;margin-bottom:1.5rem}@media (max-width: 768px){.login-card .mobile-logo{display:flex}}.login-card h1{font-size:1.5rem;font-weight:700;margin-bottom:.375rem;letter-spacing:-.02em}.login-card .subtitle{color:var(--text-secondary);margin-bottom:1.75rem;font-size:.9375rem}.login-card .demo-hint{margin-top:1.25rem;font-size:.75rem;color:var(--text-muted);text-align:center;padding:.75rem;background:#0f172999;border-radius:var(--radius-sm);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-group{margin-bottom:1.125rem}.form-group label{display:block;font-size:.8125rem;margin-bottom:.375rem;color:var(--text-secondary);font-weight:500}.form-group input,.form-group select{width:100%;padding:.625rem .875rem;background:#0f1729b3;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;transition:border-color .15s,box-shadow .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.form-group input::placeholder,.form-group select::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #6366f126}.brand-lockup{display:flex;align-items:center;gap:.75rem;-webkit-user-select:none;user-select:none}.brand-lockup .brand-mark{flex-shrink:0;filter:drop-shadow(0 6px 16px rgba(245,158,11,.28))}.brand-lockup .brand-mark svg{display:block;width:100%;height:100%}.brand-lockup .brand-wordmark{display:flex;flex-direction:column;min-width:0}.brand-lockup .brand-name{font-weight:800;letter-spacing:-.045em;line-height:1;white-space:nowrap}.brand-lockup .brand-artha{color:var(--text-primary)}.brand-lockup .brand-astra{background:linear-gradient(135deg,#fbbf24,#d97706 42%,#6366f1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-lockup .brand-tagline{display:block;margin-top:5px;font-size:.5625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);line-height:1}.brand-lockup.brand-lockup--sm{gap:.625rem}.brand-lockup.brand-lockup--sm .brand-mark{width:34px;height:34px}.brand-lockup.brand-lockup--sm .brand-name{font-size:1.0625rem}.brand-lockup.brand-lockup--md{gap:.625rem}.brand-lockup.brand-lockup--md .brand-mark{width:38px;height:38px}.brand-lockup.brand-lockup--md .brand-name{font-size:1.0625rem}.brand-lockup.brand-lockup--md .brand-tagline{margin-top:3px;font-size:.5rem;letter-spacing:.12em}.brand-lockup.brand-lockup--lg{gap:.875rem}.brand-lockup.brand-lockup--lg .brand-mark{width:52px;height:52px;filter:drop-shadow(0 10px 28px rgba(99,102,241,.25))}.brand-lockup.brand-lockup--lg .brand-name{font-size:1.625rem}.brand-lockup.brand-lockup--lg .brand-tagline{margin-top:6px;font-size:.625rem}.app-shell{display:flex;min-height:100vh;background:transparent;position:relative}.app-shell:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(148,163,184,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.03) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,black 15%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,black 15%,transparent 75%);pointer-events:none;z-index:0}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#0e1426eb,#080d1ae0);-webkit-backdrop-filter:blur(28px) saturate(1.3);backdrop-filter:blur(28px) saturate(1.3);border-right:1px solid var(--border);padding:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:2;box-shadow:4px 0 32px #0003}.sidebar .sidebar-header{padding:.75rem .875rem .625rem;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.sidebar .sidebar-brand{display:block;padding:0 .125rem}.sidebar .sidebar-brand .brand-mark{filter:drop-shadow(0 4px 12px rgba(16,185,129,.18))}.sidebar .header-user-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:0;padding:0 .125rem}.sidebar .header-user-info{display:flex;align-items:center;gap:.625rem;min-width:0;flex:1}.sidebar .header-user-icon{width:28px;height:28px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.sidebar .header-user-icon svg{width:15px;height:15px}.sidebar .header-user-name{font-size:.8125rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;line-height:1.3}.sidebar .header-sign-out{flex-shrink:0;padding:.3125rem .625rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.6875rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.sidebar .header-sign-out:hover{color:#fca5a5;border-color:#ef444459;background:#ef444414}.sidebar .sidebar-body{flex:1;min-height:0;overflow-y:auto;padding:.625rem .875rem .75rem}.sidebar .sidebar-body::-webkit-scrollbar{width:4px}.sidebar .sidebar-body::-webkit-scrollbar-thumb{background:#94a3b826;border-radius:4px}.sidebar .sidebar-section-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:0 .625rem;margin-bottom:.5rem}.sidebar .sidebar-footer{flex-shrink:0;padding:1rem .875rem 1.125rem;border-top:1px solid var(--border);background:#060a1459;display:flex;flex-direction:column;gap:.625rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar nav a{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:10px;color:var(--text-secondary);text-decoration:none;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;border:1px solid transparent}.sidebar nav a .nav-icon-wrap{width:32px;height:32px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}.sidebar nav a .nav-icon{width:17px;height:17px;opacity:.75}.sidebar nav a .nav-label{flex:1;line-height:1.2}.sidebar nav a:hover{background:#ffffff0a;color:var(--text-primary)}.sidebar nav a:hover .nav-icon-wrap{background:#6366f11a;border-color:#6366f126}.sidebar nav a:hover .nav-icon{opacity:1}.sidebar nav a.active{background:linear-gradient(135deg,#6366f124,#10b98114);color:var(--text-primary);border-color:#6366f138;box-shadow:inset 3px 0 0 var(--accent-blue)}.sidebar nav a.active .nav-icon-wrap{background:#6366f12e;border-color:#6366f140}.sidebar nav a.active .nav-icon{opacity:1;color:var(--accent-hover)}.mobile-topbar,.sidebar-backdrop{display:none}.main-content{flex:1;padding:2rem 2.25rem;overflow-y:auto;max-width:1400px;position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{display:flex;flex-direction:column;gap:.625rem;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.6}.stat-card.stat-accent-blue:before{background:linear-gradient(90deg,var(--accent-blue),transparent)}.stat-card.stat-accent-warning:before{background:linear-gradient(90deg,var(--warning),transparent)}.stat-card.stat-accent-violet:before{background:linear-gradient(90deg,var(--accent-violet),transparent)}.stat-card .stat-header{display:flex;align-items:center;justify-content:space-between}.stat-card .stat-icon{width:32px;height:32px;border-radius:8px;background:var(--accent-muted);display:flex;align-items:center;justify-content:center;color:var(--accent-hover)}.stat-card .stat-icon.blue{background:var(--accent-blue-muted);color:#818cf8}.stat-card .stat-icon.violet{background:#8b5cf624;color:#a78bfa}.stat-card .stat-icon.warning{background:var(--warning-muted);color:var(--warning)}.stat-card .stat-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-card .stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-family:var(--font-mono)}.stat-card .stat-value.plan{font-size:1rem;font-family:Inter,sans-serif}.stat-card .stat-sub{display:block;margin-top:.35rem;font-size:.75rem;color:var(--text-muted)}.pips-highlight{margin-bottom:1.75rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#2563eb1f,#10b98114);border:1px solid rgba(59,130,246,.25)}.pips-highlight-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.pips-kicker{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#93c5fd;margin:0 0 .35rem}.pips-highlight h3{margin:0 0 .35rem;font-size:1.125rem}.pips-copy{margin:0;max-width:28rem;font-size:.8125rem;color:var(--text-secondary)}.pips-value-wrap{display:flex;align-items:baseline;gap:.5rem}.pips-value{font-size:2.5rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.03em;line-height:1}.pips-unit{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.pips-meta{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.25rem 2rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.pips-meta-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.pips-meta-sub{display:block;font-size:.6875rem;color:var(--text-muted);margin-top:.15rem}.performance-card{margin-bottom:1.25rem}.performance-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.performance-header h3{margin:0 0 .25rem}.range-toggle{display:flex;gap:.5rem}.performance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.perf-stat{background:#0f172a59;border:1px solid var(--border);border-radius:10px;padding:.75rem}.perf-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.perf-stat strong{font-size:1.125rem;font-family:var(--font-mono)}.performance-table td,.performance-table th{white-space:nowrap}.perf-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.perf-page-info{font-size:.75rem;color:var(--text-muted)}.perf-page-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.section h3{font-size:1rem;font-weight:600;letter-spacing:-.01em}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.125rem}.signal-list{display:flex;flex-direction:column;gap:.5rem}.signal-item{display:grid;grid-template-columns:88px 72px 1fr 72px;align-items:center;gap:1rem;padding:.875rem 1rem;background:#0f17298c;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;transition:border-color .15s,background .15s,box-shadow .15s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.signal-item:hover{border-color:#6366f140;background:#162036b3;box-shadow:0 4px 20px #6366f10f}.signal-item .signal-symbol{font-weight:700;font-family:var(--font-mono);font-size:.875rem}.signal-item .signal-direction{font-weight:700;font-size:.75rem;padding:.25rem .5rem;border-radius:6px;text-align:center;letter-spacing:.03em}.signal-item .signal-direction.buy{color:var(--accent-hover);background:var(--accent-muted)}.signal-item .signal-direction.sell{color:#f87171;background:var(--danger-muted)}.signal-item .signal-details{display:flex;gap:1.25rem;color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem}.signal-item .signal-confidence{text-align:right;color:#818cf8;font-weight:600;font-family:var(--font-mono)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#ffffff05}.data-table th{color:var(--text-muted);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;background:#0f1729cc}.data-table td{font-family:var(--font-mono);font-size:.8125rem}.data-table td strong{font-family:Inter,sans-serif}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.chart-controls select{padding:.4375rem .875rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8125rem}.chart-controls .btn-demo{width:auto;padding:.4375rem .875rem;background:var(--warning-muted);border:1px solid rgba(245,158,11,.25);color:var(--warning);border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;font-weight:600}.chart-controls .btn-demo.active{background:#f59e0b33;border-color:var(--warning)}.demo-banner{margin-bottom:1rem;padding:.875rem 1rem;background:var(--warning-muted);border:1px solid rgba(245,158,11,.2);color:var(--warning);font-size:.875rem;border-radius:var(--radius-sm)}.demo-tag{margin-left:.5rem;padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:700;background:#f59e0b33;vertical-align:middle}.chart-container{padding:0;overflow:hidden}.chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;padding:.625rem 1rem;border-bottom:1px solid var(--border);background:#0f1729d9;font-size:.75rem;color:var(--text-secondary)}.chart-toolbar strong{color:var(--text-primary);font-size:.875rem}.chart-toolbar .chart-toolbar-left{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.chart-toolbar .tf-tag{padding:.125rem .5rem;border-radius:4px;background:var(--bg-hover);font-weight:600;font-size:.6875rem}.chart-toolbar .live-dot{width:8px;height:8px;border-radius:50%;background:#64748b}.chart-toolbar .live-dot.pulse{background:#22c55e;box-shadow:0 0 #22c55e80;animation:live-pulse 1.5s infinite}.chart-toolbar .live-dot.sim{background:#f59e0b;animation:none}.chart-toolbar .live-prices{display:flex;gap:.75rem;font-family:ui-monospace,Cascadia Code,monospace}.chart-toolbar .live-prices .bid{color:#ef5350}.chart-toolbar .live-prices .ask{color:#26a69a}.chart-toolbar .live-prices .spread{color:var(--text-muted)}.chart-toolbar .chart-toolbar-ohlc{display:flex;flex-wrap:wrap;gap:.75rem;font-family:ui-monospace,Cascadia Code,monospace;color:var(--text-primary)}.chart-toolbar .chart-toolbar-ohlc b{font-weight:600;color:#e2e8f0}.chart-toolbar .chart-toolbar-hint{font-size:.6875rem;color:var(--text-muted);font-style:italic}@keyframes live-pulse{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.chart-el{width:100%;height:520px}.chart-stage{position:relative}.chart-live-price-tag{position:absolute;right:0;z-index:5;transform:translateY(-50%);pointer-events:none;display:flex;flex-direction:column;align-items:stretch;min-width:76px;font-family:var(--font-mono, ui-monospace, monospace);color:#fff;border-radius:2px;overflow:hidden;box-shadow:0 1px 4px #0f172a2e}.chart-live-price-tag.up{background:#26a69a}.chart-live-price-tag.down{background:#ef5350}.chart-live-price-tag .live-price-countdown{padding:2px 8px 1px;font-size:10px;font-weight:600;letter-spacing:.04em;text-align:center;line-height:1.25;border-bottom:1px solid rgba(255,255,255,.22)}.chart-live-price-tag .live-price-value{padding:3px 8px 4px;font-size:12px;font-weight:700;text-align:center;line-height:1.2;letter-spacing:.02em}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.875rem 1rem}.chart-legend .legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary)}.chart-legend .legend-swatch{width:14px;height:3px;border-radius:1px}.chart-legend .legend-swatch.legend-dashed{background:transparent!important;height:0;width:18px;border-top:2px dashed}.chart-legend .legend-swatch.legend-box{height:12px;width:18px;border-radius:2px;border:1px solid}.warn-banner{border-color:#f59e0b73;background:#f59e0b14;color:#fcd34d}.live-banner{border-color:#22c55e59;background:#22c55e0f;color:#86efac}.signals-overlay{margin-top:1rem}.signals-overlay .signal-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.signals-overlay .signal-stats .stat-pill{padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--bg-surface);border:1px solid var(--border)}.signals-overlay .signal-stats .stat-pill.win{color:#66bb6a;border-color:#66bb6a73}.signals-overlay .signal-stats .stat-pill.loss{color:#ef5350;border-color:#ef535073}.signals-overlay .signal-stats .stat-pill.open{color:#ffb74d;border-color:#ffb74d73}.signals-overlay .signal-stats .stat-pill.rate{color:var(--accent-hover)}.signals-overlay .outcome-badge{margin-left:.5rem;padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:700}.signals-overlay .outcome-badge.win{background:#66bb6a33;color:#66bb6a}.signals-overlay .outcome-badge.loss{background:#ef535033;color:#ef5350}.signals-overlay .outcome-badge.open{background:#ffb74d33;color:#ffb74d}.signals-overlay .outcome-badge.expired{background:#9e9e9e33;color:#9e9e9e}.signals-overlay .signal-tag{padding:.5rem .75rem;margin:.25rem 0;border-radius:var(--radius-sm);font-size:.8125rem}.signals-overlay .signal-tag.buy{background:var(--accent-muted);color:var(--accent-hover)}.signals-overlay .signal-tag.sell{background:var(--danger-muted);color:#f87171}.signals-overlay .signal-tag.trade-open{border-left:3px solid #e040fb}.signals-overlay .signal-tag.trade-closed{opacity:.85;border-left:3px solid #9e9e9e}.signals-overlay .signal-tag .level-tag{margin-left:.5rem;font-size:.6875rem;opacity:.85}.signals-overlay .chart-hint{margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.journal-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.journal-form input,.journal-form select{padding:.4375rem .625rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.journal-form .wide{flex:1;min-width:200px}.admin-nav{display:flex;gap:.5rem;margin-bottom:1.75rem;padding:.375rem;background:#0f172999;border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-nav a{color:var(--text-secondary);text-decoration:none;padding:.4375rem 1rem;border-radius:6px;font-size:.8125rem;font-weight:500}.admin-nav a.active,.admin-nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav a.active{color:var(--accent-hover)}.kill-switch-panel{margin-top:1.75rem}.kill-switch-panel h3{font-size:1.0625rem;margin-bottom:.25rem}.kill-switch-panel p{color:var(--text-secondary);margin:.5rem 0 1rem;font-size:.875rem}.kill-switch-panel .kill-switch-status{margin-bottom:1rem;font-size:.9375rem}.kill-switch-panel .kill-switch-actions{display:flex;gap:.75rem;flex-wrap:wrap}.kill-switch-panel .text-success{color:var(--accent-hover)}.kill-switch-panel .text-danger{color:#f87171}.admin-users-trades{margin-bottom:1.75rem}.admin-users-trades .hint,.admin-users-trades .sub-text{font-size:.75rem;color:var(--text-muted)}.admin-users-trades .sub-text{margin-top:.125rem}.admin-add-user{margin-bottom:1.75rem}.admin-add-user .section-header{margin-bottom:1rem}.admin-add-user .section-header h3{margin:0 0 .25rem;font-size:1rem}.admin-add-user .section-header .hint{margin:0;font-size:.8125rem;color:var(--text-secondary)}.admin-add-user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;align-items:end}.admin-add-user-form .form-group{margin:0}.admin-add-user-form .form-group select{width:100%;padding:.625rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#0f172980;color:var(--text-primary);font-size:.875rem}.admin-add-user-form .btn-primary{grid-column:1/-1;justify-self:start;min-width:140px}@media (max-width: 720px){.admin-add-user-form{grid-template-columns:1fr}}.mt-status{margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.mt5-panel{margin-bottom:1.75rem}.mt5-panel h3{font-size:1rem;font-weight:700;margin-bottom:.25rem;letter-spacing:-.01em}.mt5-panel .hint{color:var(--text-secondary);font-size:.8125rem;margin:0;line-height:1.5;max-width:520px}.mt5-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mt5-panel-intro{display:flex;align-items:flex-start;gap:.875rem;min-width:0}.mt5-panel-icon{width:42px;height:42px;border-radius:11px;background:#6366f11f;border:1px solid rgba(99,102,241,.2);display:flex;align-items:center;justify-content:center;color:#818cf8;flex-shrink:0}.mt5-panel-icon svg{width:22px;height:22px}.mt5-connection-badge{flex-shrink:0;margin-top:.125rem}.mt5-status-note{padding:.75rem .875rem;margin-bottom:1.125rem;background:#0f17298c;border:1px solid var(--border);border-radius:var(--radius-sm)}.mt5-status-note p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.45}.mt5-status-note .mt5-account-meta{display:block;margin-top:.375rem;font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.mt5-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1rem;margin-bottom:0}@media (max-width: 640px){.mt5-form{grid-template-columns:1fr}}.mt5-form .mt5-field{display:flex;flex-direction:column;gap:.375rem}.mt5-form .mt5-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.mt5-form .mt5-field input{width:100%;padding:.625rem .875rem;background:#0f172999;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;transition:border-color .15s,box-shadow .15s}.mt5-form .mt5-field input::placeholder{color:var(--text-muted)}.mt5-form .mt5-field input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #6366f11f}.mt5-form .mt5-field-wide{grid-column:1/-1}.mt5-form .mt5-form-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.625rem;margin-top:.25rem;padding-top:.25rem}.mt5-form .mt5-btn-connect,.mt5-form .mt5-btn-test{width:auto;flex:0 0 auto;min-height:2.5rem;padding:.5625rem 1.125rem;margin:0}.mt5-form .mt5-btn-connect{min-width:10.5rem}.mt5-form .mt5-btn-test{min-width:9.5rem}.mt5-disconnect-row{display:flex;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.mt5-disconnect-row .mt5-btn-disconnect{min-height:2.5rem;min-width:10.5rem;padding:.5625rem 1.25rem;background:transparent;color:#f87171;border:1px solid #ef5350;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.01em;transition:background .15s,border-color .15s,color .15s}.mt5-disconnect-row .mt5-btn-disconnect:hover:not(:disabled){background:#ef53501a;border-color:#f87171;color:#fca5a5}.mt5-disconnect-row .mt5-btn-disconnect:disabled{opacity:.55;cursor:not-allowed}.mt5-settings{margin-top:1.125rem;padding-top:1.125rem;border-top:1px solid var(--border)}.mt5-settings-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.lot-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.lot-row input{width:7rem;padding:.5625rem .75rem;background:#0f172999;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-family:var(--font-mono)}.lot-row input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #6366f11f}.lot-row .lot-hint{font-size:.75rem;color:var(--text-muted);line-height:1.4}.mt5-alert{margin-top:1rem;margin-bottom:0}.trades-history-header{margin-bottom:1rem}.trades-history-header h3{font-size:1rem;font-weight:600;letter-spacing:-.01em}.mt5-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.125rem;margin-bottom:1.25rem;border-radius:var(--radius-md);font-size:.875rem}.mt5-banner.warning{background:var(--warning-muted);border:1px solid rgba(245,158,11,.2);color:var(--warning)}.mt5-banner.ok{background:var(--accent-muted);border:1px solid rgba(16,185,129,.2);color:var(--accent-hover)}.mt5-banner p{line-height:1.55}.mt5-banner .btn-link{flex-shrink:0;padding:.4375rem .875rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-blue);text-decoration:none;font-size:.8125rem;font-weight:500}.mt5-banner .btn-link:hover{background:var(--bg-hover)}.sidebar-mt5{padding:.75rem .875rem;background:#16203673;border:1px solid var(--border);border-radius:10px;font-size:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s,background .15s}.sidebar-mt5.is-connected{border-color:#10b98138;background:#10b9810f}.sidebar-mt5.is-disconnected{border-color:#f59e0b38;background:#f59e0b0d}.sidebar-mt5 .mt5-status-row{display:flex;align-items:flex-start;gap:.625rem}.sidebar-mt5 .mt5-status-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-mt5 .sidebar-mt5-label{color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.5625rem;line-height:1.2}.sidebar-mt5 .mt5-status-text{font-size:.8125rem;font-weight:600;color:var(--text-primary);line-height:1.2}.sidebar-mt5 .sidebar-mt5-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-top:.35rem;flex-shrink:0}.sidebar-mt5 .sidebar-mt5-dot.connected{background:var(--accent-hover);box-shadow:0 0 8px #10b9818c}.sidebar-mt5 .sidebar-mt5-dot.disconnected{background:var(--warning);box-shadow:0 0 8px #f59e0b66}.sidebar-mt5 .mt5-action-link{display:inline-block;margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--border);width:100%;color:#818cf8;text-decoration:none;font-weight:600;font-size:.75rem;transition:color .15s}.sidebar-mt5 .mt5-action-link:hover{color:#a5b4fc;text-decoration:none}.signals-table tbody tr.signal-row{cursor:pointer;transition:background .15s}.signals-table tbody tr.signal-row:hover{background:#6366f10f}.signals-table tbody tr.signal-row.expanded{background:#6366f11a}.signals-table tbody tr.signal-row.expanded td{border-bottom-color:transparent}.signal-symbol-cell{display:inline-flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif}.row-expand-icon{display:inline-block;font-size:.75rem;color:var(--text-muted);transition:transform .2s ease,color .15s;flex-shrink:0}.row-expand-icon.open{transform:rotate(90deg);color:#818cf8}.signals-table tbody tr.insight-row td{padding:0 1rem .875rem;border-bottom:1px solid var(--border);font-family:Inter,sans-serif}.pattern-tag{display:inline-block;max-width:11rem;padding:.15rem .45rem;font-size:.6875rem;font-weight:600;line-height:1.3;color:#c4b5fd;background:#8b5cf61f;border:1px solid rgba(139,92,246,.25);border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0 .25rem;border-top:1px solid var(--border);margin-top:.75rem}.pagination-bar .page-info{font-size:.8125rem;color:var(--text-muted)}.signals-page .page-header{align-items:flex-start;gap:1rem}.signals-page .signals-chart-link{flex-shrink:0;margin-top:.25rem}.signals-alerts{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem}.signals-alerts .mt5-banner,.signals-alerts .news-risk-banner{margin-bottom:0}.signals-card{padding:0;overflow:hidden}.signals-card .signals-card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border);background:#0f172973}.signals-card .signals-card-header h3{margin:0 0 .25rem;font-size:1rem;font-weight:700}.signals-card .signals-card-hint{margin:0;font-size:.75rem;color:var(--text-muted)}.signals-summary{display:flex;flex-wrap:wrap;gap:.5rem}.signals-summary .summary-pill{display:flex;flex-direction:column;align-items:center;min-width:3.5rem;padding:.375rem .75rem;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid var(--border)}.signals-summary .summary-pill strong{font-size:1.0625rem;font-family:var(--font-mono);line-height:1.2}.signals-summary .summary-pill.win strong{color:#66bb6a}.signals-summary .summary-pill.loss strong{color:#ef5350}.signals-summary .summary-pill.muted strong{color:var(--text-muted)}.signals-summary .summary-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.signals-flash{margin:0;padding:.75rem 1.25rem;font-size:.8125rem;border-bottom:1px solid var(--border)}.signals-flash.success{background:#26a69a1a;color:#80cbc4}.signals-flash.error{background:var(--danger-muted);color:#fca5a5}.signals-loading{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:3rem 1.5rem;color:var(--text-muted);font-size:.875rem}.signals-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-blue);animation:signals-pulse 1s ease-in-out infinite}@keyframes signals-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.signals-empty{padding:2.5rem 1.5rem;text-align:center}.signals-empty .empty-title{margin:0 0 .375rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.signals-empty .empty{margin:0;max-width:28rem;margin-inline:auto}.signals-card .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.signals-table{min-width:52rem}.signals-table th,.signals-table td{vertical-align:middle}.signals-table .col-setup{min-width:8.5rem}.signals-table .col-levels{min-width:7.5rem}.signals-table .col-targets{min-width:11rem}.signals-table .col-analysis{min-width:9rem}.signals-table .col-status{min-width:6.5rem}.signals-table .col-time{min-width:7rem;white-space:nowrap}.signals-table .col-action{width:6.5rem;text-align:right}.signals-table thead th{position:sticky;top:0;z-index:1}.setup-cell{display:flex;align-items:flex-start;gap:.5rem}.setup-main{display:flex;flex-direction:column;gap:.375rem;min-width:0}.setup-top{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.setup-symbol{font-family:Inter,sans-serif;font-size:.9375rem;letter-spacing:.01em}.signals-table .tf-tag{padding:.1rem .4rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#ffffff0d;border:1px solid var(--border);border-radius:4px;font-family:Inter,sans-serif}.direction-badge{align-self:flex-start;font-size:.6875rem}.level-stack{display:flex;flex-direction:column;gap:.25rem}.level-line{display:flex;align-items:baseline;gap:.5rem;font-size:.75rem}.level-line.sl .level-val{color:#f87171}.level-key{flex-shrink:0;width:2.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-family:Inter,sans-serif}.level-val{font-family:var(--font-mono);font-size:.8125rem}.tp-grid{display:flex;flex-direction:column;gap:.2rem}.tp-row{display:grid;grid-template-columns:1.75rem 2rem 1fr;align-items:center;gap:.375rem;font-size:.75rem}.tp-badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .25rem;border-radius:3px;font-size:.625rem;font-weight:800;font-family:Inter,sans-serif;letter-spacing:.02em}.tp-badge.t1{color:#a5d6a7;background:#4caf5026;border:1px solid rgba(76,175,80,.3)}.tp-badge.t2{color:#80cbc4;background:#26a69a1f;border:1px solid rgba(38,166,154,.28)}.tp-badge.t3{color:#64b5f6;background:#2962ff1f;border:1px solid rgba(41,98,255,.28)}.tp-rr{font-size:.625rem;font-weight:600;color:var(--text-muted);font-family:Inter,sans-serif}.tp-price{font-family:var(--font-mono);font-size:.75rem;text-align:right}.analysis-cell{display:flex;flex-direction:column;gap:.375rem;max-width:11rem}.analysis-empty{font-size:.75rem;color:var(--text-muted);font-family:Inter,sans-serif}.confidence-row{display:flex;align-items:center;gap:.5rem}.confidence-track{flex:1;height:4px;border-radius:999px;background:#ffffff14;overflow:hidden;min-width:3rem}.confidence-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#818cf8);transition:width .3s ease}.confidence-pct{flex-shrink:0;font-size:.6875rem;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);min-width:2.25rem;text-align:right}.status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem}.status-cell .outcome-badge{margin-left:0}.status-cell .news-risk-pill{font-size:.625rem}.time-cell{font-size:.75rem;color:var(--text-muted);font-family:Inter,sans-serif;line-height:1.35}.execute-btn{min-width:5.25rem;white-space:nowrap}.signals-card .pagination-bar{padding:1rem 1.25rem 1.25rem}.ai-insight-panel{padding:0 .25rem .5rem}.text-muted{color:var(--text-muted)}@media (max-width: 768px){.signals-card .signals-card-header{flex-direction:column}.signals-summary{width:100%;justify-content:space-between}.signals-summary .summary-pill{flex:1;min-width:0}}.ai-insight{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;padding:.75rem 1rem;margin-bottom:.25rem;background:linear-gradient(135deg,#6366f114,#10b9810d);border:1px solid rgba(99,102,241,.18);border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ai-insight.ai-error{border-color:#ef444433;background:var(--danger-muted);color:#fca5a5}.ai-badge{flex-shrink:0;padding:.2rem .5rem;border-radius:4px;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));color:#fff}.ai-badge.local{background:linear-gradient(135deg,#64748b,#475569)}.ai-sentiment{flex-shrink:0;padding:.15rem .45rem;border-radius:999px;font-size:.625rem;font-weight:700;text-transform:uppercase;background:var(--bg-hover);color:var(--text-muted)}.ai-sentiment.bullish{background:var(--accent-muted);color:var(--accent-hover)}.ai-sentiment.bearish{background:var(--danger-muted);color:#f87171}.ai-summary{flex:1 1 100%;margin:0;color:var(--text-secondary)}.ai-risk{flex:1 1 100%;margin:0;font-size:.75rem;color:var(--text-muted);font-style:italic}.ai-loading{color:var(--text-muted);font-size:.8125rem}.card:has(>.data-table),.card:has(>table.data-table){overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:36rem}@media (max-width: 1200px){.page-header{flex-wrap:wrap}.chart-controls{flex-wrap:wrap;width:100%}}@media (max-width: 960px){.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:fixed;top:0;left:0;right:0;height:var(--mobile-topbar-h);padding:0 .875rem;background:#0a1020f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:90}.menu-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:#ffffff0a;color:var(--text-primary);cursor:pointer;flex-shrink:0}.menu-toggle svg{width:20px;height:20px}.mobile-brand{min-width:0;flex:1}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:95;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--sidebar-width),88vw);max-width:300px;height:100vh;height:100dvh;transform:translate(-105%);transition:transform .28s ease;z-index:100;box-shadow:8px 0 40px #00000073}.sidebar.open{transform:translate(0)}.app-shell.sidebar-open{overflow:hidden;height:100vh;height:100dvh}.main-content{width:100%;max-width:none;min-width:0;padding:1rem;padding-top:calc(var(--mobile-topbar-h) + 1rem)}.page-header{flex-direction:column;align-items:stretch;margin-bottom:1.25rem;gap:.75rem}.page-header h2{font-size:1.375rem}.card{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-value{font-size:1.5rem}.mt5-banner{flex-direction:column;align-items:stretch;gap:.75rem}.mt5-banner .btn-link{align-self:flex-start}.mt5-panel-head{flex-direction:column;align-items:stretch;gap:.75rem}.mt5-connection-badge{align-self:flex-start}.mt5-form{grid-template-columns:1fr}.mt5-form .mt5-form-actions{flex-direction:column;align-items:stretch}.mt5-form .mt5-btn-connect,.mt5-form .mt5-btn-test{width:100%;min-width:0}.mt5-disconnect-row{justify-content:stretch}.mt5-disconnect-row .mt5-btn-disconnect{width:100%;min-width:0}.lot-row{flex-direction:column;align-items:stretch}.lot-row input,.chart-controls{width:100%}.chart-controls select,.chart-controls .btn-demo{flex:1 1 auto;min-width:0}.chart-el{height:min(55vh,420px);min-height:280px}.admin-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.signal-item{grid-template-columns:1fr 1fr;gap:.5rem}.signal-item .signal-details{grid-column:1/-1;flex-wrap:wrap;gap:.5rem}.signal-item .signal-confidence{text-align:left}.kill-switch-actions{flex-direction:column}.kill-switch-actions .btn{width:100%}.journal-form{flex-direction:column}.journal-form input,.journal-form select,.journal-form .wide{width:100%;min-width:0}.login-page{grid-template-columns:1fr}.login-form-panel{min-height:100vh;padding:1.5rem 1.25rem 1.25rem}.login-card{max-width:none}}@media (max-width: 480px){.main-content{padding:.75rem;padding-top:calc(var(--mobile-topbar-h) + .75rem)}.page-header h2{font-size:1.25rem}.data-table{min-width:32rem;font-size:.75rem}.data-table th,.data-table td{padding:.625rem .5rem}.header-sign-out{padding:.25rem .5rem;font-size:.625rem}.brand-lockup--sm .brand-name{font-size:.9375rem}}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.75rem}.portfolio-summary{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}.signal-list.compact .signal-item{padding:.5rem 0}.news-risk-pill{display:inline-flex;align-items:center;padding:.125rem .45rem;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#f59e0b29;color:#fbbf24}.news-risk-pill.high{background:#ef444429;color:#f87171}.news-risk-pill.medium{background:#f59e0b29;color:#fbbf24}.news-risk-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;border-left:4px solid #f59e0b}.news-risk-banner.high{border-left-color:#ef4444}.news-risk-banner.medium{border-left-color:#f59e0b}.dashboard-news-banner{margin-bottom:1rem}.market-top-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.market-split{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.usd-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem}.meter-list{display:flex;flex-direction:column;gap:.5rem}.meter-row{display:grid;grid-template-columns:42px 1fr 40px;gap:.5rem;align-items:center}.meter-code{font-weight:700;font-size:.75rem;font-family:var(--font-mono)}.meter-code.usd{color:#93c5fd}.meter-bar-track{height:8px;border-radius:999px;background:#94a3b82e;overflow:hidden}.meter-bar-fill{height:100%;border-radius:999px;background:#64748b}.meter-bar-fill.strong{background:#22c55e}.meter-bar-fill.weak{background:#ef4444}.meter-score{font-size:.75rem;font-family:var(--font-mono);text-align:right;color:var(--text-muted)}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.news-list,.calendar-list{display:flex;flex-direction:column;gap:.75rem;max-height:28rem;overflow-y:auto}.news-item,.calendar-item{display:block;padding:.75rem;border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none;background:#0f172a40}.news-item:hover{border-color:#3b82f666}.news-title,.calendar-title{font-weight:600;font-size:.875rem;margin-bottom:.35rem}.news-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.6875rem;color:var(--text-muted)}.news-summary{margin:.35rem 0 0;font-size:.75rem;color:var(--text-secondary)}.news-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.calendar-item.high{border-left:3px solid #ef4444}.calendar-item.medium{border-left:3px solid #f59e0b}.calendar-top{display:flex;justify-content:space-between;margin-bottom:.25rem}.impact-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.calendar-when{font-size:.6875rem;color:#93c5fd;font-weight:600}@media (max-width: 900px){.market-top-grid,.market-split{grid-template-columns:1fr}}.signal-toast-stack{position:fixed;top:1rem;right:1rem;z-index:1200;display:flex;flex-direction:column;gap:.75rem;width:min(22rem,100vw - 1.5rem);pointer-events:none}.signal-toast{pointer-events:auto;background:#0f172af5;border:1px solid var(--border);border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 12px 40px #00000059;overflow:hidden;animation:signal-toast-in .28s ease}.signal-toast.buy{border-left-color:#22c55e}.signal-toast.sell{border-left-color:#ef4444}.signal-toast-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem 0}.signal-toast-badge{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#93c5fd}.signal-toast.buy .signal-toast-badge{color:#86efac}.signal-toast.sell .signal-toast-badge{color:#fca5a5}.signal-toast-close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:.125rem .25rem}.signal-toast-close:hover{color:var(--text-primary)}.signal-toast-body{display:block;width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:.375rem .75rem .75rem;cursor:pointer}.signal-toast-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.signal-toast-title strong{font-size:.9375rem}.signal-toast-dir{font-size:.75rem;font-weight:700}.signal-toast.buy .signal-toast-dir{color:#22c55e}.signal-toast.sell .signal-toast-dir{color:#ef4444}.signal-toast-tf{margin-left:auto;font-size:.6875rem;color:var(--text-muted);font-weight:600}.signal-toast-prices{display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-family:ui-monospace,Cascadia Code,monospace;font-size:.6875rem;color:var(--text-secondary)}.signal-toast-meta{margin-top:.375rem;font-size:.6875rem;color:var(--text-muted)}@keyframes signal-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.signal-toast-stack{top:calc(var(--mobile-topbar-h, 3.25rem) + .5rem);right:.75rem;left:.75rem;width:auto}}.dash-signal-list{display:flex;flex-direction:column;gap:.625rem}.dash-signal-card{position:relative;padding:.875rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#0f17298c;transition:border-color .15s,box-shadow .15s}.dash-signal-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--text-muted);opacity:.35}.dash-signal-card.buy:before{background:var(--accent-hover);opacity:1}.dash-signal-card.sell:before{background:#f87171;opacity:1}.dash-signal-card:hover{border-color:#6366f138;box-shadow:0 4px 24px #0000002e}.dash-signal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.dash-signal-identity{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}.dash-signal-symbol{font-size:.9375rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em}.dash-signal-tf{padding:.15rem .5rem;border-radius:999px;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:#6366f124;border:1px solid rgba(99,102,241,.28)}.dash-direction-pill{flex-shrink:0;padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:800;letter-spacing:.05em}.dash-direction-pill.buy{color:#6ee7b7;background:#10b9811f;border:1px solid rgba(16,185,129,.28)}.dash-direction-pill.sell{color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.28)}.outcome-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.outcome-badge.win{color:#86efac;background:#22c55e1f;border:1px solid rgba(34,197,94,.28)}.outcome-badge.loss{color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.28)}.outcome-badge.open{color:#fcd34d;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28)}.outcome-badge.expired{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.22)}.dash-signal-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dash-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.dash-level-grid--inline{margin-top:.625rem}.dash-level-item{padding:.5rem .625rem;border-radius:8px;background:#0003;border:1px solid rgba(255,255,255,.04)}.dash-level-item.sl .dash-level-value{color:#f87171}.dash-level-item.tp .dash-level-value{color:#6ee7b7}.dash-level-label{display:block;margin-bottom:.2rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.dash-level-value{display:block;font-family:var(--font-mono);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.dash-signal-foot{margin-top:.625rem}.dash-signal-card--row{display:grid;grid-template-columns:1fr auto;gap:1rem 1.5rem;align-items:start;padding:1rem 1.125rem}.dash-signal-pattern{margin:.25rem 0 0;font-size:.75rem;color:#c4b5fd;line-height:1.35}.dash-signal-side{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:7.5rem}.dash-confidence{text-align:right}.dash-confidence-val{display:block;font-size:1.25rem;font-weight:700;font-family:var(--font-mono);color:#818cf8;line-height:1.1}.dash-confidence-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dash-signal-time{font-size:.6875rem;color:var(--text-muted);text-align:right;line-height:1.35;max-width:10rem}.dash-latest-section{margin-top:0}.dash-signal-list--wide{gap:.75rem}.signal-feed{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem 1.25rem}.signal-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:#0f1729a6;overflow:hidden;transition:border-color .15s,box-shadow .15s}.signal-card.buy{--signal-accent: #34d399}.signal-card.sell{--signal-accent: #f87171}.signal-card:hover{border-color:#6366f140;box-shadow:0 8px 32px #00000038}.signal-card.expanded{border-color:#6366f166;box-shadow:0 8px 36px #6366f11f}.signal-card-body{display:flex;cursor:pointer}.signal-card-accent{width:4px;flex-shrink:0;background:var(--signal-accent, var(--text-muted));opacity:.85}.signal-card-content{flex:1;min-width:0;padding:1rem 1.125rem}.signal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.875rem}.signal-card-setup{min-width:0}.signal-card-symbol-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.signal-card-symbol{font-size:1.0625rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em}.signal-card-tf{padding:.2rem .55rem;border-radius:999px;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:#6366f124;border:1px solid rgba(99,102,241,.28)}.signal-card-strategy{padding:.2rem .55rem;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.04em;color:#fcd34d;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28)}.signal-card-pattern-tag{padding:.2rem .55rem;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.04em;color:#6ee7b7;background:#10b9811f;border:1px solid rgba(16,185,129,.28)}.signal-card-pattern{margin:.375rem 0 0;font-size:.8125rem;color:#c4b5fd;line-height:1.4}.signal-card-pattern.muted{color:var(--text-muted)}.signal-card-status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}.signal-card-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-bottom:.875rem}.signal-level-block{padding:.625rem .75rem;border-radius:10px;background:#00000038;border:1px solid rgba(255,255,255,.05)}.signal-level-block.entry .signal-level-val{color:var(--text-primary)}.signal-level-block.sl .signal-level-val{color:#f87171}.signal-level-block.tp .signal-level-val{color:#6ee7b7}.signal-level-key{display:block;margin-bottom:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.signal-level-key em{font-style:normal;font-weight:600;opacity:.75;margin-left:.15rem}.signal-level-val{display:block;font-family:var(--font-mono);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.signal-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.875rem;border-top:1px solid rgba(255,255,255,.06)}.signal-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;min-width:0}.signal-confidence-inline{display:flex;align-items:center;gap:.5rem;min-width:7rem}.signal-confidence-inline .confidence-track{flex:1;height:5px;min-width:4rem}.signal-confidence-inline span{font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:#818cf8;min-width:2.5rem}.signal-card-time{font-size:.75rem;color:var(--text-muted)}.signal-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.signal-card-insight{border-top:1px solid var(--border);background:#00000026}.signal-card-insight .ai-insight-panel{margin:0;border:none;border-radius:0;background:transparent}.signals-card-title h3{margin:0 0 .2rem}.signals-card-sub{margin:0;font-size:.75rem;color:var(--text-muted)}.signals-summary{display:flex;flex-wrap:wrap;gap:.625rem}.signals-summary .summary-stat{display:flex;flex-direction:column;align-items:center;min-width:4rem;padding:.5rem .875rem;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.signals-summary .summary-stat strong{font-size:1.125rem;font-family:var(--font-mono);line-height:1.2}.signals-summary .summary-stat span{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.signals-summary .summary-stat.win strong{color:#66bb6a}.signals-summary .summary-stat.loss strong{color:#ef5350}.signals-summary .summary-stat.muted strong{color:var(--text-secondary)}@media (max-width: 900px){.dash-level-grid,.signal-card-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-signal-card--row{grid-template-columns:1fr}.dash-signal-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-width:0}.dash-confidence{text-align:left}.dash-signal-time{text-align:left;max-width:none}}@media (max-width: 640px){.dash-level-grid,.signal-card-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-card-header{flex-direction:column}.signal-card-status{flex-direction:row;align-items:center;width:100%}.signal-card-footer{flex-direction:column;align-items:stretch}.signal-card-actions{width:100%}.signal-card-actions .execute-btn{flex:1}}
