:root {
  --purple: #7B5EA7; --blue: #4FACFE; --cyan: #00F2FE;
  --green: #00E676; --red: #FF5252; --gold: #FFD54F;
  --bg: #04040a;
  --glass: rgba(255,255,255,0.055);
  --glass-border: rgba(255,255,255,0.11);
  --text: rgba(255,255,255,0.93);
  --text2: rgba(255,255,255,0.55);
  --text3: rgba(255,255,255,0.3);
  --r: cubic-bezier(.23,1,.32,1);
  --rad: 18px; --rad-sm: 10px;
}

/* ── LIGHT THEME ── */
body.light-theme {
  --bg: #eaf0f6;
  --glass: rgba(255, 255, 255, 0.45);
  --glass-border: rgba(255, 255, 255, 0.8);
  --text: #05051a; --text2: rgba(5,5,26,0.65); --text3: rgba(5,5,26,0.45);
  --blue: #0077CC; --purple: #8E24AA; --cyan: #00BCD4;
  --green: #00A650; --red: #D32F2F; --gold: #F57F17;
}

body.light-theme .glass {
  box-shadow: 0 8px 32px rgba(100, 110, 140, 0.15), inset 0 1px 0 rgba(255,255,255,0.7);
}
body.light-theme .sw-dropdown {
  background: #ffffff; border: 1px solid rgba(0,0,0,0.1); box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}
body.light-theme .sw-d-item:hover { background: rgba(0,0,0,0.05); color: #000; border-color: transparent; }
body.light-theme .search-suggestions { background: #ffffff; border: 1px solid rgba(0,0,0,0.1); }
body.light-theme .local-suggestions { background: #ffffff !important; border: 1px solid rgba(0,0,0,0.1) !important; }
body.light-theme .ls-item:hover { background: rgba(0,0,0,0.05); color: #000; }
body.light-theme .c-select option { background: #ffffff; color: #000; }
body.light-theme .btn-analyze { background: linear-gradient(135deg,var(--blue),var(--cyan)); box-shadow: 0 4px 20px rgba(0,119,204,0.3); }

/* Overrides for elements stuck in dark mode */
body.light-theme .select-wrapper { background: rgba(255,255,255,0.75); border-color: rgba(0,0,0,0.1); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
body.light-theme .select-wrapper:hover { background: rgba(255,255,255,1); border-color: rgba(0,119,204,0.3); }
body.light-theme .draw-toolbar { background: rgba(255,255,255,0.85); border-color: rgba(0,0,0,0.1); }
body.light-theme .draw-btn:hover { background: rgba(0,0,0,0.06); color: #000; }
body.light-theme .draw-btn.active { background: rgba(0,119,204,0.15); border-color: rgba(0,119,204,0.3); color: var(--blue); }
body.light-theme .tf-btn { background: rgba(255,255,255,0.6); border-color: rgba(0,0,0,0.08); color: var(--text2); }
body.light-theme .tf-btn:hover { border-color: rgba(0,119,204,0.3); color: #000; }
body.light-theme .tf-btn.active { background: linear-gradient(135deg,var(--blue),var(--cyan)); color: #fff; border-color: transparent; }
body.light-theme .chip { background: rgba(255,255,255,0.6); border-color: rgba(0,0,0,0.08); color: var(--text2); }
body.light-theme .pair-input-row { background: rgba(255,255,255,0.6); border-color: rgba(0,0,0,0.1); }
body.light-theme .btn-retry { background: rgba(0,119,204,0.1); border-color: rgba(0,119,204,0.3); }
body.light-theme .draw-clear-btn { border-color: rgba(211,47,47,0.3); color: rgba(211,47,47,0.85); }
body.light-theme .draw-clear-btn:hover { background: rgba(211,47,47,0.1); color: var(--red); }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;line-height:1.6}

/* ── ORBS ── */
.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;transform:translateZ(0);will-change:transform}
#particles-canvas {position:fixed;inset:0;z-index:0;pointer-events:none;transform:translateZ(0);will-change:transform}
.orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orbf 22s infinite ease-in-out;transform:translateZ(0);will-change:transform, opacity}
.orb-1{width:600px;height:600px;background:radial-gradient(circle,var(--purple) 0%,transparent 70%);top:-200px;left:-150px;opacity:.3;animation-duration:26s}
.orb-2{width:480px;height:480px;background:radial-gradient(circle,var(--blue) 0%,transparent 70%);top:30%;right:-180px;opacity:.25;animation-delay:-9s;animation-duration:31s}
.orb-3{width:380px;height:380px;background:radial-gradient(circle,var(--cyan) 0%,transparent 70%);bottom:-80px;left:32%;opacity:.18;animation-delay:-16s;animation-duration:24s}
.orb-4{width:300px;height:300px;background:radial-gradient(circle,#9B6FCE 0%,transparent 70%);bottom:20%;right:8%;opacity:.22;animation-delay:-5s;animation-duration:28s}
@keyframes orbf{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(28px,-38px) scale(1.04)}50%{transform:translate(-18px,28px) scale(.96)}75%{transform:translate(36px,18px) scale(1.02)}}
#particles-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.45}

/* ── GLASS ── */
.glass{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 8px 32px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.09);border-radius:var(--rad);position:relative;overflow:hidden}
.glass::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.07) 0%,transparent 55%,rgba(255,255,255,.02) 100%);pointer-events:none;z-index:0}

/* ── APP SHELL ── */
.app{position:relative;z-index:1;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}

/* ── HEADER ── */
.header{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;margin:12px 12px 0;flex-shrink:0;border-radius:var(--rad)}
.header-left{display:flex;align-items:center;gap:12px}
.logo-mark svg{filter:drop-shadow(0 4px 12px rgba(123,94,167,.45))}
.logo-name{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.grad{background:linear-gradient(135deg,var(--blue),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-sub{font-size:.68rem;color:var(--text3);letter-spacing:.04em;text-transform:uppercase}
.header-right{display:flex;align-items:center;gap:10px}
.theme-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--r);box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.9rem;flex-shrink:0}
.theme-btn:hover{background:rgba(255,255,255,.15);transform:scale(1.05)}
body.light-theme .theme-btn{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.05)}
body.light-theme .theme-btn:hover{background:rgba(0,0,0,.08)}
.logout-btn{background:rgba(255,82,82,.1);border:1px solid rgba(255,82,82,.2);border-radius:999px;color:var(--red);padding:4px 12px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .25s var(--r);font-family:'Space Grotesk',sans-serif;letter-spacing:0.04em;text-transform:uppercase;}
.logout-btn:hover{background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(255,82,82,0.4);transform:translateY(-1px);}
body.light-theme .logout-btn{background:rgba(211,47,47,.08);color:#d32f2f;border-color:rgba(211,47,47,.2);}
body.light-theme .logout-btn:hover{background:#d32f2f;color:#fff;}
.live-badge{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text2);background:rgba(0,230,118,.07);border:1px solid rgba(0,230,118,.18);padding:5px 13px;border-radius:999px}
.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 6px var(--green);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.data-sources{display:flex;gap:6px}
.ds-tag{font-size:.68rem;color:var(--text3);border:1px solid rgba(255,255,255,.08);padding:3px 9px;border-radius:999px;letter-spacing:.03em}

/* ── LAYOUT ── */
.layout{display:grid;grid-template-columns:340px 1fr;gap:10px;padding:10px 12px 12px;flex:1;min-height:0}
.sidebar{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0;content-visibility:auto;contain-intrinsic-size:1px 1500px;}
.sidebar::-webkit-scrollbar{width:4px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:999px}

/* ── CARDS ── */
.card{padding:18px;position:relative;z-index:1;flex-shrink:0}
.card-label{font-size:.68rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}

/* ── CUSTOM SEARCH ── */
.local-search-wrap{position:relative;margin-bottom:12px;z-index:150}
.ls-input-row{display:flex;align-items:center;padding:7px 12px;gap:8px;transition:all .3s}
.ls-input-row:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px rgba(79,172,254,.2)}
.ls-icon{color:var(--text3);display:flex;align-items:center;justify-content:center}
.ls-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:500;padding:2px 0;width:100%}
.ls-input::placeholder{color:var(--text3);font-weight:400}
.local-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:260px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:var(--rad-sm);background:#000 !important;border:1px solid rgba(255,255,255,0.3) !important;box-shadow:0 20px 60px rgba(0,0,0,1);z-index:2000;opacity:1 !important}
.ls-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text2);transition:all .15s}
.ls-item:hover{background:rgba(255,255,255,.09);color:var(--text)}
.ls-type{font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.1)}
.ls-empty{font-size:.8rem;color:var(--text3);text-align:center;padding:12px;font-style:italic;display:block;}

