/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;background:linear-gradient(135deg,#0f172a,#1e293b);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app{min-height:100vh}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#0f172acc;border-bottom:1px solid #94a3b81a;padding:1.5rem 2rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.header h1{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700}.status-indicators{background:#1e293b99;border:1px solid #94a3b833;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.status-dot{border-radius:50%;width:10px;height:10px;animation:2s infinite pulse}.status-dot.connected{background:#10b981;box-shadow:0 0 10px #10b98180}.status-dot.disconnected{background:#ef4444;box-shadow:0 0 10px #ef444480}@keyframes pulse{50%{opacity:.5}}.container{max-width:1400px;margin:0 auto;padding:2rem}.controls{gap:1rem;margin-bottom:2rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #3b82f64d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#e2e8f0;background:#1e293b99;border:1px solid #94a3b833}.btn-secondary:hover{background:#1e293bcc;border-color:#94a3b866}.system-status{background:#1e293b66;border:1px solid #94a3b833;border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.system-status h3{color:#60a5fa;margin-bottom:1rem;font-size:1.25rem}.status-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.status-item{background:#0f172a80;border:1px solid #94a3b81a;border-radius:.5rem;justify-content:space-between;padding:.75rem;display:flex}.status-item span{color:#94a3b8}.status-item strong{color:#10b981}.signals-section h2{color:#60a5fa;margin-bottom:1.5rem;font-size:1.5rem}.signals-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.empty-state{text-align:center;background:#1e293b66;border:2px dashed #94a3b833;border-radius:1rem;grid-column:1/-1;padding:4rem 2rem}.empty-state p{color:#94a3b8;font-size:1.1rem}.signal-card{background:#1e293b99;border:1px solid #94a3b833;border-radius:1rem;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden}.signal-card:before{content:"";opacity:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.signal-card:hover{border-color:#94a3b866;transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.signal-card:hover:before{opacity:1}.signal-header{border-bottom:1px solid #94a3b81a;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.signal-asset{color:#e2e8f0;font-size:1.25rem;font-weight:700}.signal-direction{background:#0000004d;border-radius:.5rem;padding:.25rem .75rem;font-size:1rem;font-weight:700}.signal-body{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.signal-metric{justify-content:space-between;align-items:center;display:flex}.metric-label{color:#94a3b8;font-size:.9rem}.metric-value{color:#e2e8f0;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.confidence-badge{color:#60a5fa;background:#3b82f633;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem}.status-badge{border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.status-active{color:#10b981;background:#10b98133}.status-closed{color:#94a3b8;background:#94a3b833}.status-cancelled{color:#ef4444;background:#ef444433}.signal-footer{border-top:1px solid #94a3b81a;padding-top:.75rem}.signal-timestamp{color:#64748b;font-size:.85rem}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.controls{flex-direction:column}.signals-grid{grid-template-columns:1fr}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{color:#f8fafc;box-sizing:border-box;background-color:#1e293b;border:1px solid #ffffff1a;border-radius:12px;width:900px;max-width:95vw;max-height:90vh;padding:1.5rem 2rem;overflow-y:auto;box-shadow:0 20px 25px -5px #000000b3,0 10px 10px -5px #0000004d}.details-card{background-color:#0f172a;border:1px solid #ffffff0d;border-radius:8px;padding:1.25rem}.gray-badge{color:#94a3b8;background-color:#1e293bcc;border:1px solid #94a3b833;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.gray-text{color:#94a3b8}.card-header-title{color:#f8fafc;border-bottom:1px solid #ffffff0d;margin-top:0;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.signal-circle{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:700;display:flex}.signal-circle.bullish{background-color:#475569}.signal-circle.bearish{background-color:#64748b}.mini-progress-bar{background-color:#ffffff1a;border-radius:3px;width:40px;height:6px;overflow:hidden}.mini-progress-fill{border-radius:3px;height:100%}.border-row{border-bottom:1px solid #ffffff0d;padding:.75rem 0}.pt-3{padding-top:.75rem}.mb-4{margin-bottom:1rem}.explain-list{color:#e2e8f0;margin:0;padding-left:1.5rem}.explain-list li{margin-bottom:.5rem}.signal-row{border-bottom:1px solid #ffffff0d;align-items:center;padding:.5rem 0;display:flex}.signal-row.border-none{border-bottom:none}.stat-bar-container{background-color:#ffffff0d;border-radius:4px;flex:1;height:24px;margin-left:1rem;display:flex;overflow:hidden}.stat-bar-container.compact{border-radius:2px;height:16px}.stat-bar-fill{justify-content:center;align-items:center;height:100%;display:flex}.stat-bar-fill.dark{color:#fff;background-color:#3b82f6}.stat-bar-fill.light{color:#fff;background-color:#64748b}.stat-label{font-size:.7rem;font-weight:500}.shap-row{align-items:center;padding:.4rem 0;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.ui-container{padding:2rem;font-family:Inter,-apple-system,sans-serif;color:#f8fafc;background:radial-gradient(circle at top left,#1e293b,#0f172a);min-height:100vh}.glass-panel{background:#1e293b99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0003;padding:1.5rem;margin-bottom:2rem;transition:transform .3s ease,box-shadow .3s ease}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000004d;border-color:#fff3}.glass-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1rem}.glass-title{font-size:1.25rem;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:.5rem}.stat-card{background:#0f172a66;border-radius:12px;padding:1rem 1.5rem;display:flex;flex-direction:column;align-items:center;border:1px solid rgba(255,255,255,.05)}.stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-label{font-size:.875rem;color:#94a3b8;margin-top:.25rem}.glass-table-wrapper{overflow-x:auto}.glass-table{width:100%;border-collapse:collapse;text-align:left}.glass-table th{padding:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.05)}.glass-table td{padding:1rem;font-size:.875rem;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.02)}.glass-table tr:hover td{background:#ffffff05}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.badge-long{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-short{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.badge-outline{background:transparent;border:1px solid #475569;color:#cbd5e1}.btn{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.btn-ghost{background:transparent;color:#94a3b8}.btn-ghost:hover{background:#ffffff0d;color:#e2e8f0}.btn-outline{background:transparent;color:#e2e8f0;border:1px solid rgba(148,163,184,.35)}.btn-outline:hover:not(:disabled){border-color:#94a3b88c;background:#ffffff0a}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.glass-input,.glass-select{background:#0f172a66;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem 1rem;color:#e2e8f0;font-size:.875rem;outline:none;transition:border-color .2s ease}.glass-input:focus,.glass-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.glass-select option{background:#1e293b;color:#e2e8f0}.progress-container{width:100%;height:6px;background:#ffffff0d;border-radius:9999px;overflow:hidden}.progress-bar{height:100%;border-radius:9999px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .5s ease-out}.progress-bar.green{background:linear-gradient(90deg,#10b981,#34d399)}.progress-bar.red{background:linear-gradient(90deg,#ef4444,#f87171)}.toggle-switch{position:relative;width:44px;height:24px;background:#ffffff1a;border-radius:9999px;cursor:pointer;transition:background .3s}.toggle-switch.active{background:#3b82f6}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch.active:after{transform:translate(20px)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.flex-gap-2{display:flex;align-items:center;gap:.5rem}.flex-gap-4{display:flex;align-items:center;gap:1rem}.dashboard-page{max-width:1180px;margin:0 auto}.dashboard-hero{margin-bottom:1.75rem}.dashboard-hero-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#64748b;margin-bottom:.5rem}.dashboard-hero h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dashboard-hero p{margin:0;font-size:.9rem;color:#94a3b8;max-width:42rem;line-height:1.6}.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;background:#0f172a73;border:1px solid rgba(148,163,184,.14);border-radius:14px;margin-bottom:1rem}.dashboard-trend-strip{padding:.9rem 1.15rem;margin-bottom:1.75rem;border-radius:14px;border:1px solid rgba(148,163,184,.12);background:#0f172a66}.dashboard-trend-strip-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}.dashboard-trend-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.dashboard-trend-result{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem}.dashboard-trend-symbol{font-size:.8rem;font-weight:700;color:#e2e8f0;letter-spacing:.04em}.dashboard-trend-pct.pos{font-size:.85rem;font-weight:700;color:#34d399}.dashboard-trend-pct.neg{font-size:.85rem;font-weight:700;color:#f87171}.dashboard-trend-value{font-size:.85rem;color:#e2e8f0}.dashboard-trend-value.muted{color:#64748b;font-weight:500}.dashboard-trend-strip .muted{font-size:.78rem;color:#64748b}.dashboard-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.dashboard-toolbar-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;width:100%;margin-bottom:-.25rem}.dashboard-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:.65rem}.dashboard-stat-block{margin-bottom:2rem}.dashboard-stat-block:last-of-type{margin-bottom:2.25rem}.dashboard-stat-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}.dashboard-stat-heading-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.dashboard-stat-heading-icon.execution{background:linear-gradient(135deg,#3b82f640,#8b5cf633);border:1px solid rgba(99,102,241,.25)}.dashboard-stat-heading-icon.signal{background:linear-gradient(135deg,#10b98133,#eab3081f);border:1px solid rgba(16,185,129,.22)}.dashboard-stat-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#cbd5e1}.dashboard-stat-sub{margin:.15rem 0 0;font-size:.75rem;color:#64748b}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.dashboard-kpi{background:#0f172a8c;border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:1.1rem 1.15rem;position:relative;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.dashboard-kpi:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#6366f1,#8b5cf6);opacity:.85}.dashboard-kpi--signal:before{background:linear-gradient(180deg,#10b981,#059669)}.dashboard-kpi:hover{border-color:#94a3b838;transform:translateY(-1px)}.dashboard-kpi-label{font-size:.75rem;color:#94a3b8;font-weight:500;padding-left:.35rem}.dashboard-kpi-value{margin-top:.35rem;font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:#f1f5f9;padding-left:.35rem;line-height:1.1}.dashboard-kpi-value--profit{color:#34d399}.dashboard-kpi-value--loss{color:#f87171}.dashboard-live-card{border-radius:16px}.dashboard-live-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0;border-bottom:1px solid rgba(148,163,184,.1);padding-bottom:1rem}.dashboard-live-meta{display:flex;flex-direction:column;gap:.25rem}.dashboard-live-meta h2{margin:0}.dashboard-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.12)}.dashboard-empty-state{text-align:center;padding:3rem 1.5rem;color:#64748b}.dashboard-empty-state strong{display:block;color:#94a3b8;font-size:.95rem;margin-bottom:.35rem}@media (max-width: 920px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-toolbar-actions{margin-left:0;width:100%}.dashboard-toolbar .btn-primary{flex:1;justify-content:center}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:slideIn .4s ease-out forwards}@keyframes skeletonShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.page-skeleton,.skeleton-line{height:18px;border-radius:8px;margin-bottom:.85rem;background:linear-gradient(90deg,#94a3b814 25%,#94a3b82e 37%,#94a3b814 63%);background-size:800px 100%;animation:skeletonShimmer 1.3s ease-in-out infinite}.page-skeleton:first-child{height:28px;width:40%}@keyframes pnlFlashUp{0%{background-color:#10b98147}to{background-color:transparent}}@keyframes pnlFlashDown{0%{background-color:#ef444447}to{background-color:transparent}}.pnl-flash-up{animation:pnlFlashUp .7s ease-out;border-radius:6px}.pnl-flash-down{animation:pnlFlashDown .7s ease-out;border-radius:6px}.explainability-list{list-style:none}.explainability-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:#cbd5e1;font-size:.875rem}.explainability-list li:before{content:"→";position:absolute;left:0;color:#3b82f6}.layout-container{display:flex;height:100vh;width:100vw;overflow:hidden;background:radial-gradient(circle at top left,#1e293b,#0f172a)}.sidebar{width:260px;background:#0f172acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff}.logo-text{font-size:1.25rem;font-weight:700;color:#e2e8f0;margin:0}.sidebar-nav{padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:8px;color:#94a3b8;background:transparent;border:none;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.nav-item:hover{background:#ffffff0d;color:#e2e8f0}.nav-item.active{background:#3b82f61a;color:#60a5fa;border-left:3px solid #3b82f6;border-radius:0 8px 8px 0}.sidebar-divider{height:1px;background:#ffffff0d;margin:1rem 0}.macro-news-panel.glass-panel{margin-bottom:2rem}.macro-news-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.macro-news-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.macro-news-refresh{font-size:.8125rem;padding:.45rem .95rem}.macro-news-muted{color:#94a3b8;font-size:.8125rem}.macro-news-empty{text-align:center;padding:2rem 1rem;color:#64748b;font-size:.9rem}.macro-news-banner{padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.macro-news-banner--err{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fecaca}.macro-news-table-wrap{max-height:min(560px,65vh);overflow:auto}.macro-news-table td{vertical-align:top}.macro-news-cell-time{font-size:.8rem;color:#cbd5e1;white-space:nowrap}.macro-news-cell-ccy{font-weight:700;color:#94a3b8;letter-spacing:.03em}.macro-news-impact{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .42rem;border-radius:6px}.macro-news-impact--high{color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.2)}.macro-news-impact--med{color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.22)}.macro-news-impact--low{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.2)}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.05)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-navbar{height:72px;background:#0f172a66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;padding:0 2rem}.search-bar{display:flex;align-items:center;gap:.75rem;background:#1e293b99;border:1px solid rgba(255,255,255,.1);border-radius:9999px;padding:.5rem 1.25rem;width:300px}.search-bar input{background:transparent;border:none;color:#e2e8f0;outline:none;width:100%;font-size:.875rem}.topbar-actions{align-items:center}.utc-clock{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;background:#0f172a94;border:1px solid rgba(148,163,184,.18);color:#94a3b8;font-size:.75rem;white-space:nowrap}.utc-clock strong{color:#e2e8f0;font-variant-numeric:tabular-nums}.icon-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;transition:all .2s}.icon-btn:hover{background:#ffffff0d;color:#e2e8f0}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#ec4899);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.content-scrollable{flex:1;overflow-y:auto;padding-bottom:2rem}.content-scrollable .ui-container{min-height:auto;padding-top:2rem;background:transparent}.trade-journal-form-panel{margin-bottom:1.5rem}.trade-journal-list-panel{margin-bottom:2rem}.trade-journal-form{display:flex;flex-direction:column;gap:1rem}.trade-journal-label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:#94a3b8;font-weight:600}.trade-journal-form .glass-input,.trade-journal-form .glass-select,.trade-journal-textarea{width:100%;box-sizing:border-box;font-family:inherit}.trade-journal-textarea{min-height:100px;resize:vertical;line-height:1.5}.trade-journal-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 900px){.trade-journal-form-grid{grid-template-columns:1fr}}.trade-journal-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.25rem}.trade-journal-empty{color:#64748b;font-size:.9rem}.trade-journal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.trade-journal-card{padding:1rem 1.15rem;border-radius:12px;border:1px solid rgba(148,163,184,.12);background:#0f172a73}.trade-journal-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.trade-journal-card-title{font-weight:700;color:#f1f5f9;font-size:.98rem;margin-bottom:.25rem}.trade-journal-card-meta{font-size:.78rem;color:#94a3b8}.trade-journal-card-actions{display:flex;flex-shrink:0;gap:.45rem}.trade-journal-numbers{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.65rem;font-size:.78rem;color:#cbd5e1}.trade-journal-numbers .tj-pnl-pos{color:#34d399;font-weight:600}.trade-journal-numbers .tj-pnl-neg{color:#f87171;font-weight:600}.trade-journal-notes{margin:.75rem 0 0;font-size:.875rem;color:#94a3b8;line-height:1.55;white-space:pre-wrap}.disclaimer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.disclaimer-card{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2.5rem 2rem;max-width:480px;width:100%;box-shadow:0 25px 50px -12px #00000080;text-align:center}.disclaimer-icon{font-size:3.5rem;margin-bottom:1rem;line-height:1}.disclaimer-title{font-size:1.5rem;font-weight:700;color:#f8fafc;margin-bottom:1rem}.disclaimer-text{color:#94a3b8;line-height:1.6;margin-bottom:2rem;font-size:.95rem}.disclaimer-text strong{color:#f8fafc}.auth-split-container{display:flex;min-height:100vh;width:100vw;background:#0f172a;overflow:hidden}.auth-split-left{flex:1;background:linear-gradient(135deg,#1e3a8a,#0f172a);position:relative;display:flex;align-items:center;justify-content:center;padding:3rem;overflow:hidden}.auth-split-left-content{position:relative;z-index:10;text-align:center;color:#f8fafc;max-width:400px}.auth-logo-large{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:2rem;box-shadow:0 10px 30px #0003}.auth-split-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.auth-split-subtitle{font-size:1.1rem;color:#cbd5e1;line-height:1.6}.auth-bg-shape{position:absolute;border-radius:50%;background:#ffffff08;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.auth-bg-shape.shape-1{width:600px;height:600px;top:-200px;left:-200px}.auth-bg-shape.shape-2{width:400px;height:400px;bottom:-100px;right:-100px}.auth-split-right{flex:1;display:flex;align-items:center;justify-content:center;background:#0f172a;padding:2rem}.auth-form-container{width:100%;max-width:440px;background:#1e293b66;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.05);border-radius:24px;padding:2.5rem;box-shadow:0 20px 40px #0000004d}.auth-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.auth-tab{background:none;border:none;color:#64748b;font-size:1.1rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;position:relative;transition:color .2s}.auth-tab:hover{color:#cbd5e1}.auth-tab.active{color:#f8fafc}.auth-tab.active:after{content:"";position:absolute;bottom:-1rem;left:0;width:100%;height:3px;background:#3b82f6;border-radius:3px 3px 0 0}.input-with-icon{position:relative;display:flex;align-items:center}.input-check{position:absolute;right:1rem;color:#10b981;font-weight:700}.form-checkbox-group{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#94a3b8;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.auth-actions{display:flex;gap:1rem}.auth-submit-btn{flex:2;padding:.85rem;font-size:1rem}.auth-switch-btn{flex:1;padding:.85rem;font-size:1rem}.auth-error-banner{padding:.75rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;text-align:center}@media (max-width: 860px){.auth-split-left{display:none}}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:#cbd5e1}.auth-input{width:100%;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.85rem 1rem;color:#f8fafc;font-size:1rem;outline:none;transition:all .2s ease}.auth-input:focus{border-color:#3b82f6;background:#0f172ae6;box-shadow:0 0 0 3px #3b82f633}.auth-input::placeholder{color:#64748b}.auth-link{color:#60a5fa;text-decoration:none;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.auth-link:hover{color:#93c5fd;text-decoration:underline}.profile-wrapper{max-width:600px;margin:0 auto}.profile-avatar-large{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#ec4899);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:2.5rem;margin:0 auto 1.5rem;box-shadow:0 8px 24px #ec48994d;text-transform:uppercase}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{font-size:.875rem;color:#94a3b8;font-weight:500}.profile-input-group{position:relative;display:flex;align-items:center}.profile-input{width:100%;background:#0f172a66;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.875rem 1rem;color:#f8fafc;font-size:1rem;outline:none;transition:all .2s ease}.profile-input:focus{border-color:#3b82f6;background:#0f172acc;box-shadow:0 0 0 2px #3b82f633}.profile-input:disabled{background:#0f172a33;color:#94a3b8;cursor:not-allowed}.profile-edit-btn{position:absolute;right:1rem;background:none;border:none;color:#60a5fa;font-size:.875rem;font-weight:500;cursor:pointer}.profile-edit-btn:hover{text-decoration:underline}.profile-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05)}.signal-desk-panel{margin-bottom:1rem}.signal-desk-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem}.signal-desk-sub{font-size:.78rem;color:#94a3b8}.signal-desk-controls{display:grid;grid-template-columns:1.4fr 1fr auto;gap:.9rem;align-items:end}.signal-desk-group{display:flex;flex-direction:column;gap:.35rem}.signal-desk-quick-row{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.95rem}.signal-desk-chips{display:flex;flex-wrap:wrap;gap:.5rem}.signal-chip{border:1px solid rgba(148,163,184,.25);background:#0f172a8c;color:#cbd5e1;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;cursor:pointer}.signal-chip.active{border-color:#60a5fa99;color:#93c5fd;background:#3b82f626}.signal-desk-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:1rem}.signal-desk-table-wrap .glass-table td{padding-top:.8rem;padding-bottom:.8rem}@media (max-width: 980px){.signal-desk-controls,.signal-desk-stats-grid{grid-template-columns:1fr}}.signal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206179e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:70;display:grid;place-items:center;padding:1rem}.signal-modal-card{width:min(680px,100%);background:#0f172af2;border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:1rem;box-shadow:0 20px 60px #00000073}@media (max-width: 760px){.layout-container{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.sidebar{width:100%;max-height:46vh;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-header,.sidebar-footer{padding:.9rem 1rem}.sidebar-nav{padding:.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto}.nav-item{justify-content:flex-start;padding:.7rem .75rem;font-size:.85rem}.main-content{min-height:0;overflow:visible}.top-navbar{height:auto;padding:.75rem}.top-navbar .flex-between{gap:.75rem;flex-wrap:wrap}.search-bar{width:100%;order:2}.topbar-actions{width:100%;justify-content:space-between}.content-scrollable,.ui-container,.glass-panel{padding:1rem}.glass-table{min-width:720px}.dashboard-hero h1{font-size:1.7rem}}