/* ── CUSTOM SELECTS ── */
.custom-selects{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.select-wrapper{display:flex;align-items:center;background:#111;border:1px solid rgba(255,255,255,0.15);border-radius:var(--rad-sm);position:relative;transition:all .25s var(--r);cursor:pointer;overflow:visible !important;box-shadow:0 4px 12px rgba(0,0,0,0.4)}
.select-wrapper:hover{background:rgba(255,255,255,.06);border-color:rgba(79,172,254,.3)}
.select-wrapper:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px rgba(79,172,254,.15)}
.sw-icon{display:flex;align-items:center;justify-content:center;width:34px;height:100%;min-height:38px;background:rgba(255,255,255,.05);font-size:.7rem;font-weight:700;color:var(--text2);border-right:1px solid rgba(255,255,255,.05)}
.crypto-wrap .sw-icon{color:var(--gold);background:rgba(255,213,79,.08)}
.forex-wrap .sw-icon{color:#b39ddb;background:rgba(123,94,167,.12)}
.stock-wrap .sw-icon{color:var(--green);background:rgba(0,230,118,.08)}
.index-wrap .sw-icon{color:var(--blue);background:rgba(79,172,254,.08)}
.com-wrap .sw-icon{color:var(--cyan);background:rgba(0,242,254,.08)}
.c-select{appearance:none;-webkit-appearance:none;flex:1;background:transparent;border:none;outline:none;padding:10px 12px;color:var(--text);font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:600;pointer-events:none}
.sw-arrow{position:absolute;right:12px;pointer-events:none;font-size:.6rem;color:var(--text3);transition:color .2s}
.select-wrapper:hover .sw-arrow{color:var(--blue)}
.sw-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;padding:8px;flex-direction:column;gap:4px;border-radius:var(--rad-sm);background:#000;border:1px solid rgba(255,255,255,0.3);box-shadow:0 20px 60px rgba(0,0,0,1);z-index:2000;display:none;opacity:1 !important}
.sw-dropdown.show{display:flex}
@keyframes drp{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.sw-d-item{display:flex;align-items:center;padding:10px 14px;cursor:pointer;border-radius:6px;font-size:.88rem;font-weight:600;color:var(--text);transition:all .15s;border:1px solid transparent}
.sw-d-item:hover{background:rgba(255,255,255,0.12);color:#fff;border-color:rgba(255,255,255,0.08)}
.mkt-badge{font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:rgba(79,172,254,.12);color:var(--blue);border:1px solid rgba(79,172,254,.25);white-space:nowrap}
.mkt-badge.crypto{background:rgba(255,213,79,.1);color:var(--gold);border-color:rgba(255,213,79,.25)}
.mkt-badge.forex{background:rgba(123,94,167,.12);color:#b39ddb;border-color:rgba(123,94,167,.25)}
.mkt-badge.stock{background:rgba(0,230,118,.1);color:var(--green);border-color:rgba(0,230,118,.2)}

/* ── SEARCH WRAPPER & DROPDOWN ── */
.pair-search-wrap{position:relative;margin-bottom:14px}
.pair-input-row{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--rad-sm);padding:6px 10px;position:relative;z-index:1;transition:border-color .2s}
.pair-input-row:focus-within{border-color:rgba(79,172,254,.4);box-shadow:0 0 0 2px rgba(79,172,254,.08)}
.search-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:200;padding:6px;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;border-radius:var(--rad-sm)}
.search-suggestions::-webkit-scrollbar{width:4px}
.search-suggestions::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.sr-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .15s var(--r)}
.sr-item:hover,.sr-item.focused{background:rgba(255,255,255,.08)}
.sr-sym{font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:-.01em;color:var(--text);min-width:70px}
.sr-desc{font-size:.75rem;color:var(--text2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.sr-exch{font-size:.65rem;color:var(--text3);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:2px 7px;border-radius:999px}
.sr-type{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.sr-type.forex{background:rgba(123,94,167,.15);color:#b39ddb}
.sr-type.crypto{background:rgba(255,213,79,.1);color:var(--gold)}
.sr-type.stock{background:rgba(0,230,118,.1);color:var(--green)}
.sr-type.index,.sr-type.futures{background:rgba(79,172,254,.1);color:var(--blue)}
.sr-empty{font-size:.8rem;color:var(--text3);text-align:center;padding:16px;font-style:italic}
.sr-loading{font-size:.8rem;color:var(--text3);text-align:center;padding:14px 10px;display:flex;align-items:center;justify-content:center;gap:8px}
.sr-spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.12);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}

/* ── CHIPS ── */
.chips-section{position:relative;z-index:1}
.chip-group-label{font-size:.62rem;font-weight:600;color:var(--text3);letter-spacing:.07em;text-transform:uppercase;margin:8px 0 5px}
.chip-row{display:flex;flex-wrap:wrap;gap:5px}
.chip{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text2);cursor:pointer;transition:all .2s var(--r)}
.chip:hover,.chip.active{background:linear-gradient(135deg,rgba(123,94,167,.3),rgba(79,172,254,.2));border-color:rgba(79,172,254,.4);color:var(--text)}

/* ── TIMEFRAME ── */
.tf-row{display:flex;gap:6px;position:relative;z-index:1;margin-bottom:14px}
.tf-row-wrap{flex-wrap:wrap}
.tf-btn{flex:1;min-width:40px;padding:7px 0;font-size:.78rem;font-weight:600;border-radius:var(--rad-sm);border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:var(--text2);cursor:pointer;transition:all .22s var(--r)}
.tf-btn:hover{border-color:rgba(79,172,254,.3);color:var(--text)}
.tf-btn.active{background:linear-gradient(135deg,rgba(123,94,167,.4),rgba(79,172,254,.3));border-color:rgba(79,172,254,.5);color:#fff;box-shadow:0 4px 14px rgba(79,172,254,.2)}

/* ── ANALYZE BUTTON ── */
.btn-analyze{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:var(--rad-sm);border:none;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;font-family:'Space Grotesk',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .28s var(--r);box-shadow:0 4px 20px rgba(79,172,254,.25);position:relative;z-index:1;letter-spacing:.01em}
.btn-analyze:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(79,172,254,.4)}
.btn-analyze:active{transform:translateY(0)}
.btn-analyze:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-arrow{opacity:.7;font-size:1.1rem;margin-left:2px;transition:transform .2s var(--r)}
.btn-analyze:hover .btn-arrow{transform:translateX(4px);opacity:1}
.btn-retry{padding:9px 22px;border-radius:999px;border:1px solid rgba(79,172,254,.3);background:rgba(79,172,254,.1);color:var(--blue);font-family:'Inter',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s var(--r);margin-top:4px}
.btn-retry:hover{background:rgba(79,172,254,.2);border-color:rgba(79,172,254,.5)}

/* ── SIGNAL HERO ── */
.signal-hero{display:flex;flex-direction:column;gap:8px;padding:18px 14px;border-radius:var(--rad-sm);text-align:center;position:relative;z-index:1;transition:all .4s var(--r)}
.signal-hero.buy{background:rgba(0,230,118,.12);border:1.5px solid rgba(0,230,118,.4);box-shadow:0 0 28px rgba(0,230,118,.18)}
.signal-hero.sell{background:rgba(255,82,82,.13);border:1.5px solid rgba(255,82,82,.4);box-shadow:0 0 28px rgba(255,82,82,.18)}
.signal-hero.neutral{background:rgba(255,213,79,.08);border:1.5px solid rgba(255,213,79,.28)}
.signal-direction{display:flex;align-items:center;justify-content:center;gap:14px;font-family:'Space Grotesk',sans-serif;font-size:2.4rem;font-weight:900;letter-spacing:.14em}
.signal-hero.buy .signal-direction{color:var(--green);text-shadow:0 0 20px rgba(0,230,118,.5)}
.signal-hero.sell .signal-direction{color:var(--red);text-shadow:0 0 20px rgba(255,82,82,.5)}
.signal-hero.neutral .signal-direction{color:var(--gold)}
.sh-icon{font-size:2rem;line-height:1}
.sig-meta{font-size:.72rem;color:var(--text3);letter-spacing:.02em}

/* ── SIGNAL CARD ── */
.signal-card{display:flex;flex-direction:column;gap:14px}
.signal-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.signal-badge{display:flex;align-items:center;gap:7px;padding:8px 18px;border-radius:999px;font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.06em;transition:all .5s var(--r)}
.signal-badge.buy{background:rgba(0,230,118,.12);border:1px solid rgba(0,230,118,.35);color:var(--green);box-shadow:0 0 20px rgba(0,230,118,.15)}
.signal-badge.sell{background:rgba(255,82,82,.12);border:1px solid rgba(255,82,82,.35);color:var(--red);box-shadow:0 0 20px rgba(255,82,82,.15)}
.signal-badge.neutral{background:rgba(255,213,79,.09);border:1px solid rgba(255,213,79,.28);color:var(--gold)}
.sig-pair{font-family:'Space Grotesk',sans-serif;font-size:.95rem;font-weight:700;color:var(--text)}
.sig-tf{font-size:.7rem;color:var(--text3);margin-top:1px}

/* ── CONFIDENCE ── */
.conf-wrap{position:relative;z-index:1}
.conf-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.78rem;color:var(--text2)}
.conf-pct{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;color:var(--text)}
.conf-bar{height:7px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;position:relative}
.conf-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--blue),var(--cyan));transition:width 1.4s cubic-bezier(.34,1.56,.64,1)}
.conf-tag{margin-top:7px;display:inline-block;font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:999px;letter-spacing:.04em}
.conf-tag.high{background:rgba(0,230,118,.12);color:var(--green);border:1px solid rgba(0,230,118,.22)}
.conf-tag.mid{background:rgba(255,213,79,.1);color:var(--gold);border:1px solid rgba(255,213,79,.22)}
.conf-tag.low{background:rgba(255,82,82,.1);color:var(--red);border:1px solid rgba(255,82,82,.18)}

/* ── LEVELS GRID ── */
.levels-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;z-index:1}
.level{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:var(--rad-sm);border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);transition:transform .25s var(--r)}
.level:hover{transform:translateY(-1px)}
.level.entry{border-color:rgba(79,172,254,.2)}
.level.tp{border-color:rgba(0,230,118,.2)}
.level.sl{border-color:rgba(255,82,82,.2)}
.level.rr{border-color:rgba(255,213,79,.18)}
.lv-label{font-size:.62rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.lv-val{font-family:'JetBrains Mono',monospace;font-size:.92rem;font-weight:500;color:var(--text)}
.level.entry .lv-val{color:var(--blue)}
.level.tp .lv-val{color:var(--green)}
.level.sl .lv-val{color:var(--red)}
.level.rr .lv-val{color:var(--gold)}

/* ── INDICATOR PILLS ── */
.ind-readings,.pattern-wrap{position:relative;z-index:1}
.ind-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.ind-pill{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:999px;background:rgba(123,94,167,.12);border:1px solid rgba(123,94,167,.22);color:#b39ddb}
.ind-pill.bull{background:rgba(0,230,118,.09);border-color:rgba(0,230,118,.2);color:var(--green)}
.ind-pill.bear{background:rgba(255,82,82,.09);border-color:rgba(255,82,82,.18);color:var(--red)}
.ind-pill.neu{background:rgba(255,213,79,.08);border-color:rgba(255,213,79,.18);color:var(--gold)}
.pattern-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.ptag{font-size:.68rem;padding:3px 9px;border-radius:999px;background:rgba(79,172,254,.08);border:1px solid rgba(79,172,254,.15);color:var(--text2);animation:tagin .35s var(--r) both}
@keyframes tagin{from{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:none}}

/* ── ORDERFLOW BLOCK ── */
.orderflow-block{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:var(--rad-sm);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);margin-top:2px}
.of-label{font-size:.7rem;font-weight:600;color:var(--text2);display:flex;justify-content:space-between}
.of-bar{height:6px;background:rgba(255,82,82,.2);border-radius:999px;position:relative;overflow:hidden}
.of-fill{height:100%;width:50%;background:rgba(0,230,118,.8);border-radius:999px;transition:width 1s var(--r)}
.of-meta{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text3);font-family:'JetBrains Mono',monospace}

/* ── COPY TRADE BUTTON ── */
.btn-copy-trade{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;border-radius:var(--rad-sm);background:linear-gradient(135deg,#F9A825,#ff6b35);color:#fff;font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .25s var(--r);box-shadow:0 6px 20px rgba(249,168,37,.2);margin-top:4px}
.btn-copy-trade:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(249,168,37,.35)}
.btn-copy-trade .ct-icon{font-size:1.1rem}

/* ── CHART PANEL ── */
.chart-panel{display:flex;flex-direction:column;min-height:0;position:relative}

/* ── CHART STATES ── */
.chart-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:60px 40px;flex:1}
.chart-state h2{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:600;color:var(--text2)}
.chart-state p{font-size:.85rem;color:var(--text3);line-height:1.8;max-width:360px}

/* Empty state rings */
.state-rings{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;color:var(--text3)}
.sring{position:absolute;border:2px solid rgba(123,94,167,.25);border-radius:50%;animation:rpulse 3s ease-out infinite}
.sring{width:80px;height:80px}.s2{width:80px;height:80px;animation-delay:1s}.s3{width:80px;height:80px;animation-delay:2s}
@keyframes rpulse{0%{transform:scale(.7);opacity:.8}100%{transform:scale(2.2);opacity:0}}

/* Loading spinner */
.spin-wrap{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}
.spin-ring{position:absolute;inset:0;border:2.5px solid transparent;border-top-color:var(--purple);border-radius:50%;animation:spin 1.1s linear infinite}
.spin-ring.r2{inset:10px;border-top-color:var(--blue);animation-duration:.75s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.load-steps{display:flex;flex-direction:column;gap:8px;width:100%;max-width:260px}
.lstep{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text3);transition:color .35s var(--r)}
.lstep.active{color:var(--text)}.lstep.done{color:var(--green)}
.ldot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.12);flex-shrink:0;transition:all .35s var(--r)}
.lstep.active .ldot{background:var(--blue);box-shadow:0 0 7px var(--blue);animation:dp 1s infinite}
.lstep.done .ldot{background:var(--green);box-shadow:0 0 5px var(--green)}
@keyframes dp{0%,100%{transform:scale(1)}50%{transform:scale(1.45)}}

/* Error state */
.err-icon{color:var(--red);opacity:.7}

/* ── CHART WRAPPER ── */
.chart-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}
.chart-topbar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);border-radius:var(--rad) var(--rad) 0 0;flex-shrink:0}
.chart-pair-name{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.chart-price{font-family:'JetBrains Mono',monospace;font-size:.95rem;font-weight:500}
.chart-change{font-size:.78rem;font-weight:600;padding:2px 8px;border-radius:999px}
.chart-change.up{background:rgba(0,230,118,.12);color:var(--green)}
.chart-change.down{background:rgba(255,82,82,.1);color:var(--red)}
.chart-meta{font-size:.72rem;color:var(--text3);margin-left:auto}
.chart-source{font-size:.68rem;color:var(--text3);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);padding:2px 9px;border-radius:999px}
.canvas-container{flex:1;min-height:0;position:relative}
#main-canvas{display:block;width:100%;height:100%}
.chart-legend{display:flex;align-items:center;gap:12px;padding:7px 16px;background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;border-radius:0 0 var(--rad) var(--rad);flex-wrap:wrap}
.leg-item{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--text3)}
.leg-line{width:18px;height:2px;border-radius:2px}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;right:28px;z-index:9999;display:flex;align-items:center;gap:9px;padding:13px 18px;border-radius:var(--rad-sm);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(24px);box-shadow:0 8px 28px rgba(0,0,0,.4);font-size:.84rem;font-weight:500;color:var(--text);transform:translateY(16px);opacity:0;transition:all .38s var(--r);max-width:320px;pointer-events:none}
.toast.show{transform:translateY(0);opacity:1;pointer-events:auto}
.toast.ok{border-color:rgba(0,230,118,.3)}
.toast.err{border-color:rgba(255,82,82,.3)}
.toast.warn{border-color:rgba(255,213,79,.25)}

/* ── RESPONSIVE OVERHAUL ── */
@media (max-width: 850px) {
  .app { height: auto; max-height: none; overflow: auto; }
  .header { margin: 8px 8px 0; padding: 10px 16px; border-radius: 12px; }
  .logo-name { font-size: 1.05rem; }
  .logo-sub { display: none; }
  .header-right { gap: 6px; }
  .live-badge { padding: 4px 10px; font-size: 0.7rem; }

  .layout { display: flex; flex-direction: column; padding: 8px; gap: 8px; height: auto; min-width: 0; }
  .sidebar { width: 100%; height: auto; max-height: none; overflow: visible; }
  .chart-panel { min-height: 480px; width: 100%; border-radius: 12px; }
  
  .card { padding: 14px; }
  .card-label { font-size: 0.62rem; margin-bottom: 8px; }
  
  .tf-row-wrap { gap: 4px; }
  .tf-btn { padding: 6px 10px; font-size: 0.7rem; flex: 1; min-width: 45px; text-align: center; }
  
  .chart-wrapper { border-radius: 12px; }
  .chart-topbar { padding: 8px 12px; flex-wrap: wrap; gap: 8px; }
  .chart-pair-name { font-size: 0.95rem; }
  .chart-price { font-size: 1.1rem; }
  .chart-meta { font-size: 0.65rem; width: 100%; opacity: 0.6; }
  
  .signal-hero { padding: 15px; }
  #sig-text { font-size: 1.6rem; }
  .conf-pct { font-size: 1.1rem; }
  
  .levels-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .level { padding: 8px; }
  
  .sw-dropdown { max-height: 220px; z-index: 2000; }
}

@media (max-width: 420px) {
  .chart-panel { min-height: 420px; }
  #sig-text { font-size: 1.4rem; }
  .logo-name { font-size: 0.95rem; }
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:999px}

/* ══════════════════════════════════════════════════════
   NEW FEATURE STYLES
   ══════════════════════════════════════════════════════ */

/* ── MULTI-TIMEFRAME CONFLUENCE ── */
.mtf-card{position:relative;z-index:1}
.mtf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}
.mtf-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:var(--rad-sm);border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);transition:all .3s var(--r);cursor:default}
.mtf-cell.buy{border-color:rgba(0,230,118,.3);background:rgba(0,230,118,.06);box-shadow:0 0 12px rgba(0,230,118,.08)}
.mtf-cell.sell{border-color:rgba(255,82,82,.3);background:rgba(255,82,82,.06);box-shadow:0 0 12px rgba(255,82,82,.08)}
.mtf-cell.neutral{border-color:rgba(255,213,79,.2);background:rgba(255,213,79,.04)}
.mtf-cell.loading{opacity:.45}
.mtf-tf{font-size:.65rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.mtf-sig{font-size:.78rem;font-weight:800;font-family:'Space Grotesk',sans-serif;letter-spacing:.04em}
.mtf-cell.buy .mtf-sig{color:var(--green)}
.mtf-cell.sell .mtf-sig{color:var(--red)}
.mtf-cell.neutral .mtf-sig{color:var(--gold)}
.mtf-cell.loading .mtf-sig{color:var(--text3)}
.mtf-conf{font-size:.62rem;color:var(--text3)}
.mtf-bar-wrap{width:100%;height:3px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;margin-top:2px}
.mtf-bar{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}
.mtf-cell.buy .mtf-bar{background:var(--green)}
.mtf-cell.sell .mtf-bar{background:var(--red)}
.mtf-cell.neutral .mtf-bar{background:var(--gold)}
.confluence-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:var(--rad-sm);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.conf-label-small{font-size:.67rem;color:var(--text3);white-space:nowrap}
.conf-bar-multi{flex:1;height:5px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}
.conf-bar-multi-fill{height:100%;border-radius:999px;transition:width 1s cubic-bezier(.34,1.56,.64,1)}
.conf-score-text{font-size:.72rem;font-weight:700;color:var(--text);font-family:'Space Grotesk',sans-serif;white-space:nowrap}

/* ── HISTORY / TRADE LOG ── */
.history-card{position:relative;z-index:1}
.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.hist-clear-btn{font-size:.65rem;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,82,82,.25);background:rgba(255,82,82,.07);color:var(--red);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif}
.hist-clear-btn:hover{background:rgba(255,82,82,.15)}
.history-list{display:flex;flex-direction:column;gap:5px;max-height:200px;overflow-y:auto}
.history-list::-webkit-scrollbar{width:3px}
.history-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08)}
.hist-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);font-size:.72rem;transition:background .15s;animation:tagin .3s var(--r) both}
.hist-row:hover{background:rgba(255,255,255,.06)}
.hist-pair{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.78rem;color:var(--text)}
.hist-tf{font-size:.62rem;color:var(--text3);background:rgba(255,255,255,.05);padding:1px 6px;border-radius:999px}
.hist-sig{font-weight:800;font-size:.75rem;padding:2px 8px;border-radius:999px;letter-spacing:.04em}
.hist-sig.buy{background:rgba(0,230,118,.1);color:var(--green);border:1px solid rgba(0,230,118,.2)}
.hist-sig.sell{background:rgba(255,82,82,.1);color:var(--red);border:1px solid rgba(255,82,82,.2)}
.hist-conf{font-size:.68rem;color:var(--text2);font-family:'JetBrains Mono',monospace}
.hist-date{font-size:.6rem;color:var(--text3)}
.hist-empty{font-size:.78rem;color:var(--text3);text-align:center;padding:16px;font-style:italic}

/* ── PRICE ALERT ── */
.alert-row{display:flex;align-items:center;gap:8px;margin-left:auto}
.alert-input-wrap{display:flex;align-items:center;gap:0;border-radius:var(--rad-sm);overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);transition:border-color .2s}
.alert-input-wrap:focus-within{border-color:rgba(249,168,37,.4)}
.alert-icon{padding:0 8px;color:var(--gold);font-size:.85rem;cursor:default}
.alert-input{background:transparent;border:none;outline:none;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:.82rem;padding:6px 4px;width:100px}
.alert-input::placeholder{color:var(--text3)}
.alert-set-btn{padding:6px 12px;background:rgba(249,168,37,.15);border:none;color:var(--gold);font-family:'Space Grotesk',sans-serif;font-size:.75rem;font-weight:700;cursor:pointer;border-left:1px solid rgba(255,255,255,.08);transition:all .2s}
.alert-set-btn:hover{background:rgba(249,168,37,.3)}
.alert-active-badge{display:flex;align-items:center;gap:5px;font-size:.7rem;padding:4px 10px;border-radius:999px;background:rgba(249,168,37,.1);border:1px solid rgba(249,168,37,.25);color:var(--gold);cursor:pointer;transition:all .2s}
.alert-active-badge:hover{background:rgba(249,168,37,.2)}
.alert-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:blink 1.5s infinite}

/* ── DRAWING TOOLBAR ── */
.draw-toolbar{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:4px;padding:5px 8px;background:rgba(5,5,15,.85);border:1px solid rgba(255,255,255,.1);border-radius:999px;backdrop-filter:blur(16px);box-shadow:0 4px 20px rgba(0,0,0,.5);transition:opacity .2s}
.draw-toolbar.hidden{opacity:0;pointer-events:none}
.draw-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text2);cursor:pointer;font-size:.9rem;transition:all .2s;position:relative}
.draw-btn:hover{background:rgba(255,255,255,.1);color:var(--text)}
.draw-btn.active{background:rgba(79,172,254,.2);border-color:rgba(79,172,254,.4);color:var(--blue)}
.draw-sep{width:1px;height:18px;background:rgba(255,255,255,.1);margin:0 2px}
.draw-clear-btn{font-size:.65rem;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,82,82,.2);background:transparent;color:rgba(255,82,82,.7);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap}
.draw-clear-btn:hover{background:rgba(255,82,82,.12);color:var(--red)}

/* ── AI NARRATIVE ── */
.narrative-block{position:relative;z-index:1;padding:12px 14px;border-radius:var(--rad-sm);background:linear-gradient(135deg,rgba(123,94,167,.1),rgba(79,172,254,.07));border:1px solid rgba(123,94,167,.22);transition:all .4s var(--r)}
.narrative-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.narrative-icon{font-size:1rem}
.narrative-title{font-size:.68rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}
.narrative-text{font-size:.82rem;line-height:1.75;color:var(--text2)}
.narrative-text em{color:var(--text);font-style:normal;font-weight:600}
.narrative-skeleton{display:flex;flex-direction:column;gap:6px}
.skel-line{height:10px;border-radius:999px;background:rgba(255,255,255,.06);animation:skelp 1.4s ease-in-out infinite alternate}
.skel-line:nth-child(2){width:85%;animation-delay:.2s}
.skel-line:nth-child(3){width:70%;animation-delay:.4s}
@keyframes skelp{from{opacity:.4}to{opacity:.8}}

/* ── MARKET STRUCTURE BADGE (in signal card) ── */
.ms-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:relative;z-index:1}
.ms-badge{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.04em;border:1px solid transparent;animation:tagin .35s var(--r) both}
.ms-badge.uptrend{background:rgba(0,230,118,.1);color:var(--green);border-color:rgba(0,230,118,.2)}
.ms-badge.downtrend{background:rgba(255,82,82,.1);color:var(--red);border-color:rgba(255,82,82,.2)}
.ms-badge.ranging{background:rgba(255,213,79,.08);color:var(--gold);border-color:rgba(255,213,79,.18)}
.ms-badge.bos{background:rgba(79,172,254,.12);color:var(--blue);border-color:rgba(79,172,254,.25)}
.ms-badge.choch{background:rgba(206,147,216,.12);color:#CE93D8;border-color:rgba(206,147,216,.25)}
.ms-badge.div-bull{background:rgba(0,230,118,.1);color:var(--green);border-color:rgba(0,230,118,.2)}
.ms-badge.div-bear{background:rgba(255,82,82,.1);color:var(--red);border-color:rgba(255,82,82,.2)}

/* ── COLLAPSIBLE SECTIONS ── */
.collapsible-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.collapsible-toggle .toggle-arrow{font-size:.65rem;color:var(--text3);transition:transform .25s var(--r)}
.collapsible-toggle.open .toggle-arrow{transform:rotate(180deg)}
.collapsible-body{overflow:hidden;transition:max-height .35s var(--r),opacity .25s;max-height:0;opacity:0}
.collapsible-body.open{max-height:1000px;opacity:1}

/* ── TOPBAR ALERT SECTION ── */
.chart-topbar{flex-wrap:wrap;row-gap:6px}

/* ── FLOATING BUTTONS ── */
.floating-wa, .floating-ig { position: fixed; right: 24px; width: 56px; height: 56px; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 9999; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); text-decoration: none; }
.floating-wa { bottom: 24px; background: linear-gradient(135deg, #25D366, #128C7E); box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4); }
.floating-ig { bottom: 94px; background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); box-shadow: 0 8px 24px rgba(220, 39, 67, 0.4); }
.floating-wa::before, .floating-ig::before { content: ''; position: absolute; inset: -4px; border-radius: 50%; animation: wa-pulse 2s infinite; pointer-events: none; }
.floating-wa::before { border: 1px solid rgba(37, 211, 102, 0.3); }
.floating-ig::before { border: 1px solid rgba(220, 39, 67, 0.3); animation-delay: 1s; }
@keyframes wa-pulse { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(1.4); opacity: 0; } }
.floating-wa svg, .floating-ig svg { width: 30px; height: 30px; transition: transform 0.3s; }
.floating-wa:hover, .floating-ig:hover { transform: translateY(-4px) scale(1.05); color: #fff; }
.floating-wa:hover { box-shadow: 0 12px 32px rgba(37, 211, 102, 0.5); }
.floating-ig:hover { box-shadow: 0 12px 32px rgba(220, 39, 67, 0.5); }
.floating-wa:hover svg, .floating-ig:hover svg { transform: scale(1.1); }
@media (max-width: 850px) { .floating-wa, .floating-ig { right: 20px; width: 50px; height: 50px; } .floating-wa { bottom: 20px; } .floating-ig { bottom: 82px; } .floating-wa svg, .floating-ig svg { width: 26px; height: 26px; } }
/* ── SIGNAL MODAL ── */
.signal-modal-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.5); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; z-index: 10000; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
.signal-modal-overlay.show { opacity: 1; pointer-events: all; }
.signal-modal { background: var(--surface); border: 1px solid var(--border); border-radius: var(--rad-md); width: 90%; max-width: 400px; box-shadow: 0 20px 40px rgba(0,0,0,0.4); transform: translateY(20px); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; }
.signal-modal-overlay.show .signal-modal { transform: translateY(0); }
.sm-header { padding: 16px 20px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,0.02); }
.sm-title { font-weight: 600; font-size: 1.1rem; color: #fff; }
.sm-close { background: transparent; border: none; font-size: 1.5rem; color: var(--txt-mut); cursor: pointer; }
.sm-close:hover { color: #fff; }
.sm-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.sm-pair { font-size: 1.2rem; font-weight: 700; color: var(--txt); text-align: center; }
.sm-direction { font-size: 2rem; font-weight: 900; text-align: center; }
.sm-direction.buy { background: -webkit-linear-gradient(45deg, #7B5EA7, var(--green)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sm-direction.sell { background: -webkit-linear-gradient(45deg, #7B5EA7, var(--red)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sm-conf { text-align: center; font-size: 0.9rem; color: var(--txt-mut); margin-bottom: 10px; }
.sm-conf span { font-weight: bold; color: var(--txt); }
.sm-levels { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; background: rgba(0,0,0,0.2); padding: 12px; border-radius: var(--rad-sm); margin-bottom: 15px; }
.sm-level { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.sm-level .label { font-size: 0.7rem; font-weight: 600; color: var(--txt-mut); letter-spacing: 0.5px; }
.sm-level .val { font-size: 1rem; font-weight: 700; color: var(--txt); text-align: center; }
.sm-level .val.tp { color: var(--green); }
.sm-level .val.sl { color: var(--red); }
.sm-btn { width: 100%; text-align: center; display: block; padding: 14px; font-size: 1.1rem; }

/* ── RESPONSIVE & MOBILE ── */
@media(max-width:1100px){
  .layout{grid-template-columns:290px 1fr}
}
@media(max-width:850px){
  html, body { height: auto; min-height: 100vh; overflow-y: auto; overflow-x: hidden; }
  .app { height: auto; min-height: 100vh; overflow: visible; display: block; }
  .header { padding: 10px 14px; margin: 8px 8px 0; }
  .logo-name { font-size: 1rem; }
  .logo-sub { font-size: 0.6rem; }
  .logo-mark svg { width: 28px; height: 28px; }
  .layout { display: flex; flex-direction: column; overflow: visible; padding: 6px; gap: 8px; min-height: auto; }
  .sidebar { display: contents; }
  
  .pair-card { order: 1; margin-bottom: 0px; }
  .chart-panel { order: 2; min-height: 480px; height: 550px; padding: 6px 0; margin: 4px 0; flex-shrink: 0; transition: height 0.35s cubic-bezier(0.23,1,0.32,1); }
  .chart-panel.clean-mode { height: 420px; min-height: 380px; }
  .card { order: 3; margin-bottom: 6px; }
  
  /* Chart wrapper must fill the panel fully */
  .chart-wrapper { flex: 1; display: flex; flex-direction: column; height: 100%; }
  .canvas-container { flex: 1; min-height: 0; position: relative; }
  #main-canvas { display: block; width: 100%; height: 100%; }
  
  .mtf-grid { grid-template-columns: repeat(2, 1fr); }
  .draw-toolbar { top: 4px; padding: 4px 6px; gap: 2px; }
  .draw-btn { width: 26px; height: 26px; font-size: .8rem; }
  .alert-row { width: 100%; }
  .narrative-text { font-size: .78rem; }
  
  .tf-row-wrap { margin-bottom: 20px; }
  .chart-topbar { padding: 8px; flex-direction: column; align-items: flex-start; gap: 10px; }
  .chart-price-wrap { width: 100%; justify-content: flex-start; }
  .chart-meta { display: none; } /* Hide meta text on mobile to save space */
  .chart-legend { position: relative; bottom: auto; left: auto; padding: 6px; margin-top: 4px; border-top: 1px solid rgba(255,255,255,.05); border-radius: 0; background: transparent; backdrop-filter: none; }
  .chart-legend.hidden { display: none; }
}
@media(max-width:420px){
  .mtf-grid { grid-template-columns: repeat(2, 1fr); }
  .alert-input { width: 100%; }
  .btn-analyze { padding: 15px 20px; font-size: 1.05rem; }
  .card { padding: 14px; }
  .live-badge { padding: 4px 8px; font-size: 0; gap: 0; }
  .live-badge .live-dot { margin: 0; }
}

/* ── MARKET SESSIONS BAR ── */
.sessions-bar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 10px 20px;
  margin: 10px 12px 0;
  border-radius: var(--rad);
  gap: 15px;
  flex-wrap: wrap;
}
.session-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: all 0.3s var(--r);
}
.session-pill.active {
  background: rgba(0, 230, 118, 0.06);
  border-color: rgba(0, 230, 118, 0.2);
}
.sess-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.session-pill.active .sess-dot {
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: blink 2s infinite;
}
.sess-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text2);
}
.sess-status {
  font-size: 0.65rem;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.sess-timer {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: var(--text);
  font-weight: 500;
}
.session-killzone {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(249, 168, 37, 0.15), rgba(79, 172, 254, 0.15));
  border: 1px solid rgba(249, 168, 37, 0.3);
  animation: kz-glow 3s infinite alternate;
}
@keyframes kz-glow {
  from { box-shadow: 0 0 5px rgba(249, 168, 37, 0.2); border-color: rgba(249, 168, 37, 0.3); }
  to { box-shadow: 0 0 15px rgba(249, 168, 37, 0.4); border-color: rgba(249, 168, 37, 0.6); }
}
.kz-icon { font-size: 0.9rem; }
.kz-text { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gold); }

/* ── ECONOMIC CALENDAR ── */
.econ-list { display: flex; flex-direction: column; gap: 8px; }
.econ-item {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: var(--rad-sm);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.2s;
}
.econ-item:hover { background: rgba(255, 255, 255, 0.05); }
.econ-impact { width: 8px; height: 8px; border-radius: 50%; justify-self: center; }
.econ-impact.high { background: var(--red); box-shadow: 0 0 8px var(--red); }
.econ-info { display: flex; flex-direction: column; gap: 2px; }
.econ-curr { font-size: 0.75rem; font-weight: 800; color: var(--text); }
.econ-event { font-size: 0.7rem; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.econ-time-wrap { text-align: right; }
.econ-time { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; font-weight: 500; display: block; }
.econ-countdown { font-size: 0.6rem; color: var(--text3); }
.econ-loading { font-size: 0.75rem; color: var(--text3); text-align: center; padding: 20px; font-style: italic; }

/* ── SMART WATCHLIST ── */
.wl-list { display: flex; flex-direction: column; gap: 6px; }
.wl-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--rad-sm);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.2s var(--r);
}
.wl-item:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(79, 172, 254, 0.3);
  transform: translateX(4px);
}
.wl-bias-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}
.wl-bias-dot.bullish { background: var(--green); box-shadow: 0 0 10px var(--green); }
.wl-bias-dot.bearish { background: var(--red); box-shadow: 0 0 10px var(--red); }
.wl-bias-dot.neutral { background: var(--gold); box-shadow: 0 0 10px var(--gold); }
.wl-pair { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 0.85rem; }
.wl-price { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--text2); text-align: right; }
.wl-arrow { font-size: 0.7rem; color: var(--text3); opacity: 0; transition: all 0.2s; }
.wl-item:hover .wl-arrow { opacity: 1; transform: translateX(2px); color: var(--blue); }
.wl-loading { font-size: 0.75rem; color: var(--text3); text-align: center; padding: 20px; font-style: italic; }

/* ── SESSIONS MOBILE ── */
@media (max-width: 850px) {
  .sessions-bar { padding: 8px; gap: 8px; margin: 8px 8px 0; }
  .session-pill { padding: 4px 10px; }
  .sess-name { font-size: 0.65rem; }
  .sess-timer { font-size: 0.65rem; }
  .kz-text { font-size: 0.6rem; }
}

/* ── NEW ELITE FEATURES ── */
.btn-toggle-ind { padding: 4px 10px; border-radius: 999px; background: rgba(79,172,254,0.1); border: 1px solid rgba(79,172,254,0.3); color: var(--blue); font-size: 0.75rem; cursor: pointer; transition: all 0.2s; font-family: 'Space Grotesk', sans-serif; font-weight: 700; margin-left: auto; white-space: nowrap; }
.btn-toggle-ind:hover { background: rgba(79,172,254,0.2); }
.btn-toggle-ind.cleaned { color: var(--text3); border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); }

/* ── TRADE JOURNAL — ENHANCED ── */
.journal-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 10px;
}
.j-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 4px;
  border-radius: 8px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05);
}
.j-stat span:first-child { font-size: 0.58rem; color: var(--text3); text-transform: uppercase; letter-spacing: 0.06em; text-align: center; }
.j-stat .val { font-size: 0.92rem; font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: var(--text); }
.j-stat.wr .val { color: var(--blue); }
.j-stat.wins .val { color: var(--green); }
.j-stat.losses .val { color: var(--red); }
.j-stat.pnl .val { font-size: 0.78rem; }
.j-stat.pnl .val.pos { color: var(--green); }
.j-stat.pnl .val.neg { color: var(--red); }

/* Journal filter tabs */
.journal-filters {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.j-filter-btn {
  flex: 1;
  padding: 4px 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: transparent;
  color: var(--text3);
  font-size: 0.62rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Space Grotesk', sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.j-filter-btn:hover { color: var(--text2); background: rgba(255,255,255,0.04); }
.j-filter-btn.active { background: rgba(79,172,254,0.12); border-color: rgba(79,172,254,0.3); color: var(--blue); }
.j-filter-btn.active.won { background: rgba(0,230,118,0.1); border-color: rgba(0,230,118,0.25); color: var(--green); }
.j-filter-btn.active.lost { background: rgba(255,82,82,0.1); border-color: rgba(255,82,82,0.25); color: var(--red); }

/* Journal rows enhanced */
.hist-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  transition: all 0.2s;
  animation: tagin .3s var(--r) both;
}
.hist-row:hover { background: rgba(255,255,255,0.055); transform: translateX(2px); }
.hist-row.won { border-left: 3px solid var(--green); background: rgba(0,230,118,0.04); }
.hist-row.lost { border-left: 3px solid var(--red); background: rgba(255,82,82,0.04); }
.hist-row-top { display: flex; align-items: center; gap: 6px; width: 100%; }
.hist-pair { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 0.82rem; color: var(--text); flex: 1; }
.hist-tf { font-size: 0.6rem; color: var(--text3); background: rgba(255,255,255,0.06); padding: 1px 6px; border-radius: 999px; white-space: nowrap; }
.hist-sig { font-weight: 800; font-size: 0.72rem; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.05em; white-space: nowrap; }
.hist-sig.buy { background: rgba(0,230,118,0.1); color: var(--green); border: 1px solid rgba(0,230,118,0.22); }
.hist-sig.sell { background: rgba(255,82,82,0.1); color: var(--red); border: 1px solid rgba(255,82,82,0.22); }
.hist-conf { font-size: 0.65rem; color: var(--text2); font-family: 'JetBrains Mono', monospace; white-space: nowrap; }
.hist-date { font-size: 0.58rem; color: var(--text3); white-space: nowrap; }
.hist-outcome { font-size: 0.6rem; font-weight: 700; padding: 1px 7px; border-radius: 999px; white-space: nowrap; }
.hist-outcome.won { background: rgba(0,230,118,0.12); color: var(--green); border: 1px solid rgba(0,230,118,0.2); }
.hist-outcome.lost { background: rgba(255,82,82,0.12); color: var(--red); border: 1px solid rgba(255,82,82,0.2); }
.hist-outcome.pending { background: rgba(255,213,79,0.08); color: var(--gold); border: 1px solid rgba(255,213,79,0.18); }

/* Journal notes */
.hist-notes {
  width: 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  color: var(--text2);
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  padding: 5px 8px;
  resize: none;
  outline: none;
  transition: border-color 0.2s;
  min-height: 32px;
  max-height: 80px;
  overflow-y: auto;
}
.hist-notes:focus { border-color: rgba(79,172,254,0.35); background: rgba(79,172,254,0.04); }
.hist-notes::placeholder { color: var(--text3); font-style: italic; }

/* Journal action buttons */
.hist-btn-group { display: flex; gap: 4px; width: 100%; }
.hist-btn {
  flex: 1;
  padding: 5px 4px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
  color: var(--text2);
  font-size: 0.65rem;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.hist-btn:hover { background: rgba(255,255,255,0.08); color: var(--text); }
.hist-btn.won { border-color: rgba(0,230,118,0.35); color: var(--green); background: rgba(0,230,118,0.1); }
.hist-btn.lost { border-color: rgba(255,82,82,0.35); color: var(--red); background: rgba(255,82,82,0.1); }
.hist-btn.del { border-color: rgba(255,255,255,0.08); }
.hist-btn.del:hover { border-color: rgba(255,82,82,0.3); color: var(--red); background: rgba(255,82,82,0.08); }

/* Journal equity curve banner */
.journal-equity {
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(79,172,254,0.05);
  border: 1px solid rgba(79,172,254,0.12);
  display: flex;
  align-items: center;
  gap: 8px;
}
.journal-equity-label { font-size: 0.62rem; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.journal-equity-bar { flex: 1; height: 4px; background: rgba(255,255,255,0.07); border-radius: 999px; overflow: hidden; }
.journal-equity-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--purple), var(--blue)); transition: width 0.8s cubic-bezier(0.34,1.56,0.64,1); }
.journal-equity-pct { font-size: 0.72rem; font-weight: 700; font-family: 'Space Grotesk', sans-serif; color: var(--blue); white-space: nowrap; }

.hist-empty { font-size: 0.78rem; color: var(--text3); text-align: center; padding: 20px 16px; font-style: italic; }

.news-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.news-item:last-child { border-bottom: none; }
.news-title { font-size: 0.75rem; color: var(--text); font-weight: 600; font-family: 'Space Grotesk', sans-serif; line-height: 1.3; }
.news-meta { display: flex; justify-content: space-between; font-size: 0.65rem; color: var(--text3); margin-top: 2px;}
.news-sentiment { font-weight: 700; padding: 1px 6px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.6rem; }
.news-sentiment.bull { background: rgba(0,230,118,0.1); color: var(--green); }
.news-sentiment.bear { background: rgba(255,82,82,0.1); color: var(--red); }
.news-sentiment.neu { background: rgba(255,255,255,0.05); color: var(--text2); border: 1px solid rgba(255,255,255,0.1) }

/* ══════════════════════════════════════════════════════════════════
   LOW-END DEVICE PERFORMANCE OVERRIDES
   Applied when JS detects: ≤4 CPU cores, ≤2GB RAM, or 2G/slow-2G
   ══════════════════════════════════════════════════════════════════ */

/* Kill expensive background blur — biggest GPU win */
body.low-end .glass {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(8, 8, 20, 0.94) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}
body.low-end .glass::before { display: none !important; }

/* Freeze orb animations — they use filter:blur which is extremely expensive */
body.low-end .orb {
  animation: none !important;
  filter: none !important;
  opacity: 0.08 !important;
}

/* Remove all glowing box-shadows from buttons and signals */
body.low-end .btn-analyze,
body.low-end .signal-hero.buy,
body.low-end .signal-hero.sell,
body.low-end .signal-badge,
body.low-end .btn-copy-trade,
body.low-end .wl-bias-dot {
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Speed up / simplify transitions */
body.low-end * {
  transition-duration: 0.12s !important;
}
body.low-end .conf-fill,
body.low-end .journal-equity-fill {
  transition: width 0.4s ease !important;
}
body.low-end .collapsible-body {
  transition: max-height 0.2s ease, opacity 0.15s !important;
}

/* Kill orb blur filter on the orb elements */
body.low-end .bg-orbs {
  display: none !important;
}

/* Session pill glow off */
body.low-end .session-killzone { animation: none !important; }
body.low-end .live-dot { animation: none !important; background: var(--green) !important; }

/* Reduce shadow depth on cards */
body.low-end .card {
  box-shadow: none !important;
}

/* Use CSS contain to limit repaint scope on card updates */
.card { contain: layout style; content-visibility: auto; contain-intrinsic-size: 1px 300px; }
.chart-panel { contain: layout; }
.history-list { contain: strict; max-height: 260px; }

/* ── Market Sessions UI ── */
.session-tz-note {
  font-size: 0.62rem;
  color: var(--text3);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 10px;
  border-right: 1px solid rgba(255,255,255,0.1);
  margin-right: 8px;
  white-space: nowrap;
}
.sess-times {
  font-size: 0.65rem;
  color: var(--text3);
  font-family: 'JetBrains Mono', monospace;
  background: rgba(255,255,255,0.04);
  padding: 2px 6px;
  border-radius: 4px;
  margin: 0 4px;
}
.session-pill.active .sess-times {
  color: #fff;
  background: rgba(255,255,255,0.1);
}

/* ── Extreme Perf Manual Toggle Active ── */
#perf-toggle.active {
  background: var(--gold);
  color: #000;
  box-shadow: 0 0 15px rgba(255, 213, 79, 0.4);
}

/* ── Journal Statistics Dashboard ── */
.journal-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.j-stat {
  padding: 10px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: transform 0.2s;
}
.j-stat:hover { transform: translateY(-2px); border-color: var(--border-h); }
.j-stat span:first-child { 
  font-size: 0.58rem; 
  color: var(--text3); 
  text-transform: uppercase; 
  letter-spacing: 0.08em; 
  font-weight: 800; 
}
.j-stat .val { 
  font-size: 1.05rem; 
  font-weight: 800; 
  font-family: 'Space Grotesk', sans-serif; 
}
.j-stat .val.pos { color: var(--green); }
.j-stat .val.neg { color: var(--red); }

/* ── Journal Ledger Header ── */
.journal-ledger-header {
  display: grid;
  grid-template-columns: 1.1fr 40px 45px 1fr 65px;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.04);
  border-radius: 10px 10px 0 0;
  border: 1px solid var(--border);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  font-size: 0.58rem;
  font-weight: 800;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 15px;
}

.history-list {
  max-height: 450px !important;
  overflow-y: auto;
  background: rgba(0,0,0,0.15);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 10px 10px;
}

/* ── Journal Ledger Rows ── */
.hist-row {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: background 0.2s;
}
.hist-row:hover { background: rgba(255,255,255,0.02) !important; }

.hist-main {
  display: grid;
  grid-template-columns: 1.1fr 40px 45px 1fr 65px;
  gap: 8px;
  align-items: center;
  padding: 12px 12px;
}

.hist-pair { font-size: 0.78rem; font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hist-sig { font-size: 0.62rem; font-weight: 900; padding: 2px 0; border-radius: 4px; text-align: center; text-transform: uppercase; }
.hist-sig.buy { background: rgba(79,172,254,0.1); color: var(--blue); }
.hist-sig.sell { background: rgba(249,168,37,0.1); color: var(--gold); }
.hist-tf { font-size: 0.68rem; color: var(--text2); text-align: center; font-weight: 600; opacity: 0.8; }
.hist-outcome { font-size: 0.6rem; padding: 3px 0; border-radius: 5px; text-align: center; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; }
.hist-profit { font-size: 0.78rem; font-weight: 800; text-align: right; font-family: 'JetBrains Mono', monospace; }
.hist-profit.pos { color: var(--green); }
.hist-profit.neg { color: var(--red); }

.hist-notes {
  width: calc(100% - 24px) !important;
  margin: 0 12px 10px !important;
  padding: 8px 10px !important;
  background: rgba(0,0,0,0.2) !important;
  border: 1px solid rgba(255,255,255,0.05) !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  color: var(--text2) !important;
  resize: vertical;
  min-height: 36px;
  line-height: 1.4;
}

.hist-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 12px 12px;
}
.hist-date { font-size: 0.6rem; color: var(--text3); font-weight: 500; }

.hist-btn-group { display: flex; gap: 5px; }
.hist-outcome.pending {
  border: 1px solid rgba(79,172,254,0.3);
  background: rgba(79,172,254,0.08);
  color: var(--blue);
}

body.low-end {
  --glass: #08080c;
  --glass-border: #1a1a24;
}
body.low-end * {
  animation-duration: 0.001s !important; /* Kill most animations */
  transition: none !important; /* Instant snap */
  box-shadow: none !important;
  text-shadow: none !important;
}
body.low-end .glass {
  background: var(--glass) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* ── Auto-Track Status Badge in Journal rows ── */
.hist-closed-info {
  font-size: 0.6rem;
  color: var(--text3);
  font-family: 'JetBrains Mono', monospace;
  padding: 1px 0;
}
.hist-closed-info .closed-price {
  color: var(--text2);
  font-weight: 600;
}
.hist-auto-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.58rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  background: rgba(79,172,254,0.1);
  border: 1px solid rgba(79,172,254,0.2);
  color: var(--blue);
}

