:root{
/* ══ v328 SIDEBAR ARCHITECTURE — Premium FinTech Design System ══ */

/* ── Surfaces: True depth with subtle warm undertone ── */
--bg:#07090e;--s1:#0c1017;--s2:#11161f;--s3:#171d28;--s4:#1d2533;--s5:#252f3f;
/* ── Borders: Glass-style, barely visible ── */
--border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.09);--border-subtle:rgba(255,255,255,.03);--border-hover:rgba(255,255,255,.14);
/* ── Semantic Colors: Muted-premium, not neon ── */
--cyan:#38bdf8;--green:#4ade80;--orange:#fb923c;--yellow:#facc15;--red:#f87171;--violet:#a78bfa;
/* ── Text: High contrast hierarchy ── */
--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--muted:#475569;
/* ── Typography — Inter for UI, JetBrains for data ── */
--mono:'JetBrains Mono',ui-monospace,monospace;--sans:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
/* ── Spacing Scale (4px base, expanded) ── */
--sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:20px;--sp6:24px;--sp8:32px;--sp10:40px;--sp12:48px;--sp16:64px;
/* ── Typography Scale — LARGER, more readable ── */
--fs-xs:11px;--fs-sm:12.5px;--fs-base:13.5px;--fs-md:14.5px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:30px;--fs-4xl:38px;
/* ── Line Heights ── */
--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.65;
/* ── Radii: Larger, more modern ── */
--r-sm:6px;--r:10px;--r2:8px;--r3:14px;--r4:18px;--r-full:9999px;
/* ── Shadows: Layered depth, colored accent glow ── */
--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1);--shadow-md:0 4px 16px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.15);--shadow-lg:0 12px 40px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.2);--shadow-xl:0 24px 60px rgba(0,0,0,.5),0 8px 20px rgba(0,0,0,.25);--shadow-glow:0 0 20px rgba(56,189,248,.08),0 0 40px rgba(56,189,248,.04);
/* ── Motion: Smooth, professional ── */
--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--dur-fast:.1s;--dur-base:.2s;--dur-slow:.35s;
/* ── Glass effect tokens ── */
--glass-bg:rgba(12,16,23,.7);--glass-border:rgba(255,255,255,.08);--glass-blur:16px;
/* ── Krypto/FinanzTracker compat vars ── */
--amber:#facc15;--surface:#11161f;--accent2:#38bdf8;
/* uitabaudit_20260501: Signal-Board Karten-Hintergrund */
--card-bg:#13192a;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh;background-image:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(56,189,248,.03),transparent 60%);scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;zoom:var(--app-zoom,1);line-height:var(--lh-normal);font-size:var(--fs-base);overflow-x:hidden}

/* ── Zoom Controls ── */
.zoom-ctrl{display:flex;align-items:center;gap:1px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:2px 4px}
.zoom-ctrl button{width:26px;height:26px;border:none;background:transparent;color:var(--text3);cursor:pointer;font-family:var(--mono);font-size:14px;font-weight:600;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast)}
.zoom-ctrl button:hover{background:rgba(56,189,248,.08);color:var(--cyan)}
.zoom-ctrl .zoom-label{font-family:var(--mono);font-size:11px;color:var(--text3);min-width:38px;text-align:center;user-select:none}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.15)}
.wrap{max-width:100%;width:100%;margin:0 auto;padding:0 var(--sp5)}
header{padding:var(--sp3) 0;border-bottom:1px solid var(--border);margin-bottom:0;background:rgba(7,9,14,.85);position:sticky;top:36px;z-index:900;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2)}
.hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp3);padding:0 var(--sp2)}

/* ── HEADER GROUPS ── */
.hdr-left{display:flex;align-items:center;gap:var(--sp3)}
.hdr-center{display:flex;align-items:center;gap:var(--sp2);flex-wrap:wrap}
.hdr-right{display:flex;align-items:center;gap:var(--sp2)}
/* ── HEADER DIVIDERS ── */
.hdr .hdr-tools{gap:var(--sp2)}
.hdr-right>*{flex-shrink:0}

/* ── LANG TOGGLE ── */
.lang-toggle{display:flex;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;flex-shrink:0}
.lang-btn{padding:5px 10px;font-family:var(--mono);font-size:11px;font-weight:600;cursor:pointer;border:none;background:none;color:var(--text3);transition:all .2s;letter-spacing:.3px}
.lang-btn.act{background:rgba(56,189,248,.1);color:var(--cyan)}

/* ── HEADER TOOLS GROUP (collapsible) ── */
.hdr-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap}

/* ── TABS SCROLLABLE ── */
.tabs{display:flex;gap:0;border-bottom:none;margin-bottom:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;padding:0;background:transparent;border-radius:0}
.tabs::-webkit-scrollbar{display:none}
/* Tab scroll arrow fade states */
#tabScrollLeft{opacity:.3;pointer-events:none}
#tabScrollLeft.visible{opacity:1;pointer-events:all}
#tabScrollRight.hidden{opacity:.2;pointer-events:none}
/* Active tab in header highlights matching header button */
#hdr-watchlist-btn.tab-active{background:rgba(255,224,51,.18)!important;border-color:rgba(255,224,51,.7)!important}
#hdr-portfolio-btn.tab-active{background:rgba(0,255,148,.18)!important;border-color:rgba(0,255,148,.6)!important}
#hdr-crypto-btn.tab-active{background:rgba(245,158,11,.18)!important;border-color:rgba(245,158,11,.7)!important}
.tab{white-space:nowrap;flex-shrink:0}

/* ── DEMO PLAN BANNER ── */
#demoPlanBanner{display:none;background:rgba(74,143,168,.06);border:1px solid rgba(74,143,168,.2);border-radius:9px;padding:9px 16px;margin-bottom:14px;font-family:var(--mono);font-size:11px;color:#4a8fa8;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#demoPlanBanner.show{display:flex}
.demo-banner-limits{display:flex;gap:14px;flex-wrap:wrap}
.demo-limit-tag{display:flex;align-items:center;gap:5px;font-size:12px;padding:2px 8px;border-radius:4px;background:rgba(74,143,168,.08);border:1px solid rgba(74,143,168,.15)}
.demo-upgrade-btn{padding:6px 16px;border-radius:6px;border:none;cursor:pointer;font-family:var(--mono);font-size:12px;font-weight:700;background:linear-gradient(135deg,#ffc800,#ff9944);color:#000;white-space:nowrap;transition:all .2s}
.demo-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,200,0,.3)}

/* ── PRO PLAN BANNER ── */
#proPlanBanner{display:none;background:rgba(255,200,0,.04);border:1px solid rgba(255,200,0,.18);border-radius:9px;padding:7px 16px;margin-bottom:14px;font-family:var(--mono);font-size:12px;color:#b08800;align-items:center;gap:10px}
#proPlanBanner.show{display:flex}

/* ── SKELETON LOADER ── */
.skeleton-wrap{padding:20px 0}
.skeleton-row{display:flex;gap:10px;margin-bottom:10px}
.skel{border-radius:var(--r);background:linear-gradient(90deg,var(--s2) 25%,var(--s3) 50%,var(--s2) 75%);background-size:400% 100%;animation:skelPulse 1.8s ease infinite}
@keyframes skelPulse{0%{background-position:100% 0}100%{background-position:-100% 0}}
.skel-header{height:40px;border-radius:10px}
.skel-row-full{height:44px;flex:1}
.skel-row-sm{height:44px;width:80px}

/* ── SCANNER ACTION ROW — compact ── */
/* .ar gap:6px entfernt */
.ar-group{display:flex;align-items:center;gap:4px}
.ar-divider{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}

/* ── FOOTER ENHANCED ── */
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}
.footer-link{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:none;transition:color .2s}
.footer-link:hover{color:var(--cyan)}
.footer-legal{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.5}

/* ── ONBOARDING OVERLAY ── */
#onboardingOverlay{display:none;position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}
#onboardingOverlay.show{display:flex}
.ob-box{background:var(--s1);border:1px solid rgba(255,255,255,.08);border-radius:var(--r4);width:min(94vw,620px);overflow:hidden;animation:obIn .3s var(--ease-out);box-shadow:0 32px 80px rgba(0,0,0,.5)}
@keyframes obIn{from{opacity:0;transform:scale(.96) translateY(16px)}to{opacity:1;transform:none}}
.ob-header{background:rgba(255,255,255,.02);border-bottom:1px solid var(--border);padding:24px 28px 20px}
.ob-title{font-family:var(--sans);font-size:20px;font-weight:800;color:var(--text);margin-bottom:4px;letter-spacing:-.3px}
.ob-sub{font-family:var(--sans);font-size:12px;color:var(--text3);letter-spacing:.3px;font-weight:500}
.ob-plan-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;font-weight:700;padding:4px 12px;border-radius:6px;margin-top:8px}
.ob-body{padding:20px 26px}
.ob-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.ob-step{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;background:var(--s2);border:1px solid var(--border);border-radius:9px;cursor:pointer;transition:border-color .2s}
.ob-step:hover{border-color:rgba(0,217,255,.3)}
.ob-step-num{width:24px;height:24px;border-radius:50%;background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.3);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--cyan);flex-shrink:0}
.ob-step-text strong{display:block;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px}
.ob-step-text span{font-family:var(--sans);font-size:11px;color:var(--text3);line-height:1.5}
.ob-demo-limits{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}
.ob-limit-card{background:rgba(74,143,168,.06);border:1px solid rgba(74,143,168,.15);border-radius:7px;padding:9px 12px;text-align:center}
.ob-limit-num{font-family:var(--mono);font-size:18px;font-weight:800;color:#4a8fa8;line-height:1}
.ob-limit-lbl{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:3px}
.ob-footer{padding:14px 26px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.06)}
.ob-skip{font-family:var(--sans);font-size:12px;color:var(--text3);cursor:pointer;background:none;border:none;padding:0;font-weight:500}
.ob-skip:hover{color:var(--text)}
.ob-start-btn{padding:var(--sp3) var(--sp6);border-radius:var(--r);border:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-sm);font-weight:700;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;transition:all var(--dur-fast)}
.ob-start-btn:hover{box-shadow:0 4px 16px rgba(56,189,248,.2);transform:translateY(-1px)}

/* ── AGB MODAL ── */
#agbModal{display:none;position:fixed;inset:0;z-index:18000;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}
#agbModal.show{display:flex}
.agb-box{background:var(--s1);border:1px solid rgba(255,255,255,.08);border-radius:var(--r4);width:min(94vw,700px);max-height:85vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.5)}
.agb-header{position:sticky;top:0;background:#0b1525;border-bottom:1px solid rgba(255,255,255,.07);padding:16px 22px;display:flex;align-items:center;justify-content:space-between}
.agb-title{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text)}
.agb-body{padding:20px 22px;font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.8}
.agb-body h3{color:var(--text);font-size:11px;margin:14px 0 6px;letter-spacing:1px}
.agb-tabs-row{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:12px}
.agb-tab-btn{padding:5px 14px;border-radius:5px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:12px;transition:all .2s}
.agb-tab-btn.act{background:rgba(0,217,255,.07);border-color:var(--cyan);color:var(--cyan)}
.brand{display:flex;align-items:center;gap:var(--sp3)}
.bico{width:40px;height:40px;border-radius:10px;background:linear-gradient(160deg,#0d1520,#131f33);display:grid;place-items:center;box-shadow:0 2px 20px rgba(56,189,248,.2),0 0 40px rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.2);position:relative;overflow:hidden}
.bico svg{width:26px;height:26px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
.bico::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:10px;background:linear-gradient(135deg,rgba(96,165,250,.12),transparent 50%,rgba(148,163,184,.06));pointer-events:none}
.bname{font-size:17px;font-weight:800;letter-spacing:2px;background:linear-gradient(135deg,#93c5fd 0%,#e0e7ff 45%,#c0c8d8 70%,#e0e7ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(96,165,250,.15))}
.btag{font-family:var(--mono);font-size:8.5px;letter-spacing:2px;color:rgba(148,163,184,.7);margin-top:0px;text-transform:uppercase;font-weight:500}
.bsub{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--text3);margin-top:1px}
.hright{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.srctog{display:flex;background:var(--s2);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.srcb{padding:7px 13px;font-family:var(--mono);font-size:12px;cursor:pointer;border:none;background:none;color:var(--muted);transition:all .2s}
.srcb.act{background:var(--s3);color:var(--cyan)}
.apiin{background:var(--s2);border:1px solid var(--border);border-radius:6px;padding:7px 11px;font-family:var(--mono);font-size:12px;color:var(--text);width:240px;outline:none;display:none}
.apiin:focus{border-color:var(--cyan)}
.apiin::placeholder{color:var(--muted)}
.tbtn{padding:6px 12px;border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text3);cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:600;transition:all var(--dur-base) var(--ease-out);display:inline-flex;align-items:center;gap:5px}
.tbtn:hover{border-color:var(--border-hover);color:var(--text2);background:var(--s3)}
.live{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--text3)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2.5s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 6px rgba(74,222,128,0)}}
.apipanel{display:none;background:var(--s1);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:10px}
.apipanel.show{display:block}
.apititle{font-family:var(--mono);font-size:8px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.apitests{display:flex;gap:6px;flex-wrap:wrap}
.apiitem{display:flex;align-items:center;gap:6px;background:var(--s2);border:1px solid var(--border);border-radius:5px;padding:5px 10px;min-width:0}
.ainame{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--text)}
.aistatus{font-family:var(--mono);font-size:8px;margin-top:1px}
.ok{color:var(--green)}.err{color:var(--red)}.wait{color:var(--muted)}
.fp{background:var(--s1);border:1px solid var(--border);border-radius:var(--r4);padding:var(--sp6);margin-bottom:var(--sp6);box-shadow:var(--shadow-sm)}
.fpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.fpcol{display:flex;flex-direction:column;gap:8px}
.lbl{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--text3);text-transform:uppercase;margin-bottom:2px}
.presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.pb{padding:8px 16px;border-radius:var(--r);cursor:pointer;border:1px solid rgba(167,139,250,.3);background:rgba(167,139,250,.05);color:var(--violet);font-family:var(--sans);font-size:12.5px;font-weight:600;transition:all var(--dur-base) var(--ease-out)}
.eu-enabled{cursor:pointer!important;pointer-events:auto!important;opacity:1!important}
.eu-enabled.on,.eu-enabled.act{opacity:1!important;filter:none!important}
.eu-disabled-wrap{position:relative;display:inline-block}
.eu-disabled-wrap .eu-tip{display:none!important}
.eu-off{opacity:1!important;cursor:pointer!important;pointer-events:auto!important;filter:none!important}
.eu-badge-live{font-size:7px;color:#00ff94;margin-left:2px}
.ql-profile-btn{font-family:var(--mono);font-size:11px;padding:5px 12px;border-radius:6px;border:1px solid rgba(0,255,148,.25);background:rgba(0,255,148,.04);color:#3a8a60;cursor:pointer;font-weight:700;transition:all .15s}
.ql-profile-btn.on{border-color:rgba(0,255,148,.7);background:rgba(0,255,148,.2);color:#00ff94;font-weight:700}
.ql-weight-row{display:flex;align-items:center;gap:8px;padding:3px 0}
.ql-wlbl{font-family:var(--mono);font-size:11px;font-weight:700;min-width:100px}
.ql-wslider{flex:1;accent-color:#a855f7}
.ql-wval{font-family:var(--mono);font-size:12px;font-weight:700;color:#a855f7;min-width:32px;text-align:right}
.pb:hover{background:rgba(168,85,247,.12)}
.pb.ap{background:rgba(168,85,247,.22);border-color:rgba(168,85,247,.55);box-shadow:0 0 14px rgba(168,85,247,.25);font-weight:700}
#p-top20:not(.ap){color:var(--muted)!important;border-color:rgba(255,255,255,.12)!important;background:transparent!important;font-weight:600!important}
#p-top20.ap{background:linear-gradient(135deg,rgba(255,215,0,.25),rgba(255,107,43,.15))!important;border-color:rgba(255,215,0,.9)!important;box-shadow:0 0 18px rgba(255,215,0,.35)!important;color:#ffd700!important;border-width:2px!important}
#p-top20:hover:not(.ap){background:rgba(255,215,0,.08)!important;color:rgba(255,215,0,.7)!important;border-color:rgba(255,215,0,.3)!important}
#p-chrivenelite:not(.ap){color:var(--muted)!important;border-color:rgba(255,255,255,.12)!important;background:transparent!important;font-weight:600!important}
#p-chrivenelite.ap{background:linear-gradient(135deg,rgba(168,85,247,.25),rgba(236,72,153,.15))!important;border-color:rgba(168,85,247,.9)!important;box-shadow:0 0 18px rgba(168,85,247,.35)!important;color:#c084fc!important;border-width:2px!important}
#p-chrivenelite:hover:not(.ap){background:rgba(168,85,247,.08)!important;color:rgba(168,85,247,.7)!important;border-color:rgba(168,85,247,.3)!important}
#p-earlyrunner:not(.ap){color:var(--muted)!important;border-color:rgba(255,255,255,.12)!important;background:transparent!important;font-weight:600!important}
#p-earlyrunner.ap{background:linear-gradient(135deg,rgba(255,51,170,.25),rgba(255,140,0,.15))!important;border-color:rgba(255,51,170,.9)!important;box-shadow:0 0 18px rgba(255,51,170,.35)!important;color:#ff33aa!important;border-width:2px!important}
#p-earlyrunner:hover:not(.ap){background:rgba(255,51,170,.08)!important;color:rgba(255,51,170,.7)!important;border-color:rgba(255,51,170,.3)!important}
@keyframes presetFlash{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
.pb.ap-flash{animation:presetFlash .3s ease-out}
.pyramid-ticker:hover{background:rgba(168,85,247,.2)!important;border-radius:3px}
.pyramid-layer.pyr-active>div:first-child{box-shadow:0 0 12px rgba(168,85,247,.2);font-weight:700}
.pills{display:flex;flex-wrap:wrap;gap:var(--sp2)}
.pill{padding:6px var(--sp3);border-radius:var(--r);cursor:pointer;border:1px solid var(--border);background:var(--s2);color:var(--text3);font-family:var(--sans);font-size:var(--fs-sm);font-weight:600;transition:all var(--dur-fast) var(--ease-out);user-select:none}
.pill:hover{border-color:var(--border2);color:var(--text2);background:var(--s3)}
/* Index/Filter-Pills: inaktive ausgegraut */
.pills [data-g="idx"]:not(.on),.pills [data-g="sec"]:not(.on):not(.ong):not(.onv):not(.ono),
#ql-idx-pills .pill:not(.on),#ql-sector-pills .pill:not(.on),
#earn-idx-pills .pill:not(.on),#opp-idx-pills .pill:not(.on){opacity:.4;filter:grayscale(.4)}
.pill.on{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.5);color:var(--cyan);font-weight:700}
.pill.ong{background:rgba(74,222,128,.16);border-color:rgba(74,222,128,.45);color:var(--green);font-weight:700}
.pill.onv{background:rgba(167,139,250,.16);border-color:rgba(167,139,250,.45);color:var(--violet);font-weight:700}
.pill.ono{background:rgba(251,146,60,.16);border-color:rgba(251,146,60,.45);color:var(--orange);font-weight:700}
.rr{display:flex;align-items:center;gap:10px}
.rl{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:105px}
.rv{font-family:var(--mono);font-size:12px;color:var(--cyan);min-width:55px;text-align:right}
input[type=range]{flex:1;-webkit-appearance:none;height:4px;border-radius:var(--r-full);background:rgba(255,255,255,.06);outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--cyan);cursor:pointer;box-shadow:0 0 8px rgba(56,189,248,.3);border:2px solid rgba(255,255,255,.15)}
.ar{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.scanbtn{padding:11px 32px;border-radius:var(--r);border:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-md);font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;transition:all var(--dur-base) var(--ease-out);position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(56,189,248,.2)}
.scanbtn::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);transform:translateX(-100%);transition:transform .5s var(--ease-out)}
.scanbtn:hover{box-shadow:0 4px 20px rgba(56,189,248,.3);transform:translateY(-1px)}
.scanbtn:hover::after{transform:translateX(100%)}
.scanbtn:active{transform:scale(.98);box-shadow:0 2px 8px rgba(14,165,233,.15)}
.scanbtn:disabled{background:var(--s3);color:var(--muted);cursor:not-allowed;transform:none;box-shadow:none}
.scanbtn:disabled::after{display:none}
.rbtn{padding:var(--sp2) var(--sp4);border-radius:var(--r-sm);border:1px solid var(--border);background:transparent;color:var(--text3);cursor:pointer;font-family:var(--mono);font-size:var(--fs-sm);transition:all var(--dur-fast)}
.rbtn:hover{border-color:var(--red);color:var(--red)}
.si{font-family:var(--mono);font-size:12px;color:var(--muted);margin-left:auto;text-align:right;line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.regime-banner{display:none;align-items:center;justify-content:space-between;gap:var(--sp3);padding:var(--sp3) var(--sp4);border-radius:var(--r);margin-bottom:var(--sp3);font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;letter-spacing:.3px}
.regime-banner.bull{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2);color:var(--green)}
.regime-banner.sideways{background:rgba(234,179,8,.05);border:1px solid rgba(234,179,8,.2);color:var(--yellow)}
.regime-banner.bear{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);color:var(--red)}
.regime-banner .rg-right{display:flex;align-items:center;gap:8px}
.regime-gate-toggle{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:5px;cursor:pointer;border:1px solid currentColor;background:transparent;color:inherit;opacity:.8;transition:opacity .2s}
.regime-gate-toggle:hover{opacity:1}
.stat{background:var(--s1);border:1px solid var(--border);border-radius:var(--r3);padding:var(--sp4) var(--sp5);position:relative;overflow:hidden;transition:border-color var(--dur-base) var(--ease-in-out)}
.stat:hover{border-color:var(--border-hover)}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.sc::before{background:var(--cyan)}.sg::before{background:var(--green)}.so::before{background:var(--orange)}.sy::before{background:var(--yellow)}.sv::before{background:var(--violet)}
.sl{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:var(--sp2)}
.sv2{font-family:var(--mono);font-size:26px;font-weight:800;line-height:1;letter-spacing:-.5px;color:var(--text)}
.ss{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text3);margin-top:var(--sp1)}
.detail{display:none;background:var(--s1);border:1px solid var(--border);border-radius:var(--r3);padding:var(--sp6);margin-bottom:var(--sp5);animation:fadeUp .2s var(--ease-out)}
.detail.show{display:block}
@keyframes fi{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.dh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.dt{font-size:28px;font-weight:800;color:var(--text);font-family:var(--mono)}
.dm{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text3);margin-top:var(--sp1);line-height:var(--lh-relaxed)}
.cb{padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:12px;transition:all .2s}
.cb:hover{border-color:var(--red);color:var(--red)}
.dmet{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--sp2);margin-bottom:var(--sp5)}
.dmi{background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp3);transition:border-color var(--dur-fast)}
.dmi:hover{border-color:var(--border-hover)}
.dml{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:1px;margin-bottom:var(--sp1);text-transform:uppercase}
.dmv{font-family:var(--mono);font-size:var(--fs-lg);font-weight:700}
.brt{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:var(--sp3);padding-bottom:var(--sp2);border-bottom:1px solid var(--border)}
.brr{display:flex;align-items:center;gap:var(--sp3);margin-bottom:var(--sp2)}
.brl{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text3);width:185px;flex-shrink:0}
.brk{flex:1;height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}
.brf{height:100%;border-radius:3px;transition:width .6s var(--ease-out)}
.brv{font-family:var(--mono);font-size:var(--fs-md);font-weight:700;width:40px;text-align:right}
.rh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.rt{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.rr2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sbl{font-family:var(--mono);font-size:11px;color:var(--muted)}
.sbar{display:flex;gap:5px}
.sbtn{padding:var(--sp1) var(--sp2);border-radius:var(--r-sm);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:var(--fs-xs);transition:all var(--dur-fast)}
.sbtn.on{background:rgba(14,165,233,.06);border-color:rgba(14,165,233,.25);color:var(--cyan)}
.bdg{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:4px;background:rgba(0,217,255,.07);border:1px solid rgba(0,217,255,.2);color:var(--cyan)}
.tw{background:var(--s1);border:1px solid var(--border);border-radius:var(--r3);overflow:hidden;margin-bottom:var(--sp5);box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse}
thead th{padding:var(--sp3) var(--sp4);font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-align:left;background:var(--s2);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none;transition:color var(--dur-fast);font-weight:600}
thead th:hover{color:var(--cyan)}
tbody tr{border-bottom:1px solid var(--border-subtle);transition:background var(--dur-fast);cursor:pointer}
tbody tr:hover{background:rgba(14,165,233,.025)}
tbody tr:last-child{border-bottom:none}
td{padding:var(--sp3) var(--sp4);font-family:var(--mono);font-size:var(--fs-base);white-space:nowrap;color:var(--text2)}
.tkr{font-size:var(--fs-md);font-weight:800;color:var(--text);letter-spacing:-.2px}
.tkrs{font-size:var(--fs-xs);color:var(--text3);margin-top:1px}
.scw{display:flex;align-items:center;gap:var(--sp2)}
.scb{width:64px;height:6px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden}
.scf{height:100%;border-radius:3px;transition:width .5s var(--ease-out)}
.vc{padding:3px 8px;border-radius:5px;font-size:var(--fs-sm);font-weight:700}
.gb{display:flex;gap:2px;align-items:flex-end;height:16px}
.gbar{width:4px;border-radius:2px;transition:height .3s ease}
.rsic{padding:3px 7px;border-radius:4px;font-size:var(--fs-xs);font-weight:700}
.secc{padding:3px 7px;border-radius:4px;font-size:var(--fs-xs);background:rgba(160,96,240,.06);border:1px solid rgba(160,96,240,.15);color:var(--violet)}
.radc{padding:3px 8px;border-radius:4px;font-size:var(--fs-xs);font-weight:700}
.empty{padding:var(--sp16) var(--sp6);text-align:center}
.ei{font-size:40px;margin-bottom:var(--sp4);opacity:.4}
.et{font-size:var(--fs-lg);font-weight:700;margin-bottom:var(--sp2);color:var(--text2)}
.es{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text3);line-height:var(--lh-relaxed)}
.loading{padding:var(--sp16) var(--sp6);text-align:center}
.spin{width:32px;height:32px;border:2px solid rgba(14,165,233,.1);border-top-color:var(--cyan);border-radius:50%;animation:sp .7s linear infinite;margin:0 auto var(--sp4)}
@keyframes sp{to{transform:rotate(360deg)}}
.lt{font-family:var(--mono);font-size:var(--fs-md);color:var(--text2);letter-spacing:1.5px}
.ls{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text3);margin-top:var(--sp2)}
.pw{width:280px;height:3px;background:var(--border);border-radius:2px;margin:var(--sp3) auto 0;overflow:hidden}
.pf{height:100%;background:var(--cyan);border-radius:2px;transition:width .3s}
footer{border-top:1px solid var(--border);padding:var(--sp6) 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp3);margin-top:var(--sp8)}
footer p{font-family:var(--sans);font-size:var(--fs-xs);color:var(--text3);font-weight:500}
.ra{animation:ri .3s ease both}
@media(max-width:768px){.fpgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
/* ══ PRO-TOGGLE COLLAPSIBLE SECTIONS ══════════════════════════════════════ */
.pro-section{margin-top:8px;border:1px solid rgba(167,139,250,.15);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.pro-section:hover{border-color:rgba(167,139,250,.25)}
.pro-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;cursor:pointer;background:rgba(167,139,250,.04);border:none;width:100%;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--violet);letter-spacing:.3px;transition:background .15s;gap:8px}
.pro-toggle:hover{background:rgba(167,139,250,.08)}
.pro-toggle .pro-label{display:flex;align-items:center;gap:6px}
.pro-toggle .pro-badge{font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:1px;padding:2px 7px;border-radius:4px;background:rgba(167,139,250,.15);color:var(--violet)}
.pro-toggle .pro-chevron{font-size:10px;transition:transform .2s var(--ease-out);color:var(--text3)}
.pro-toggle.open .pro-chevron{transform:rotate(180deg)}
.pro-body{display:none;padding:12px 14px;background:rgba(167,139,250,.02);border-top:1px solid rgba(167,139,250,.1)}
.pro-body.open{display:block;animation:proSlide .2s var(--ease-out)}
@keyframes proSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}

.tab{padding:8px 16px;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text3);border-radius:var(--r);transition:all var(--dur-base) var(--ease-out);position:relative;white-space:nowrap;flex-shrink:0}
.tab:hover{color:var(--text2);background:var(--s2)}
.tab.act{color:var(--text);background:var(--s3);border-color:var(--border2);font-weight:700;box-shadow:var(--shadow-xs)}
.tabpanel{display:none;animation:panelIn .25s var(--ease-out)}.tabpanel.act{display:block}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ══ SIDEBAR NAVIGATION — v328 Architecture Redesign ═══════════════════════ */
.sidebar{position:fixed;top:0;left:0;width:220px;height:100vh;background:var(--s1);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:950;overflow:hidden;transition:width .2s var(--ease-out),transform .2s var(--ease-out)}
.sidebar .sb-nav-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}
.sidebar .sb-nav-scroll::-webkit-scrollbar{display:none}
.sidebar.collapsed{width:56px}
/* Sidebar brand */
.sb-brand{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0;min-height:52px}
.sb-brand .bico{width:34px;height:34px;flex-shrink:0}
.sb-brand .bico svg{width:22px;height:22px}
.sb-brand-text{overflow:hidden;white-space:nowrap;transition:opacity .15s}
.sb-brand-name{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--text);letter-spacing:.2px}
.sb-brand-ver{font-family:var(--mono);font-size:11px;color:var(--text3);display:inline;margin-left:4px;font-weight:500}
.sb-brand-sub{font-family:var(--mono);font-size:9px;color:var(--text3);letter-spacing:.5px;margin-top:1px}
.sidebar.collapsed .sb-brand-text{opacity:0;width:0;overflow:hidden}
.sidebar.collapsed .sb-brand{justify-content:center;padding:12px 0}
/* Sidebar sections & labels */
.sb-section{padding:4px 8px}
.sb-label{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;padding:10px 12px 4px;opacity:.6;white-space:nowrap;overflow:hidden}
.sidebar.collapsed .sb-label{font-size:0;padding:8px 0;text-align:center;opacity:1}.sidebar.collapsed .sb-label::after{content:'···';font-size:8px;color:var(--muted)}
/* Sidebar nav items */
.sb-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--r);cursor:pointer;color:var(--text3);font-family:var(--sans);font-size:13px;font-weight:500;transition:all .12s var(--ease-out);white-space:nowrap;overflow:hidden;border:1px solid transparent;margin:1px 0;position:relative}
.sb-item:hover{color:var(--text2);background:var(--s2)}
.sb-item.act{color:var(--cyan);background:rgba(56,189,248,.06);border-color:rgba(56,189,248,.12);font-weight:600}
.sb-item.act::before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:3px;border-radius:0 3px 3px 0;background:var(--cyan)}
.sb-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.sb-text{overflow:hidden;text-overflow:ellipsis}
.sidebar.collapsed .sb-text{display:none}
.sidebar.collapsed .sb-item{justify-content:center;padding:8px 0;margin:1px 4px}
.sb-badge{margin-left:auto;background:var(--cyan);color:#0a0e1a;border-radius:var(--r-full);padding:0 6px;font-size:10px;line-height:18px;font-weight:700;flex-shrink:0}
.sidebar.collapsed .sb-badge{position:absolute;top:1px;right:1px;padding:0 4px;font-size:8px;line-height:14px;min-width:14px;text-align:center}
/* Special badge colors */
.sb-badge.bg-yellow{background:var(--yellow)}.sb-badge.bg-green{background:var(--green)}.sb-badge.bg-orange{background:var(--orange)}.sb-badge.bg-purple{background:#a78bfa}
/* Sidebar divider */
.sb-divider{height:1px;background:var(--border);margin:4px 12px}
.sidebar.collapsed .sb-divider{margin:4px 8px}
/* Sidebar bottom (settings + toggle) */
.sb-bottom{margin-top:auto;border-top:1px solid var(--border);padding:6px 8px;flex-shrink:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(56,189,248,.2) transparent}.sb-bottom::-webkit-scrollbar{width:3px}.sb-bottom::-webkit-scrollbar-thumb{background:rgba(56,189,248,.2);border-radius:3px}
/* Sidebar settings controls */
.sb-ctrl-row{justify-content:space-between}
.sb-mini-ctrl{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}
.sb-mini-ctrl button{width:22px;height:22px;border-radius:4px;border:1px solid var(--border);background:var(--s3);color:var(--text3);cursor:pointer;font-size:12px;font-family:var(--mono);display:flex;align-items:center;justify-content:center;transition:all .12s;padding:0}
.sb-mini-ctrl button:hover{background:var(--s5);color:var(--cyan);border-color:rgba(56,189,248,.25)}
.sb-ctrl-val{font-family:var(--mono);font-size:10px;color:var(--text3);min-width:32px;text-align:center}
.sb-mini-toggle{display:flex;align-items:center;gap:1px;margin-left:auto;flex-shrink:0;background:var(--s1);border-radius:5px;border:1px solid var(--border);overflow:hidden}
.sb-tgl-btn{padding:3px 8px;font-family:var(--mono);font-size:10px;font-weight:600;border:none;background:none;color:var(--text3);cursor:pointer;transition:all .12s}
.sb-tgl-btn.act{background:rgba(56,189,248,.12);color:var(--cyan)}
.sb-tgl-btn:hover:not(.act){background:var(--s3)}
.sidebar.collapsed .sb-mini-ctrl,.sidebar.collapsed .sb-mini-toggle,.sidebar.collapsed .sb-ctrl-val{display:none}
/* Sidebar collapsed: hide Settings panel + chevron */
.sidebar.collapsed #sbSettingsPanel{display:none!important}
.sidebar.collapsed #sbSettingsChev{display:none}
/* Sidebar footer: version + toggle */
.sb-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border);background:rgba(0,0,0,.15);flex-shrink:0;position:relative;z-index:5}
.sb-footer-brand{display:flex;flex-direction:column;gap:1px;overflow:hidden;white-space:nowrap;transition:opacity .15s}
.sb-footer-name{font-family:var(--sans);font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.3px}
.sb-footer-ver{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.5px}
.sb-toggle-btn{width:30px;height:30px;border-radius:var(--r);background:var(--s3);border:1px solid var(--border2);color:var(--text3);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s var(--ease-out);flex-shrink:0}
.sb-toggle-btn:hover{background:var(--s5);color:var(--cyan);border-color:rgba(56,189,248,.25)}
.sidebar.collapsed .sb-footer{justify-content:center;padding:8px 4px}
.sidebar.collapsed .sb-footer-brand{opacity:0;width:0;overflow:hidden;position:absolute}
/* ── LAYOUT: Sidebar shifts all content right ── */
body.has-sidebar{padding-left:220px;transition:padding-left .2s var(--ease-out)}
body.has-sidebar.sb-collapsed{padding-left:56px}
body.has-sidebar .hdr-left{display:none}
body.has-sidebar #hdr-watchlist-btn,body.has-sidebar #hdr-portfolio-btn,body.has-sidebar #hdr-crypto-btn{display:none!important}
body.has-sidebar #tabBarWrap{display:none}
/* Header adjusts to sidebar */
body.has-sidebar header{position:sticky;top:0}
/* ── Stock Detail as Side Panel (wide screens) ── */
@media(min-width:1440px){
body.has-sidebar #stockDetailModal.open{background:rgba(0,0,0,.15);backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-end;padding:0}
body.has-sidebar #stockDetailBox{border-radius:0;max-width:480px;max-height:100vh;height:100vh;border-left:2px solid var(--border);box-shadow:-20px 0 60px rgba(0,0,0,.4);animation:sdSlideIn .25s var(--ease-out)}
@keyframes sdSlideIn{from{opacity:.8;transform:translateX(80px)}to{opacity:1;transform:none}}
}
/* ── Mobile: Sidebar off-screen, tabs return ── */
@media(max-width:900px){
.sidebar{transform:translateX(-100%);box-shadow:none;overflow:hidden}
.sidebar.mobile-open{transform:translateX(0);box-shadow:8px 0 30px rgba(0,0,0,.4)}
.sb-toggle-btn{display:flex}
body.has-sidebar{padding-left:0!important}
body.has-sidebar .hdr-left{display:flex}
body.has-sidebar #hdr-watchlist-btn,body.has-sidebar #hdr-portfolio-btn,body.has-sidebar #hdr-crypto-btn{display:inline-flex!important}
body.has-sidebar #tabBarWrap{display:flex}
.sb-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:940}
.sb-mobile-overlay.show{display:block}
}
/* Mobile hamburger button */
.sb-hamburger{display:none;padding:6px 10px;border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text3);cursor:pointer;font-size:16px;transition:all .12s}
.sb-hamburger:hover{color:var(--text);background:var(--s3)}
@media(max-width:900px){.sb-hamburger{display:inline-flex}}
/* ── Light mode sidebar ── */
/* uitabaudit_20260501: --card-bg für Light-Mode anpassen */
body.light{--card-bg:#f1f5f9}
body.light .sidebar{background:#fff;border-right-color:#e2e8f0}
body.light .sb-brand{border-bottom-color:#e2e8f0}
body.light .sb-item{color:#64748b}
body.light .sb-item:hover{background:#f1f5f9;color:#334155}
body.light .sb-item.act{background:rgba(2,132,199,.06);border-color:rgba(2,132,199,.15);color:#0284c7}
body.light .sb-item.act::before{background:#0284c7}
body.light .sb-label{color:#94a3b8}
body.light .sb-divider{background:#e2e8f0}
body.light .sb-bottom{border-top-color:#e2e8f0}
body.light .sb-mini-ctrl button{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}
body.light .sb-mini-ctrl button:hover{background:#e2e8f0;color:#0284c7}
body.light .sb-mini-toggle{background:#f8fafc;border-color:#e2e8f0}
body.light .sb-tgl-btn{color:#64748b}
body.light .sb-tgl-btn.act{background:rgba(2,132,199,.1);color:#0284c7}
body.light .sb-footer{background:rgba(0,0,0,.03);border-top-color:#e2e8f0}
body.light .sb-toggle-btn{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}

/* ══ KRYPTO / FINANZTRACKER — Design System ══ */
.kpi-grid{display:grid;gap:var(--sp3);margin-bottom:var(--sp5)}
.kpi-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r3);padding:var(--sp5) var(--sp6);transition:all var(--dur-base) var(--ease-out);position:relative;overflow:hidden;box-shadow:var(--shadow-xs)}
.kpi-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.kpi-card.c-amber{border-left:3px solid var(--yellow)}
.kpi-card.c-blue{border-left:3px solid var(--cyan)}
.kpi-card.c-green{border-left:3px solid var(--green)}
.kpi-card.c-red{border-left:3px solid var(--red)}
.kpi-card.c-accent{border-left:3px solid var(--violet)}
.kpi-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text3);margin-bottom:var(--sp2);text-transform:uppercase}
.kpi-val{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-.5px}
.kpi-sub{font-family:var(--sans);font-size:var(--fs-sm);color:var(--text3);margin-top:var(--sp2)}
.card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r3);overflow:hidden;transition:all var(--dur-base) var(--ease-out);box-shadow:var(--shadow-xs)}
.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp4) var(--sp5);border-bottom:1px solid var(--border);background:rgba(255,255,255,.01)}
.card-title{font-family:var(--sans);font-size:var(--fs-md);font-weight:700;color:var(--text);letter-spacing:.1px}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:var(--sp6)}
.page-title{font-family:var(--sans);font-size:var(--fs-2xl);font-weight:800;color:var(--text);letter-spacing:-.3px}
.page-sub{font-family:var(--sans);font-size:var(--fs-base);color:var(--text3);margin-top:6px;font-weight:500}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.month-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}
.month-tab{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap}
.month-tab:hover{border-color:rgba(0,217,255,.4);color:var(--cyan)}
.month-tab.active{background:rgba(0,217,255,.1);border-color:rgba(0,217,255,.5);color:var(--cyan)}
.btn{padding:var(--sp2) var(--sp4);border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text2);cursor:pointer;font-family:var(--sans);font-size:var(--fs-sm);font-weight:600;transition:all var(--dur-fast) var(--ease-out);display:inline-flex;align-items:center;gap:var(--sp2);white-space:nowrap}
.btn:hover{border-color:var(--border-hover);color:var(--text);background:var(--s3)}
.btn:active{transform:scale(.98)}
.btn-ghost{background:transparent;border-color:transparent}
.btn-ghost:hover{background:var(--s2);border-color:var(--border)}
.btn-primary{background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;border-color:transparent;font-weight:700}
.btn-primary:hover{box-shadow:0 4px 16px rgba(56,189,248,.2);transform:translateY(-1px)}
.btn-danger{border-color:rgba(248,113,113,.25);color:var(--red)}
.btn-danger:hover{background:rgba(248,113,113,.06);border-color:var(--red)}
.btn-sm{padding:var(--sp1) var(--sp3);font-size:var(--fs-xs)}
.form-input{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:10px 14px;font-family:var(--mono);font-size:13px;color:var(--text);outline:none;width:100%;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);box-sizing:border-box}
.form-input:focus{border-color:rgba(56,189,248,.4);box-shadow:0 0 0 3px rgba(56,189,248,.06)}
.form-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text3);margin-bottom:8px;display:block;text-transform:uppercase}
.td-num{text-align:right;font-family:var(--mono)}
.card-body{padding:14px 16px}
@keyframes kp-spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;padding:60px 24px;color:var(--text3)}
.empty-icon{font-size:44px;margin-bottom:16px;opacity:.3}
.empty-text{font-family:var(--sans);font-size:13px;line-height:1.7;font-weight:500}
.bio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:18px}
.bio-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r3);padding:var(--sp5);transition:all var(--dur-base) var(--ease-out);cursor:pointer;box-shadow:var(--shadow-xs)}
.bio-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.bio-card.hot{border-color:rgba(255,122,61,.35);box-shadow:0 4px 20px rgba(255,122,61,.08)}
.bc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;flex-wrap:wrap;gap:10px}
.bc-tkr{font-size:20px;font-weight:800;color:var(--cyan);font-family:var(--mono)}
.bc-name{font-size:12px;color:#8ab0cc;margin-top:2px;max-width:180px;line-height:1.4}
.bc-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.badge{padding:4px 10px;border-radius:var(--r-sm);font-family:var(--sans);font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.2px}
.badge-fda{background:rgba(255,107,43,.15);border:1px solid rgba(255,107,43,.4);color:#ff6b2b}
.badge-p3{background:rgba(0,255,148,.12);border:1px solid rgba(0,255,148,.3);color:var(--green)}
.badge-p2{background:rgba(0,217,255,.1);border:1px solid rgba(0,217,255,.25);color:var(--cyan)}
.badge-ins{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.3);color:var(--violet)}
.badge-cash{background:rgba(255,224,51,.1);border:1px solid rgba(255,224,51,.25);color:var(--yellow)}
.badge-rsi{padding:3px 8px;border-radius:4px;font-family:var(--mono);font-size:11px;font-weight:700}
.bc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}
.bcm{background:var(--s2);border-radius:6px;padding:8px;text-align:center}
.bcml{font-family:var(--mono);font-size:8px;color:#5a7a96;letter-spacing:1px;margin-bottom:3px}
.bcmv{font-family:var(--mono);font-size:13px;font-weight:700}
.bc-pipe{background:var(--s2);border-radius:7px;padding:10px;margin-bottom:8px}
.bc-pipe-t{font-family:var(--mono);font-size:8px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.pipe-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.pipe-phase{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:3px;font-weight:700;min-width:30px;text-align:center}
.ph1{background:rgba(0,217,255,.1);color:var(--cyan)}
.ph2{background:rgba(0,255,148,.1);color:var(--green)}
.ph3{background:rgba(255,224,51,.1);color:var(--yellow)}
.phfda{background:rgba(255,107,43,.15);color:#ff6b2b}
.pipe-name{font-family:var(--mono);font-size:11px;color:var(--text);flex:1}
.pipe-date{font-family:var(--mono);font-size:11px;color:var(--muted)}
.bc-cat{font-family:var(--mono);font-size:8px;color:#5a7a9a;letter-spacing:1px}
.bio-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.bio-sort{display:flex;gap:6px}
.bio-info{background:var(--s1);border:1px solid rgba(255,107,43,.2);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-family:var(--mono);font-size:12px;color:#ff6b2b;line-height:1.6}
.bio-scan-btn{padding:10px 24px;border-radius:var(--r);border:none;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:700;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;transition:all .2s;box-shadow:0 2px 8px rgba(56,189,248,.2)}
.bio-scan-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(56,189,248,.25)}
.bio-scan-btn:disabled{background:var(--s3);color:var(--muted);cursor:not-allowed;transform:none;box-shadow:none}
.bio-progress{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:22px;text-align:center;margin-bottom:16px;display:none}
.bio-progress.show{display:block}
.bio-prog-t{font-family:var(--mono);font-size:12px;color:var(--orange);letter-spacing:2px;margin-bottom:8px}
.bio-prog-s{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:10px}
.bio-pw{width:320px;height:4px;background:var(--border);border-radius:2px;margin:0 auto;overflow:hidden}
.bio-pf{height:100%;background:linear-gradient(90deg,#ff6b2b,#ffe033);border-radius:2px;transition:width .4s}

.chart-wrap{position:relative}
.chart-wrap::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}

.mini-chart{width:100%;border-radius:7px;overflow:visible;margin:10px 0 8px 0;background:var(--s2);border:1px solid var(--border);position:relative}

/* ── UNIVERSAL STOCK DETAIL MODAL (Watchlist & Portfolio) ── */
#stockDetailModal{position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.6);backdrop-filter:blur(24px) saturate(1.1);-webkit-backdrop-filter:blur(24px) saturate(1.1);display:none;align-items:center;justify-content:center;padding:var(--sp5);animation:fi .15s var(--ease-out)}
#stockDetailModal.open{display:flex}
#stockDetailBox{background:var(--s1);border:1px solid rgba(255,255,255,.08);border-radius:var(--r4);width:100%;max-width:800px;max-height:92vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 1px rgba(255,255,255,.1);animation:sdIn .3s var(--ease-out)}
@keyframes sdIn{from{opacity:0;transform:scale(.96) translateY(16px)}to{opacity:1;transform:none}}
#stockDetailBox .sd-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--sp6) var(--sp8) var(--sp5);border-bottom:1px solid var(--border);background:rgba(255,255,255,.015)}
#stockDetailBox .sd-ticker{font-family:var(--mono);font-size:var(--fs-4xl);font-weight:700;color:var(--text);line-height:1;letter-spacing:-1.5px}
#stockDetailBox .sd-name{font-family:var(--sans);font-size:var(--fs-md);color:var(--text2);margin-top:var(--sp2);font-weight:600}
#stockDetailBox .sd-meta{font-family:var(--sans);font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp1);line-height:1.8}
#stockDetailBox .sd-close{font-family:var(--sans);font-size:var(--fs-sm);font-weight:600;padding:var(--sp2) var(--sp3);border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text3);cursor:pointer;transition:all var(--dur-fast);flex-shrink:0}
#stockDetailBox .sd-close:hover{border-color:var(--red);color:var(--red);background:rgba(248,113,113,.06)}
#stockDetailBox .sd-body{padding:var(--sp6) var(--sp8) var(--sp8)}
#stockDetailBox .sd-chart{width:100%;min-height:220px;border-radius:var(--r);overflow:hidden;background:var(--s2);border:1px solid var(--border);position:relative;margin-bottom:var(--sp5)}
#stockDetailBox .sd-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp3);margin-bottom:var(--sp6)}
#stockDetailBox .sd-metric{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:var(--sp3) var(--sp4);cursor:default;transition:all var(--dur-fast)}
#stockDetailBox .sd-metric:hover{border-color:var(--border-hover);background:var(--s3)}
#stockDetailBox .sd-ml{font-family:var(--sans);font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.5px;margin-bottom:var(--sp1);text-transform:uppercase}
#stockDetailBox .sd-mv{font-family:var(--mono);font-size:var(--fs-lg);font-weight:700}
#stockDetailBox .sd-section{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text3);text-transform:uppercase;margin-bottom:var(--sp3);margin-top:var(--sp3);padding-bottom:var(--sp2);border-bottom:1px solid var(--border)}
#stockDetailBox .sd-bar-row{display:flex;align-items:center;gap:var(--sp3);margin-bottom:var(--sp3)}
#stockDetailBox .sd-bar-lbl{font-family:var(--sans);font-size:var(--fs-sm);font-weight:500;color:var(--text3);width:200px;flex-shrink:0}
#stockDetailBox .sd-bar-track{flex:1;height:8px;background:rgba(255,255,255,.04);border-radius:var(--r-full);overflow:hidden}
#stockDetailBox .sd-bar-fill{height:100%;border-radius:var(--r-full);transition:width .6s var(--ease-out)}
#stockDetailBox .sd-bar-val{font-family:var(--mono);font-size:var(--fs-md);font-weight:700;width:44px;text-align:right}
#stockDetailBox .sd-links{display:flex;gap:var(--sp2);flex-wrap:wrap;margin-top:var(--sp5);padding-top:var(--sp5);border-top:1px solid var(--border)}
#stockDetailBox .sd-loader{text-align:center;padding:var(--sp8);font-family:var(--sans);font-size:var(--fs-base);color:var(--muted)}
.sd-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(14,165,233,.15);border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite;margin-right:var(--sp2);vertical-align:middle}
.mini-chart canvas{width:100%!important;height:100%!important;pointer-events:auto;cursor:crosshair}
#dChart canvas{height:90px!important;max-height:90px}
.chart-period{position:absolute;top:5px;right:7px;font-family:var(--mono);font-size:8px;color:rgba(0,217,255,.5)}
.chart-tf-bar{display:flex;gap:3px;margin-bottom:4px;flex-shrink:0}
/* Candle Toggle Button */
.candle-btn{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:4px;border:1px solid rgba(255,200,0,.25);background:transparent;color:rgba(255,200,0,.45);cursor:pointer;transition:all .15s;letter-spacing:.5px;white-space:nowrap}
.candle-btn.on{border-color:rgba(255,200,0,.65);background:rgba(255,200,0,.12);color:#ffc800;font-weight:700}
.candle-btn:hover{border-color:rgba(255,200,0,.5);color:#ffc800}
.chart-tf-btn{font-family:var(--mono);font-size:8px;padding:2px 7px;border-radius:4px;border:1px solid rgba(0,217,255,.18);background:rgba(0,217,255,.04);color:rgba(0,217,255,.4);cursor:pointer;transition:all .15s;line-height:1.5}
.chart-tf-btn:hover{border-color:rgba(0,217,255,.5);color:#00d9ff;background:rgba(0,217,255,.1)}
.chart-tf-btn.on{border-color:rgba(0,217,255,.55);background:rgba(0,217,255,.1);color:#00d9ff;font-weight:700}
.chart-crosshair{position:absolute;pointer-events:none;z-index:5;display:none}
.chart-crosshair-price{position:absolute;font-family:var(--mono);font-size:11px;background:#0d1527;border:1px solid rgba(0,217,255,.4);border-radius:4px;padding:2px 6px;color:#00d9ff;pointer-events:none;white-space:nowrap;z-index:6;display:none}

.ptrade-row{display:grid;grid-template-columns:195px 190px 88px 72px 85px 88px 72px 88px 125px 48px 56px 56px 56px 88px 95px 110px 48px;gap:0;align-items:center;padding:11px 20px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s;cursor:default}
.ptrade-row:hover{background:rgba(255,255,255,.025)}
.ptrade-head{background:var(--s2);border-radius:var(--r) var(--r) 0 0;font-size:11px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;font-family:var(--sans);font-weight:600;min-width:1600px}
.ptrade-body{background:var(--s1);border-radius:0 0 8px 8px;border:1px solid var(--border);border-top:none;min-width:1600px}
.pbuy-btn{font-family:var(--mono);font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid rgba(0,255,148,.35);background:rgba(0,255,148,.08);color:#00ff94;cursor:pointer;transition:all .2s;white-space:nowrap}
.pbuy-btn:hover{background:rgba(0,255,148,.18);transform:scale(1.05)}
.pstat-card{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}
.api-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r3);margin-bottom:10px;overflow:hidden;transition:all var(--dur-base) var(--ease-out);box-shadow:var(--shadow-xs)}
.api-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}
.api-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;user-select:none}
.api-card-header:hover{background:rgba(255,255,255,.02)}
.api-card-body{padding:0 18px 16px;border-top:1px solid rgba(255,255,255,.05)}
.api-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.api-status-badge{font-family:var(--mono);font-size:8px;padding:3px 8px;border-radius:10px;font-weight:700}
.api-eye-btn{font-size:14px;background:none;border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;color:var(--muted);transition:all .15s}
.api-eye-btn:hover{border-color:#ffe033;color:#ffe033}
.api-test-btn{font-family:var(--mono);font-size:12px;padding:6px 14px;border-radius:6px;border:1px solid rgba(0,217,255,.3);background:rgba(0,217,255,.07);color:#00d9ff;cursor:pointer;transition:all .15s}
.api-test-btn:hover{background:rgba(0,217,255,.15)}
/* Mobile horizontal scroll for wide grid tables */
.ptrade-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.wl-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--border);width:100%;box-sizing:border-box}
.ptrade-row{min-width:1600px}
.wl-row{min-width:1455px}
@media(max-width:1100px){
  #portfolioTable,#closedTradesTable,#watchlistTable{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
.wl-row{display:grid;grid-template-columns:195px 185px 85px 90px 80px 75px 65px 120px 65px 65px 65px 105px 150px 110px;gap:0;align-items:center;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.04);transition:all var(--dur-fast) var(--ease-out)}
.wl-row:hover{background:rgba(255,255,255,.025)}
.wl-head{background:var(--s2);border-radius:var(--r) var(--r) 0 0;font-size:11px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;font-family:var(--sans);font-weight:600;min-width:1455px}
.wl-body{background:var(--s1);border-radius:0 0 8px 8px;min-width:1455px}
.alert-input{font-family:var(--mono);font-size:12px;padding:3px 7px;border-radius:4px;border:1px solid rgba(255,224,51,.25);background:rgba(255,224,51,.05);color:#ffe033;outline:none;width:75px;text-align:right}
.alert-input:focus{border-color:rgba(255,224,51,.6)}
.wl-note{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:3px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#a0b4c8;outline:none;width:95px}
.alert-hit{animation:alertPulse 1s ease-in-out infinite}
@keyframes alertPulse{0%,100%{background:rgba(255,224,51,.08)}50%{background:rgba(255,224,51,.25)}}


.bfpill{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#2d4460;cursor:pointer;transition:all .18s}
.bfpill.on{opacity:1;border-color:rgba(0,217,255,.5);background:rgba(0,217,255,.12);font-weight:700}
.bfpill:not(.on){opacity:.35;filter:grayscale(.5)}


/* ── INFO TOOLTIPS ─── */
.tipbtn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid rgba(160,180,200,.35);background:rgba(160,180,200,.08);color:#a0b4c8;font-size:8px;font-family:var(--mono);cursor:pointer;flex-shrink:0;transition:all .2s;position:relative;vertical-align:middle;margin-left:3px}
.tipbtn:hover{border-color:rgba(0,217,255,.5);color:#00d9ff;background:rgba(0,217,255,.1)}
.tipbox{position:fixed;z-index:9999;width:260px;background:var(--s2);border:1px solid rgba(255,255,255,.1);border-radius:var(--r3);padding:14px 16px;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 1px rgba(255,255,255,.08);font-family:var(--sans);pointer-events:none;opacity:0;transition:opacity .15s;font-size:12.5px;line-height:1.6}
.tipbox.show{opacity:1}
.tipbox-title{font-size:11px;font-weight:700;color:var(--cyan);letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px}
.tipbox-body{color:var(--text2)}
.tipbox-effect{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07)}
.tipbox-up{color:#00ff94;font-size:11px}
.tipbox-dn{color:#ff6b2b;font-size:11px;margin-top:2px}


.sec-heat-tile{padding:10px 12px;border:1px solid;border-radius:var(--r);min-width:90px;max-width:130px;cursor:default;transition:all var(--dur-fast) var(--ease-out)}
.sec-heat-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}


/* ── DUAL RANGE SLIDER ─── */

/* ── Filter-Off (⊘) Button ────────────────────────────────────── */
.foff{display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;border-radius:4px;border:1px solid rgba(255,80,80,.35);background:transparent;color:rgba(255,80,80,.6);font-size:11px;cursor:pointer;transition:all .15s;flex-shrink:0;font-family:var(--mono);line-height:1;padding:0}
.foff:hover{border-color:rgba(255,80,80,.8);color:#ff5050;background:rgba(255,80,80,.12);transform:scale(1.08)}
.foff.off{border-color:rgba(255,80,80,.85);color:#ff5050;background:rgba(255,80,80,.2);font-weight:800;box-shadow:0 0 8px rgba(255,80,80,.2)}
.sldim input[type=range]{opacity:.28!important;pointer-events:none!important}
.sldim .slmm{opacity:.28}
.sldim>div:first-child{opacity:.5}

/* ── BUY MODAL ───────────────────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal-box{background:var(--s1);border:1px solid rgba(255,255,255,.08);border-radius:var(--r4);padding:var(--sp8);min-width:340px;max-width:460px;width:90%;animation:fi .2s var(--ease-out);box-shadow:0 32px 80px rgba(0,0,0,.5),0 0 1px rgba(255,255,255,.1)}
.modal-title{font-family:var(--sans);font-size:var(--fs-xl);font-weight:700;color:var(--text);margin-bottom:var(--sp5);letter-spacing:-.2px}
.modal-field{margin-bottom:var(--sp5)}
.modal-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text3);text-transform:uppercase;margin-bottom:var(--sp2)}
.modal-input{width:100%;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:var(--sp3) var(--sp4);font-family:var(--mono);font-size:var(--fs-md);color:var(--text);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.modal-input:focus{border-color:rgba(56,189,248,.5);box-shadow:0 0 0 3px rgba(56,189,248,.08)}
.modal-actions{display:flex;gap:var(--sp3);margin-top:var(--sp6)}
.modal-confirm{flex:1;padding:var(--sp3);border-radius:var(--r);border:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-md);font-weight:700;letter-spacing:.3px;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;transition:all var(--dur-fast)}
.modal-confirm:hover{box-shadow:0 4px 16px rgba(56,189,248,.25);transform:translateY(-1px)}
.modal-confirm:active{transform:scale(.98)}
.modal-cancel{padding:var(--sp3) var(--sp4);border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text3);cursor:pointer;font-family:var(--sans);font-size:var(--fs-base);font-weight:600;transition:all var(--dur-fast)}
.modal-cancel:hover{border-color:var(--red);color:var(--red)}

/* ── SELL MODAL ──────────────────────────────────────────────── */
.sell-confirm{flex:1;padding:11px;border-radius:var(--r);border:none;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.3px;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;transition:all .2s}
.sell-confirm:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(248,113,113,.25)}

/* ── ALERT BANNER ────────────────────────────────────────────── */
#alertBanner{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.alert-toast{background:var(--s1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:var(--r3);padding:var(--sp4) var(--sp5);font-family:var(--sans);font-size:var(--fs-md);font-weight:600;min-width:280px;max-width:360px;box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 1px rgba(255,255,255,.1);animation:toastIn .3s var(--ease-out);pointer-events:all;cursor:pointer}
.alert-toast.hit-high{border-color:rgba(34,197,94,.4);color:var(--green);border-left:3px solid var(--green)}
.alert-toast.hit-low{border-color:rgba(239,68,68,.4);color:var(--red);border-left:3px solid var(--red)}
@keyframes toastIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}

/* ── SCAN OVERLAY ────────────────────────────────────────────── */
.scan-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;pointer-events:none}
.scan-overlay.show{display:block}
.scan-overlay.show ~ * .fp, .scanning-active .fp{pointer-events:none;opacity:.55;transition:opacity .3s}

/* ── 52W BAR ─────────────────────────────────────────────────── */
.w52bar{display:flex;align-items:center;gap:5px;margin-top:3px}
.w52track{flex:1;height:4px;background:rgba(255,255,255,.06);border-radius:var(--r-full);overflow:hidden;min-width:55px}
.w52fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--red),var(--yellow),var(--green));transition:width .5s var(--ease-out)}
.w52lbl{font-family:var(--mono);font-size:8px;color:var(--muted)}

/* ── VOLUME TREND ────────────────────────────────────────────── */
.vol-trend{display:flex;gap:2px;align-items:flex-end;height:16px;margin-top:2px}
.vt-bar{width:5px;border-radius:1px;min-height:2px;flex-shrink:0}

/* ── WATCHLIST SORT ──────────────────────────────────────────── */
.wl-sort{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.wl-shdr{cursor:pointer;user-select:none;white-space:nowrap;color:var(--muted);transition:color .15s}.wl-shdr:hover{color:#ffe033!important}.wl-shdr-on{color:#ffe033}
.wl-sort-btn{padding:6px 12px;border-radius:var(--r);border:1px solid var(--border);background:var(--s2);color:var(--text3);cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:600;transition:all var(--dur-fast) var(--ease-out)}
.wl-sort-btn.on{border-color:rgba(56,189,248,.3);color:var(--cyan);background:rgba(56,189,248,.06)}
.wl-sort-btn:hover{border-color:var(--border-hover);color:var(--text2)}

/* ── CLOSED TRADES ───────────────────────────────────────────── */
.closed-section{margin-top:28px;border-top:1px solid var(--border);padding-top:20px}
.closed-title{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:12px}
.ctrade-row{display:grid;grid-template-columns:130px 1fr 90px 90px 90px 90px 80px;gap:8px;align-items:center;padding:10px 16px;border:1px solid var(--border);border-radius:var(--r);background:var(--s2);margin-bottom:6px;font-family:var(--mono);font-size:12px;opacity:.8}
.cluster-warn{background:rgba(255,107,43,.08);border:1px solid rgba(255,107,43,.35);border-radius:8px;padding:10px 16px;font-family:var(--mono);font-size:11px;color:var(--orange);margin-bottom:16px}

/* ── API ERROR LIST ──────────────────────────────────────────── */
#apiErrorList{display:none;background:rgba(255,51,85,.05);border:1px solid rgba(255,51,85,.2);border-radius:8px;padding:12px 16px;margin-top:12px;font-family:var(--mono);font-size:12px;color:var(--red)}
#apiErrorList.show{display:block}

/* ── MOBILE ──────────────────────────────────────────────────── */
@media(max-width:768px){
  .wrap{padding:0 var(--sp3)}
  .fpgrid{grid-template-columns:1fr}
  .hdr{flex-direction:column;align-items:flex-start;gap:var(--sp2)}
  .hright{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .hdr-tools{flex-wrap:wrap;gap:var(--sp1)}
  .stats{grid-template-columns:1fr 1fr}
  table{font-size:11px}
  table td,table th{padding:6px 5px}
  .rr{flex-wrap:wrap}
  input[type=range]{min-width:60px}
  .modal-box{padding:var(--sp5);min-width:unset;max-width:95vw}
  #stockDetailBox{max-width:98vw;border-radius:var(--r3)}
  #stockDetailBox .sd-body{padding:var(--sp4)}
  #stockDetailBox .sd-header{padding:var(--sp4)}
  .ptrade-row{grid-template-columns:1fr 1fr;font-size:11px}
  .wl-row{grid-template-columns:1fr 1fr;font-size:11px}
  .kpi-grid{gap:var(--sp2)}
  .bio-grid{grid-template-columns:1fr}
  #prcPlansGrid{grid-template-columns:1fr!important}
}

/* ── MOBILE EXTENDED — Morning + Scanner + Tabs ─────────────── */
@media(max-width:700px){
  /* Tab-Leiste scrollbar statt umbrechen */
  .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;padding-bottom:4px}
  .tabs::-webkit-scrollbar{height:3px}
  .tabs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
  button.tab{white-space:nowrap;flex-shrink:0;font-size:11px;padding:7px 11px}

  /* Morning/CC Tab: Multi-Spalten → 1-Spalte */
  #panel-morning .hdr-row,
  #panel-morning > div > div[style*="grid-template-columns:1fr 1fr"],
  #panel-morning > div > div[style*="grid-template-columns: 1fr 1fr"],
  #panel-morning > div > div[style*="grid-template-columns:1fr 1fr 1fr"]{
    grid-template-columns:1fr !important
  }
  /* Regime-Bar + Sector-Chips wrappen */
  #md-regime-bar{flex-direction:column !important}
  #md-sectors{gap:4px !important}

  /* Morning Header Stack */
  #panel-morning > div > div:first-child{
    flex-direction:column;align-items:flex-start;gap:8px
  }
  #apex-btn{width:100%;justify-content:center}

  /* F&G Grid → 1 Spalte */
  #panel-morning > div > div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important
  }

  /* KGV/Drawdown Grid → 1 Spalte */
  #md-kgv,#md-drawdown{min-width:0}

  /* Scanner Filter-Panel kompakter */
  .filter-row{flex-direction:column;gap:8px}
  .filter-group{min-width:unset;width:100%}

  /* Ergebnis-Tabelle horizontal scrollbar */
  #resultsWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #resultsTable{min-width:700px}

  /* Markt-Pulse Sidebar full-width auf Mobile */
  #mpPanel{width:100vw !important;max-width:100vw !important;right:0 !important}

  /* Portfolio/Watchlist Zeilen vereinfachen */
  .ptrade-row{grid-template-columns:1fr 1fr !important;font-size:11px}
  .wl-head,.wl-body,.wl-row{min-width:600px}

  /* Bio/Tech Slider-Grid kompakter */
  .slider-grid,.sg-col{flex-direction:column}
  .sg-col{gap:6px}

  /* Gauge SVG zentriert skalieren */
  #md-fg-stocks svg,#md-fg-crypto svg{width:100% !important;height:auto !important}

  /* Header komprimieren */
  .hdr{gap:6px}
  .hright{gap:4px}
  .hright button{font-size:11px;padding:5px 8px}
}

/* ── VERY SMALL (< 420px) ───────────────────────────────────── */
@media(max-width:420px){
  .hdr{padding:8px 10px}
  #panel-morning > div{padding:0 6px}
  .modal-box{margin:10px;padding:16px 12px}
  button.tab{font-size:8px;padding:5px 7px}
}

/* ── SCANNER NOTE INPUT ──────────────────────────────────────── */
.scan-note{font-family:var(--mono);font-size:11px;padding:3px 7px;border-radius:4px;border:1px solid rgba(255,224,51,.2);background:rgba(255,224,51,.04);color:#ffe033;outline:none;width:100%;margin-top:4px;box-sizing:border-box}
.scan-note:focus{border-color:rgba(255,224,51,.6)}
.scan-note::placeholder{color:rgba(255,224,51,.3)}

/* ── ATH BADGE ───────────────────────────────────────────────── */
.ath-badge{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:8px;font-weight:800;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:rgba(255,224,51,.15);border:1px solid rgba(255,224,51,.5);color:#ffe033;animation:athPulse 2s ease-in-out infinite}
/* ── POSITION ICONS (Trophy + Nummerierung) ──────────────────── */
.pos-icon{display:inline-flex;align-items:center;justify-content:center;min-width:28px;font-size:0.95em;margin-right:4px}
.pos-gold{font-size:1.1em}
.pos-silver{font-size:1.05em}
.pos-bronze{font-size:1.0em}
.pos-num{background:rgba(255,255,255,.08);border-radius:4px;padding:0 4px;font-size:0.8em;color:#888;font-weight:600}
/* AI Research */
.kir-theme-btn{padding:5px 11px;border-radius:20px;border:1px solid rgba(168,85,247,.25);background:var(--s2);color:var(--muted);font-family:var(--mono);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}
.kir-theme-btn:hover{border-color:rgba(168,85,247,.6);color:#a855f7;background:rgba(168,85,247,.08)}
.kir-theme-btn.act{border-color:#a855f7;background:rgba(168,85,247,.18);color:#d8b4fe;font-weight:700}
.kir-theme-wrap{background:rgba(168,85,247,.04);border:1px solid rgba(168,85,247,.18);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.ai-type-btn{padding:5px 11px;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--muted);font-family:var(--mono);font-size:11px;cursor:pointer;transition:all .15s}
.ai-type-btn:hover{border-color:rgba(168,85,247,.5);color:#c084fc}
.ai-type-btn.active{border-color:rgba(168,85,247,.6);background:rgba(168,85,247,.12);color:#c084fc}
@keyframes aiSpin{to{transform:rotate(360deg)}}
.ai-spin{display:inline-block;animation:aiSpin 1s linear infinite;font-size:14px}
.ai-result-section{margin-bottom:14px}
.ai-result-section h3{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:#a855f7;text-transform:uppercase;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(168,85,247,.15)}
.ai-badge{padding:5px 12px;border-radius:20px;font-family:var(--mono);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.ai-saved-item{background:var(--s1);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:border-color .15s}
.ai-saved-item:hover{border-color:rgba(168,85,247,.4)}
@keyframes athPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,224,51,.3)}50%{box-shadow:0 0 8px 2px rgba(255,224,51,.2)}}

/* ── MARKT-PULSE PANEL SLIDE-IN ──────────────────────────────── */
@keyframes mpSlideIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}

/* ── MP NEWS HOVER EXPAND (pure CSS) ─────────────────────────── */
.mp-news-item{
  display:block;
  text-decoration:none;
  padding:6px 8px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.05);
  background:rgba(255,255,255,.01);
  overflow:hidden;
  max-height:58px;
  transition:max-height .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
  cursor:pointer;
  position:relative;
}
.mp-news-item:hover{
  max-height:160px;
  border-color:rgba(168,85,247,.5);
  transform:translateX(-3px);
  background:rgba(168,85,247,.04);
}
.mp-news-item.mp-breaking{
  border-color:rgba(255,200,50,.2);
  background:rgba(255,200,0,.03);
}
.mp-news-item.mp-breaking:hover{
  border-color:rgba(255,200,50,.6);
  box-shadow:0 0 14px rgba(255,200,0,.18), -2px 0 12px rgba(255,200,0,.12);
}
.mp-news-title{
  font-size:12px;
  color:#c0d0e0;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:display .22s ease, -webkit-line-clamp .22s ease;
}
.mp-news-item:hover .mp-news-title{
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
}
.mp-news-meta{
  display:flex;
  gap:6px;
  margin-top:4px;
  align-items:center;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .22s ease .05s, transform .22s ease .05s;
}
.mp-news-item:hover .mp-news-meta{
  opacity:1;
  transform:translateY(0);
}

/* ── SCAN HISTORY DROPDOWN ───────────────────────────────────── */
#scanHistoryBtn{position:relative}
.scan-hist-menu{position:absolute;top:110%;right:0;background:var(--s1);border:1px solid var(--border);border-radius:8px;padding:6px;min-width:220px;z-index:500;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.scan-hist-item{font-family:var(--mono);font-size:12px;padding:7px 10px;border-radius:5px;cursor:pointer;color:var(--text);transition:background .15s}
.scan-hist-item:hover{background:var(--s3)}
.scan-hist-item .shi-date{font-size:8px;color:var(--muted);margin-top:2px}

/* ── PORTFOLIO CHART ─────────────────────────────────────────── */
.pt-chart-wrap{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:18px;min-height:180px}
.pt-chart-title{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:10px}

/* ── EDIT MODAL ──────────────────────────────────────────────── */
.edit-confirm{flex:1;padding:11px;border-radius:8px;border:none;cursor:pointer;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1px;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#000;transition:all .2s}
.edit-confirm:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,224,51,.3)}

/* ── STOP-LOSS / TAKE-PROFIT IN PORTFOLIO ────────────────────── */
.pt-alert-input{font-family:var(--mono);font-size:11px;padding:2px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#a0b4c8;outline:none;width:68px;text-align:right}
.pt-alert-input:focus{border-color:var(--cyan)}

/* ── TICKER SEARCH ───────────────────────────────────────────── */
#resultSearch{background:var(--s2);border:1px solid var(--border);border-radius:6px;padding:6px 11px;font-family:var(--mono);font-size:11px;color:var(--text);outline:none;width:180px;transition:border-color .2s}
#resultSearch:focus{border-color:var(--cyan)}
#resultSearch::placeholder{color:var(--muted)}
/* Search Autocomplete */
.search-wrap{position:relative;display:inline-block}
.search-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:280px;background:var(--s1);border:1px solid var(--cyan);border-radius:8px;z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.6);overflow:hidden;max-height:260px;overflow-y:auto}
.search-dropdown.open{display:block}
.search-dd-item{padding:9px 14px;cursor:pointer;font-family:var(--mono);font-size:11px;color:var(--text);display:flex;align-items:center;gap:10px;transition:background .12s;border-bottom:1px solid rgba(255,255,255,.04)}
.search-dd-item:hover,.search-dd-item.active{background:rgba(0,217,255,.09);color:var(--cyan)}
.search-dd-item.dd-already{opacity:.6}
.search-dd-item:last-child{border-bottom:none}
.search-dd-ticker{font-weight:800;color:var(--cyan);min-width:52px;flex-shrink:0}
.search-dd-name{color:var(--muted);font-size:12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-dd-isin{font-size:11px;color:rgba(0,217,255,.45);flex-shrink:0}
.search-dd-empty{padding:12px 14px;font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center}

/* ── LIGHT MODE ──────────────────────────────────────────────── */
body.light{--bg:#f8fafc;--s1:#fff;--s2:#f1f5f9;--s3:#e2e8f0;--s4:#cbd5e1;--s5:#94a3b8;--border:#e2e8f0;--border2:#cbd5e1;--border-subtle:rgba(0,0,0,.04);--border-hover:rgba(0,0,0,.08);--text:#0f172a;--text2:#334155;--text3:#64748b;--muted:#94a3b8;--cyan:#0284c7;--green:#16a34a;--orange:#ea580c;--yellow:#ca8a04;--red:#dc2626;--violet:#7c3aed;background:#f8fafc;background-image:none;color:#0f172a}
body.light .fp{background:#fff;border-color:#ccd4e0;box-shadow:0 2px 8px rgba(0,0,0,.07)}
body.light .tw{background:#fff;border-color:#ccd4e0;box-shadow:0 2px 8px rgba(0,0,0,.07)}
body.light .stat{background:#fff;border-color:#ccd4e0;box-shadow:0 1px 5px rgba(0,0,0,.06)}
body.light header{background:rgba(255,255,255,.9);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
body.light .brand-name{color:var(--cyan)}
body.light .brand-sub{color:var(--muted)}
body.light .tab{background:transparent;border-color:transparent;color:var(--text3)}
body.light .tab.act{background:transparent;border-bottom-color:var(--cyan);color:var(--text)}
body.light .tab:hover:not(.act){color:var(--text2);border-bottom-color:var(--border2)}
body.light #tBody tr{border-bottom:1px solid #e8edf4}
body.light #tBody tr:hover{background:#f0f6ff}
body.light .tkr{color:#0c1e2e;font-weight:900}
body.light td,body.light th{color:#1c2b3a}
body.light thead tr{background:#f2f5f9}
body.light th{color:#3a5570;border-bottom:2px solid #ccd4e0}
body.light .scanbtn{background:linear-gradient(135deg,#0077aa,#007a45);color:#fff}
body.light .rbtn{background:#eef1f6;border-color:#aabbd0;color:#1c2b3a}
body.light .rbtn:hover{background:#e2e7ef}
body.light .sbtn{background:#eef1f6;border-color:#aabbd0;color:#3a5570}
body.light .sbtn.on{background:#0077aa22;border-color:#0077aa;color:#0077aa}
body.light .tbtn{background:#eef1f6;border-color:#aabbd0;color:#3a5570}
body.light .bfpill{background:#eef1f6!important;border-color:#aabbd0;color:#1c2b3a}
body.light .bfpill.on{background:#0077aa18!important;border-color:#0077aa;color:#0077aa}
body.light .wl-row{background:#fff;border-color:#dde4ee}
body.light .wl-row:hover{background:#f4f8ff}
body.light .wl-head,body.light .wl-sort{background:#f2f5f9;color:#3a5570}
body.light .wl-sort-btn{background:#eef1f6;border-color:#aabbd0;color:#3a5570}
body.light .wl-sort-btn.on{background:#0077aa20;border-color:#0077aa;color:#0077aa}
body.light .alert-input{background:#f6f8fc;border-color:#c0cedd;color:#1c2b3a}
body.light .wl-note,body.light .scan-note{background:#fffbea;border-color:#ddc87a;color:#6a4f00}
body.light .ptrade-row{background:#fff;border-color:#dde4ee}
body.light .ptrade-row:hover{background:#f4f8ff}
body.light .ptrade-head{background:#f2f5f9;color:#3a5570}
body.light .pstat-card{background:#fff;border-color:#ccd4e0}
body.light .modal-box{background:#fff;border-color:#ccd4e0;color:#1c2b3a}
body.light .modal-title{color:#0077aa}
body.light .modal-label{color:#5a7290}
body.light .modal-input{background:#f2f5f9;border-color:#aabbd0;color:#1c2b3a}
body.light .modal-cancel{background:#eef1f6;border-color:#aabbd0;color:#3a5570}
body.light .secc{background:#e8f0ff;border-color:#8aaad0;color:#1a4080}
body.light .scb{background:#dde4ee}
body.light .scan-overlay{background:rgba(220,228,240,.7)}
body.light footer{background:#fff;border-top:1px solid #ccd4e0;color:#7a90a8}
body.light #resultSearch{background:#f2f5f9;border-color:#aabbd0;color:#1c2b3a}

/* ── ZOOM MODE ─────────────────────────────────────────────── */
body.zoom-on{font-size:16px}
body.zoom-on .sv2{font-size:30px}
body.zoom-on .sl{font-size:11px!important}
body.zoom-on .ss{font-size:11px!important}
body.zoom-on .stat{padding:20px!important}
body.zoom-on td,body.zoom-on th{font-size:14px!important;padding:14px 12px!important;line-height:1.6!important}
body.zoom-on .tkr{font-size:16px!important}
body.zoom-on .sc-name{font-size:13px!important}
body.zoom-on .pill,body.zoom-on .pb,body.zoom-on .tbtn,body.zoom-on .sbtn,body.zoom-on .rbtn,body.zoom-on .scanbtn{font-size:13px!important;padding:10px 18px!important}
body.zoom-on .lbl{font-size:11px!important}
body.zoom-on .fp{padding:24px!important}
body.zoom-on .rr .rl,body.zoom-on .rr .rv{font-size:13px!important}
body.zoom-on .dmi{padding:15px!important}
body.zoom-on .dml{font-size:11px!important}
body.zoom-on .dmv{font-size:19px!important}
body.zoom-on .wl-row{padding:16px!important}
body.zoom-on .wl-head{font-size:13px!important}
body.zoom-on .tab{font-size:14px!important;padding:12px 20px!important}
body.zoom-on .bname{font-size:22px!important}
body.zoom-on .btag{font-size:10px!important}
body.zoom-on .bsub{font-size:11px!important}
body.zoom-on .bico{width:44px!important;height:44px!important}
body.zoom-on .bico::before{font-size:24px!important}
body.zoom-on .rt,body.zoom-on .bdg{font-size:13px!important}
body.zoom-on .detail .dml,body.zoom-on .detail .dmv{font-size:inherit!important}
body.zoom-on .ns-card{padding:18px!important}
body.zoom-on .pstat-card{padding:18px!important}
body.zoom-on input[type=range]::-webkit-slider-thumb{width:18px!important;height:18px!important}

/* ── ZOOM: Bio & Tech Tabs ── */
body.zoom-on .bc-tkr{font-size:24px!important}
body.zoom-on .bc-name{font-size:12px!important}
body.zoom-on .bcml{font-size:12px!important}
body.zoom-on .bcmv{font-size:16px!important}
body.zoom-on .bio-card{padding:22px!important}
body.zoom-on .bio-scan-btn{font-size:13px!important;padding:12px 26px!important}

/* ── ZOOM: Insider Tab ── */
body.zoom-on .insider-row{font-size:13px!important;padding:13px 16px!important}
body.zoom-on .insider-head{font-size:12px!important;padding:10px 16px!important}
body.zoom-on .insider-ticker{font-size:17px!important}
body.zoom-on .insider-val{font-size:15px!important}
body.zoom-on .insider-filter-btn{font-size:12px!important;padding:7px 15px!important}

/* ── ZOOM: Neue Aktien Tab ── */
body.zoom-on .ns-row{font-size:13px!important;padding:13px 16px!important}
body.zoom-on .ns-head{font-size:12px!important;padding:10px 16px!important}
body.zoom-on .ns-ticker{font-size:17px!important}
body.zoom-on .ns-filter-btn{font-size:12px!important;padding:7px 14px!important}

/* ── ZOOM: Markt-Radar Tab ── */
body.zoom-on .mr-card{padding:18px!important}
body.zoom-on .mr-ticker{font-size:12px!important}
body.zoom-on .mr-name{font-size:12px!important}
body.zoom-on .mr-price{font-size:18px!important}
body.zoom-on .mr-chg{font-size:12px!important}
body.zoom-on .mr-section-title{font-size:11px!important}

/* ── Alpha Signals: Card Tabs (Progressive Disclosure) ── */
.as-tab-bar{display:flex;gap:3px;padding:6px 14px;background:rgba(0,0,0,.15);border-bottom:1px solid rgba(255,255,255,.04)}
.as-tab-btn{font-family:var(--mono);font-size:8px;padding:3px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(140,160,180,.55);cursor:pointer;transition:all .15s;white-space:nowrap}
.as-tab-btn:hover{color:rgba(140,160,180,.9);border-color:rgba(255,255,255,.18)}
.as-tab-btn.at-act{background:rgba(0,217,255,.1);border-color:rgba(0,217,255,.35);color:#00d9ff;font-weight:700}
.as-tab-pane{display:none}
.as-tab-pane.at-vis{display:block}
/* ── Filter State Bar ── */
.as-state-bar{padding:5px 14px;background:rgba(0,0,0,.12);border-bottom:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--mono)}
.as-state-tag{font-size:8px;padding:1px 8px;border-radius:3px}
/* ── Preset Chips ── */
.as-preset-chip{font-family:var(--mono);font-size:8px;padding:3px 11px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:rgba(140,160,180,.6);cursor:pointer;white-space:nowrap;transition:all .15s}
.as-preset-chip:hover{border-color:rgba(255,255,255,.22);color:rgba(140,160,180,.9)}
.as-preset-chip.ap-act{border-color:rgba(255,200,0,.7);background:rgba(255,200,0,.18);color:#ffc800;font-weight:700}
.as-preset-chip.ap-new{border-style:dashed;border-color:rgba(0,217,255,.25);color:rgba(0,217,255,.45)}
.as-preset-chip.ap-new:hover{border-color:rgba(0,217,255,.5);color:#00d9ff}
/* ── Dividend Scanner Pills ── */
.div-preset-chip{font-family:var(--mono);font-size:10px;padding:4px 12px;border-radius:20px;border:1px solid rgba(255,200,0,.2);background:rgba(255,200,0,.04);color:rgba(255,200,0,.6);cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
.div-preset-chip:hover{border-color:rgba(255,200,0,.5);color:#ffc800}
.div-preset-chip.dp-act{border-color:rgba(255,200,0,.75);background:rgba(255,200,0,.2);color:#ffc800;font-weight:700}
.div-idx-pill{font-family:var(--mono);font-size:10px;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,200,0,.2);background:rgba(255,200,0,.04);color:rgba(255,200,0,.5);cursor:pointer;transition:all .15s}
.div-idx-pill:hover{border-color:rgba(255,200,0,.4);color:#ffc800}
.div-idx-pill.on{border-color:rgba(255,200,0,.75);background:rgba(255,200,0,.2);color:#ffc800;font-weight:700}
.div-idx-pill:not(.on){opacity:.4;filter:grayscale(.4)}
/* ── Alpha Signals: Pill Filter Buttons ── */
.as-pill{font-family:var(--mono);font-size:11px;padding:3px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:rgba(140,160,180,.4);cursor:pointer;transition:all .15s;white-space:nowrap}
.as-pill:hover{border-color:rgba(0,217,255,.4);color:rgba(0,217,255,.7)}
.as-pill-act{background:rgba(0,217,255,.15);border-color:#00d9ff;color:#00d9ff;font-weight:700}
.as-pill-gold{border-color:rgba(255,255,255,.1);color:rgba(140,160,180,.4)}
.as-pill-gold.as-pill-act{background:rgba(255,200,0,.15);border-color:#ffc800;color:#ffc800;font-weight:700}
.as-sort-pill{font-family:var(--mono);font-size:8px;padding:3px 9px;border-radius:4px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:rgba(140,160,180,.38);cursor:pointer;transition:all .15s;white-space:nowrap}
.as-sort-pill:hover{border-color:rgba(255,255,255,.2);color:rgba(160,180,200,.8)}
.as-sort-act{background:rgba(255,200,0,.12);border-color:rgba(255,200,0,.5);color:#ffc800;font-weight:700}

/* ── ZOOM: Alpha Signals Tab ── */
body.zoom-on .as-card{border-radius:12px!important}
body.zoom-on .as-card-header{padding:14px 18px!important}
body.zoom-on .as-card-section{padding:14px 18px!important}
body.zoom-on .as-metric-tile div:first-child{font-size:11px!important}
body.zoom-on .as-metric-tile div:last-child{font-size:13px!important}
body.zoom-on .as-score-bar-wrap span:first-child{width:82px!important;font-size:11px!important}
body.zoom-on #asChartModal canvas{height:460px!important}
body.zoom-on .as-action-btn{font-size:11px!important;padding:6px 14px!important}
body.zoom-on .as-idx-pill{font-size:12px!important;padding:6px 14px!important}
body.zoom-on .as-mode-btn{font-size:12px!important;padding:8px 18px!important}
body.zoom-on .as-ctx-card{padding:18px 22px!important}
body.zoom-on #asTable{font-size:13px!important}
body.zoom-on .candle-btn{font-size:11px!important;padding:4px 12px!important}

body.light .as-card{background:#fff;border-color:#d0d8e8}
body.light .as-card:hover{border-color:#0077aa44}
body.light .as-card-hot{border-color:rgba(255,80,0,.5)!important}
body.light .as-card-section{border-color:#e4eaf4}
body.light .as-ctx-card{background:#f5f7fa;border-color:#d0d8e8}
body.light .as-best-card{background:#f5f7fa;border-color:#d0d8e8}
body.light .as-metric-tile{background:#eef1f6}
body.light .as-score-bar-bg{background:rgba(0,0,0,.08)}
body.light .as-idx-pill{color:#3a5570;border-color:#b0bfd0}
body.light .as-idx-pill.act{background:rgba(180,130,0,.1);border-color:#b38600;color:#b38600}
body.light .candle-btn{color:#8a7000;border-color:rgba(180,130,0,.3)}
body.light .candle-btn.on{background:rgba(180,130,0,.1);border-color:#b38600;color:#b38600}

/* ── ZOOM: KI-Research Tab ── */
body.zoom-on .kir-tkr{font-size:19px!important}
body.zoom-on .kir-snum{font-size:30px!important}
body.zoom-on .kir-slbl{font-size:12px!important}
body.zoom-on .kir-sum{font-size:12px!important;max-height:unset!important;line-height:1.7!important}
body.zoom-on .kir-card{padding:18px!important}
body.zoom-on .kir-theme-btn,.zoom-on .kir-fb,.zoom-on .kir-ab{font-size:11px!important;padding:7px 14px!important}
body.zoom-on .kir-chip{font-size:11px!important;padding:4px 10px!important}

/* ── ZOOM: Portfolio Tab ── */
body.zoom-on .ptrade-row{font-size:12px!important;padding:12px 18px!important}
body.zoom-on .ptrade-head{font-size:11px!important}
body.zoom-on .closed-title{font-size:13px!important}

/* ── ZOOM: Watchlist & Portfolio — dynamische Inline-Styles überschreiben ── */
body.zoom-on #watchlistTable .wl-row>div{font-size:13px!important;line-height:1.55!important}
body.zoom-on #watchlistTable .wl-row>div>div{font-size:13px!important}
body.zoom-on #watchlistTable .wl-row>div>a{font-size:11px!important}
body.zoom-on #portfolioTable .ptrade-row>div{font-size:12px!important;line-height:1.55!important}
body.zoom-on #portfolioTable .ptrade-row>div>div{font-size:12px!important}
body.zoom-on #portfolioTable .ptrade-row>div>a{font-size:11px!important}
body.zoom-on .pstat-card>div:first-child{font-size:24px!important}
body.zoom-on .pstat-card>div:nth-child(2){font-size:11px!important}
body.zoom-on .wl-head>div{font-size:11px!important}
body.zoom-on .ptrade-head>div{font-size:11px!important}

/* ── ZOOM: Markt-Pulse News Panel ── */
body.zoom-on #mp-modal{width:460px!important}
body.zoom-on .mp-news-item{max-height:72px!important}
body.zoom-on .mp-news-item:hover{max-height:200px!important}
body.zoom-on .mp-news-title{font-size:12px!important;line-height:1.5!important}
body.zoom-on .mp-news-meta span{font-size:11px!important}
body.zoom-on #mp-quotes .mp-quote-item,body.zoom-on #mp-movers>*{font-size:11px!important}

/* ── MP QUOTE ROW ─────────────────────────────────────────────── */
.mp-quote-row{background:rgba(255,255,255,.03);border-radius:6px;padding:6px 8px;display:flex;justify-content:space-between;align-items:center}
.mp-q-label{font-family:var(--mono);font-size:11px;color:#6a8aaa}
.mp-q-price{font-family:var(--mono);font-size:12px;font-weight:700;color:#c8d8e8}
.mp-q-chg{font-family:var(--mono);font-size:11px;font-weight:700}

/* ── MP MOVER ROW ─────────────────────────────────────────────── */
.mp-mover-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;background:rgba(255,255,255,.02);cursor:pointer;transition:background .15s}
.mp-mover-row:hover{background:rgba(255,255,255,.05)}
.mp-mv-sym{font-family:var(--mono);font-size:12px;font-weight:800;color:#e0e8f0;min-width:44px}
.mp-mv-name{font-family:var(--mono);font-size:11px;color:#4a6080;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-mv-price{font-family:var(--mono);font-size:12px;font-weight:700;color:#c8d8e8;min-width:52px;text-align:right}
.mp-mv-pct{font-family:var(--mono);font-size:11px;font-weight:800;min-width:52px;text-align:right}
.mp-mv-plus{font-family:var(--mono);font-size:8px;color:#2a3a4a}

/* ── ZOOM: MP Quotes & Movers ── */
body.zoom-on .mp-q-label{font-size:11px!important}
body.zoom-on .mp-q-price{font-size:12px!important}
body.zoom-on .mp-q-chg{font-size:11px!important}
body.zoom-on .mp-quote-row{padding:8px 10px!important}
body.zoom-on .mp-mv-sym{font-size:12px!important}
body.zoom-on .mp-mv-name{font-size:11px!important}
body.zoom-on .mp-mv-price{font-size:12px!important}
body.zoom-on .mp-mv-pct{font-size:11px!important}
body.zoom-on .mp-mover-row{padding:7px 8px!important}
#zoomBtn.zoom-active{background:rgba(0,217,255,.12)!important;border-color:var(--cyan)!important;color:var(--cyan)!important;box-shadow:0 0 12px rgba(0,217,255,.25)}
body.light .ath-badge{background:rgba(160,110,0,.12);border-color:rgba(160,110,0,.5);color:#8a6a00}
body.light .cluster-warn{background:#fff3cd;border-color:#f0c040;color:#6a4a00}
body.light .tipbox{background:#fff;border-color:#aabbd0;color:#1c2b3a}
body.light .tipbox-title{color:#0077aa}
body.light .tipbox-body{color:#3a5570}
body.light .pt-chart-wrap{background:#fff;border-color:#ccd4e0}
body.light .scan-hist-menu{background:#fff;border-color:#ccd4e0}
body.light .scan-hist-item{color:#1c2b3a}
body.light .scan-hist-item:hover{background:#f0f6ff}
body.light .si{color:#5a7290}
body.light .live .dot{background:#007a45}
body.light #clk{color:#3a5570}

/* ── INSIDER TAB ─────────────────────────────────────────────────────────── */
.insider-filter-btn{font-family:var(--mono);font-size:12px;padding:5px 12px;border-radius:5px;border:1px solid rgba(255,107,43,.25);background:transparent;color:#ff6b2b;cursor:pointer;transition:all .15s;white-space:nowrap}
.insider-filter-btn:hover{background:rgba(255,107,43,.1)}
.insider-filter-btn:not(.on){opacity:.4;filter:grayscale(.4)}
.insider-filter-btn.on{background:rgba(255,107,43,.22);border-color:rgba(255,107,43,.75);font-weight:700}
.insider-row{display:grid;grid-template-columns:200px 280px 185px 140px 140px 140px 115px 190px;gap:0;padding:10px 18px;border-bottom:1px solid rgba(255,107,43,.08);align-items:center;transition:background .15s;font-family:var(--mono);font-size:11px}
.insider-row:hover{background:rgba(255,107,43,.05)}
.insider-head{font-size:8px;letter-spacing:1.5px;color:var(--muted);background:rgba(255,107,43,.06);border-radius:6px 6px 0 0;font-weight:700;padding:8px 14px}
.insider-body{border:1px solid rgba(255,107,43,.12);border-radius:0 0 8px 8px;overflow:hidden}
.insider-ticker{font-size:15px;font-weight:900;color:#e8f4ff;font-family:var(--mono)}
.insider-val{font-size:13px;font-weight:800;color:#ff6b2b}
.insider-badge{display:inline-block;font-size:8px;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px;margin-top:3px}
.insider-ceo{background:rgba(255,107,43,.15);border:1px solid rgba(255,107,43,.4);color:#ff6b2b}
.insider-cfo{background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.35);color:#00d9ff}
.insider-dir{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.35);color:#a855f7}
.insider-own{background:rgba(255,224,51,.12);border:1px solid rgba(255,224,51,.35);color:#ffe033}
.insider-other{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:#8aaccc}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes kpulse{0%,100%{opacity:1}50%{opacity:.45}}
body.light .insider-filter-btn{border-color:rgba(200,70,0,.3);color:#c94f00}
body.light .insider-filter-btn.on{background:rgba(200,70,0,.12);border-color:#c94f00}
body.light .insider-row{border-bottom-color:rgba(200,70,0,.1)}
body.light .insider-row:hover{background:rgba(200,70,0,.04)}
body.light .insider-ticker{color:#0c1e2e}
body.light .insider-val{color:#c94f00}
body.light .insider-head{background:rgba(200,70,0,.06);color:#5a7290}
body.light .insider-body{border-color:rgba(200,70,0,.15)}
.insider-row{grid-template-columns:160px 200px 140px 100px 110px 110px 140px 140px!important}
.insider-head{grid-template-columns:140px 170px 120px 85px 95px 95px 130px 130px!important}
/* ── NEUE AKTIEN TAB ──────────────────────────────────── */
.ns-filter-btn{font-family:var(--mono);font-size:12px;padding:5px 12px;border-radius:5px;border:1px solid rgba(0,255,148,.2);background:transparent;color:#00ff94;cursor:pointer;transition:all .15s;white-space:nowrap}
.ns-filter-btn:hover{background:rgba(0,255,148,.08)}
.ns-filter-btn:not(.on){opacity:.4;filter:grayscale(.4)}
.ns-filter-btn.on{background:rgba(0,255,148,.2);border-color:rgba(0,255,148,.7);font-weight:700}
.ns-row{display:grid;grid-template-columns:210px 320px 210px 140px 140px 155px 155px;gap:0;padding:10px 18px;border-bottom:1px solid rgba(0,255,148,.07);align-items:center;transition:background .15s;font-family:var(--mono);font-size:11px}
.ns-row:hover{background:rgba(0,255,148,.04)}
.ns-head{font-size:8px;letter-spacing:1.5px;color:var(--muted);background:rgba(0,255,148,.05);border-radius:6px 6px 0 0;font-weight:700;padding:8px 18px;display:grid;grid-template-columns:210px 320px 210px 140px 140px 155px 155px}
.ns-body{border:1px solid rgba(0,255,148,.1);border-radius:0 0 8px 8px;overflow:hidden}
.ns-ticker{font-size:15px;font-weight:900;color:#e8f4ff}
.ns-idx-badge{display:inline-block;font-size:8px;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px;margin-top:3px}
.ns-idx-sp500{background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.35);color:#00d9ff}
.ns-idx-nasdaq{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.35);color:#a855f7}
.ns-idx-russell{background:rgba(255,224,51,.12);border:1px solid rgba(255,224,51,.35);color:#ffe033}
.ns-idx-dji{background:rgba(255,107,43,.12);border:1px solid rgba(255,107,43,.35);color:#ff6b2b}
.ns-idx-sp400{background:rgba(0,255,148,.12);border:1px solid rgba(0,255,148,.35);color:#00ff94}
.ns-new-badge{display:inline-block;font-size:8px;padding:2px 7px;border-radius:10px;font-weight:700;background:linear-gradient(135deg,#00ff94,#00d9ff);color:#0a0e1a;margin-top:3px}
/* ── MARKT-RADAR ─────────────────────────────────────────────────────────── */
.mr-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r3);padding:var(--sp4) var(--sp5);position:relative;cursor:pointer;transition:border-color var(--dur-base) var(--ease-in-out);min-width:0}
.mr-card:hover{border-color:var(--border-hover);z-index:2}
.mr-card.mr-up{border-left:3px solid var(--green)}
.mr-card.mr-dn{border-left:3px solid var(--red)}
.mr-card.mr-neu{border-left:3px solid var(--text3)}
/* ── MR Detail Overlay ─────────────────── */
.mr-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:10000;cursor:pointer;animation:fi .18s ease}
.mr-detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0d1424;border:1px solid rgba(0,217,255,.4);border-radius:16px;padding:28px 32px;z-index:10001;min-width:340px;max-width:520px;width:90vw;box-shadow:0 24px 80px rgba(0,0,0,.85);cursor:default;animation:fi .2s ease}
.mr-detail-modal .mr-d-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.mr-detail-modal .mr-d-sym{font-family:var(--mono);font-size:22px;font-weight:900;color:#00d9ff;letter-spacing:1px}
.mr-detail-modal .mr-d-name{font-size:12px;color:#a0b4c8;margin-top:3px}
.mr-detail-modal .mr-d-close{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#a0b4c8;cursor:pointer;font-family:var(--mono);font-size:11px;padding:5px 10px;transition:all .15s}
.mr-detail-modal .mr-d-close:hover{border-color:#ff3366;color:#ff3366}
.mr-detail-modal .mr-d-price{font-family:var(--mono);font-size:32px;font-weight:900;color:#e8f4ff;letter-spacing:-1px}
.mr-detail-modal .mr-d-chg{font-family:var(--mono);font-size:14px;font-weight:700;padding:3px 10px;border-radius:5px;margin-left:10px;vertical-align:middle}
.mr-detail-modal .mr-d-chart{width:100%;height:110px;margin:16px 0 10px;border-radius:6px;display:block}
.mr-detail-modal .mr-d-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.mr-detail-modal .mr-d-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 12px;text-align:center}
.mr-detail-modal .mr-d-stat .mr-d-sl{font-family:var(--mono);font-size:8px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.mr-detail-modal .mr-d-stat .mr-d-sv{font-family:var(--mono);font-size:15px;font-weight:800}
.mr-detail-modal .mr-d-ath-bar{margin-top:14px;height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.mr-detail-modal .mr-d-ath-fill{height:100%;border-radius:2px;transition:width .6s}
.mr-detail-modal .mr-d-ath-label{font-family:var(--mono);font-size:8px;color:var(--muted);margin-top:5px;display:flex;justify-content:space-between}
.mr-detail-modal .mr-d-alert-row{margin-top:12px;font-family:var(--mono);font-size:11px;color:#ffe033;display:flex;gap:14px;flex-wrap:wrap}
.mr-dtf-btn{font-family:var(--mono);font-size:10px;font-weight:700;padding:4px 10px;border-radius:5px;border:1px solid rgba(0,217,255,.2);background:rgba(0,217,255,.04);color:#6b8ca8;cursor:pointer;transition:all .15s}
.mr-dtf-btn:hover{border-color:rgba(0,217,255,.5);color:#00d9ff}
.mr-dtf-btn.mr-dtf-act{background:rgba(0,217,255,.15);border-color:#00d9ff;color:#00d9ff;box-shadow:0 0 8px rgba(0,217,255,.2)}
.mr-section-title{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted);font-weight:700;padding:4px 0 10px;text-transform:uppercase}
.mr-ticker{font-family:var(--mono);font-size:12px;font-weight:900;color:#4a8fa8;letter-spacing:.5px}
.mr-name{font-size:12px;color:#e8f4ff;font-weight:600;margin:2px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.mr-price{font-family:var(--mono);font-size:15px;font-weight:900;color:#e8f4ff;display:inline}
.mr-chg{font-family:var(--mono);font-size:12px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:5px;display:inline}
.mr-chg.up{color:#00ff94;background:rgba(0,255,148,.1)}
.mr-chg.dn{color:#ff3366;background:rgba(255,51,102,.1)}
.mr-chg.neu{color:#a0b4c8;background:rgba(160,180,200,.08)}
.mr-ath-bar{margin-top:7px;height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.mr-ath-fill{height:100%;border-radius:2px;transition:width .6s}
.mr-meta{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-family:var(--mono);font-size:8px;color:var(--muted)}
.mr-alert-btn{font-size:12px;cursor:pointer;opacity:.4;transition:all .15s;background:none;border:none;padding:2px 4px;position:absolute;top:8px;right:8px;color:inherit;line-height:1}
.mr-alert-btn:hover{opacity:.9;transform:scale(1.2)}
.mr-alert-btn.active{opacity:1;color:#ffe033}
.mr-sparkline{display:block;width:100%;height:34px;margin-top:7px;border-radius:3px}
.mr-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.mr-badge-ath{display:inline-block;font-size:7px;padding:1px 5px;border-radius:3px;font-weight:700;background:rgba(255,215,0,.12);border:1px solid rgba(255,215,0,.3);color:#ffd700;vertical-align:middle;margin-left:3px}
.mr-loading-card{background:var(--s2);border:1px solid var(--s3);border-radius:10px;padding:14px 16px;animation:pulse 1.2s infinite}
.mr-alert-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0d1424;border:1px solid rgba(0,217,255,.35);border-radius:12px;padding:24px 28px;z-index:9999;min-width:320px;font-family:var(--mono);box-shadow:0 20px 60px rgba(0,0,0,.8)}
.mr-alert-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;cursor:pointer}
.mr-input{font-family:var(--mono);font-size:12px;padding:7px 10px;border-radius:6px;border:1px solid rgba(0,217,255,.3);background:rgba(0,217,255,.05);color:#e8f4ff;width:100%;box-sizing:border-box}
.mr-tf-btn{font-family:var(--mono);font-size:12px;font-weight:700;padding:4px 9px;border-radius:5px;border:none;cursor:pointer;background:transparent;color:#4a8fa8;transition:all .15s}
.mr-tf-btn:hover{background:rgba(0,217,255,.1);color:#00d9ff}
.mr-tf-active{background:rgba(0,217,255,.18)!important;color:#00d9ff!important}
body.light .mr-card{background:#f0f5ff;border-color:#d0dded}
body.light .mr-card:hover{background:#e8f0fb;box-shadow:0 8px 20px rgba(0,100,200,.1)}
body.light .mr-detail-modal{background:#f0f5ff;border-color:#a0bbd8}
body.light .mr-name{color:#0c1e2e}
body.light .mr-price{color:#0c1e2e}
body.light .mr-section-title{color:#5a7290}
body.light .mr-loading-card{background:#f0f5ff;border-color:#d0dded}
body.light .ns-filter-btn{border-color:rgba(0,130,70,.3);color:#007a45}
body.light .ns-filter-btn.on{background:rgba(0,130,70,.1);border-color:#007a45}
body.light .ns-row{border-bottom-color:rgba(0,130,70,.1)}
body.light .ns-row:hover{background:rgba(0,130,70,.04)}
body.light .ns-ticker{color:#0c1e2e}
body.light .ns-head{background:rgba(0,130,70,.05);color:#5a7290}
body.light .ns-body{border-color:rgba(0,130,70,.15)}

/* ── PRESET TOOLTIP BUTTON ───────────────────────────────────── */
.pb-wrap{display:inline-flex;align-items:center;gap:2px;position:relative}
.pb-wrap .pb{border-radius:7px 0 0 7px;margin:0}
.pb-wrap .ptip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:100%;min-height:28px;border-radius:0 7px 7px 0;border:1px solid currentColor;border-left:none;opacity:.5;font-size:8px;font-family:var(--mono);cursor:pointer;flex-shrink:0;transition:all .15s;background:transparent;color:inherit;padding:0;line-height:1}
.pb-wrap .ptip:hover{opacity:1;background:rgba(255,255,255,.08)}
.pb-wrap.act-wrap .pb{border-color:inherit}
/* standalone ptip in dropdown .ms-name */
.ms-name .ptip{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;border:1px solid rgba(160,180,200,.4);opacity:.5;font-size:7.5px;font-family:var(--mono);cursor:pointer;flex-shrink:0;transition:all .15s;background:transparent;color:#a0b4c8;padding:0;vertical-align:middle;margin-left:3px}
.ms-name .ptip:hover{opacity:1;border-color:rgba(0,217,255,.5);color:#00d9ff}
/* skip badge */
.skip-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;padding:3px 10px;border-radius:5px;background:rgba(0,255,148,.07);border:1px solid rgba(0,255,148,.25);color:#00ff94;margin-left:8px}
/* ── MEHR STRATEGIEN DROPDOWN ────────────────────────────────── */
.ms-wrap{position:relative;display:inline-block}
.ms-toggle{padding:7px 14px;border-radius:7px;cursor:pointer;border:1px solid rgba(0,217,255,.4);background:rgba(0,217,255,.06);color:#00d9ff;font-family:var(--mono);font-size:12px;transition:all .2s;white-space:nowrap}
.ms-toggle:hover{background:rgba(0,217,255,.12);box-shadow:0 0 12px rgba(0,217,255,.15)}
.ms-toggle.ms-active{background:rgba(0,217,255,.14);border-color:#00d9ff;box-shadow:0 0 16px rgba(0,217,255,.25);color:#fff}
.ms-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:1200;background:#080d18;border:1px solid #1c2840;border-radius:12px;min-width:310px;padding:8px 6px;box-shadow:0 20px 50px rgba(0,0,0,.75),0 0 0 1px rgba(0,217,255,.06);animation:msIn .15s ease}
.ms-menu.open{display:block}
@keyframes msIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.ms-section{font-family:var(--mono);font-size:8px;letter-spacing:2.5px;color:var(--muted);padding:7px 10px 4px;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.04)}
.ms-section:first-child{border-top:none}
.ms-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 12px;border-radius:8px;border:none;background:transparent;cursor:pointer;transition:all .15s;text-align:left}
.ms-item:hover{background:rgba(0,217,255,.07)}
.ms-item.pb.ap{background:rgba(0,217,255,.18);outline:1px solid rgba(0,217,255,.5);font-weight:700}
.ms-icon{font-size:15px;line-height:1;flex-shrink:0;margin-top:1px}
.ms-text{display:flex;flex-direction:column;gap:2px}
.ms-name{font-family:var(--mono);font-size:12px;font-weight:700;color:#d4e8ff}
.ms-desc{font-family:var(--mono);font-size:8.5px;color:var(--muted);line-height:1.4}
.ms-badge{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:7.5px;padding:2px 6px;border-radius:3px;margin-top:3px;border:1px solid}
.ms-badge.risk-low{color:#00ff94;border-color:rgba(0,255,148,.35);background:rgba(0,255,148,.06)}
.ms-badge.risk-mid{color:#ffe033;border-color:rgba(255,224,51,.35);background:rgba(255,224,51,.06)}
.ms-badge.risk-high{color:#ff6b2b;border-color:rgba(255,107,43,.35);background:rgba(255,107,43,.06)}
.ms-badge.risk-extreme{color:#ff3355;border-color:rgba(255,51,85,.35);background:rgba(255,51,85,.06)}
.ms-divider{height:1px;background:rgba(255,255,255,.05);margin:4px 6px}
body.light .ms-menu{background:#f0f5ff;border-color:#ccd4e0;box-shadow:0 16px 40px rgba(0,0,0,.15)}
body.light .ms-item:hover{background:rgba(0,119,170,.07)}
body.light .ms-name{color:#0c1e2e}

/* ── KI-RESEARCH ─────────────────────────────────────────────── */
.kir-stat{background:var(--s1);border:1px solid;border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:all .2s}
.kir-stat:hover,.kir-stat.act{filter:brightness(1.2);transform:translateY(-1px)}
.kir-snum{font-family:var(--mono);font-size:26px;font-weight:900;line-height:1}
.kir-slbl{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:1.5px;margin-top:5px;opacity:.6}
.kir-fb{font-family:var(--mono);font-size:12px;padding:5px 13px;border-radius:20px;border:1px solid rgba(168,85,247,.35);background:rgba(168,85,247,.07);color:#a855f7;cursor:pointer;transition:all .15s}
.kir-fb:hover,.kir-fb.act{background:rgba(168,85,247,.22);border-color:#a855f7}
.kir-card{background:var(--s1);border:1px solid rgba(168,85,247,.18);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}
/* Backtest/Track Record styles */
.bt-stat-card{background:var(--s1);border:1px solid;border-radius:10px;padding:14px;text-align:center}
.bt-stat-num{font-family:var(--mono);font-size:26px;font-weight:900;line-height:1}
.bt-stat-lbl{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:1.5px;margin-top:5px;opacity:.6}
.bt-filter-btn{font-family:var(--mono);font-size:11px;padding:4px 11px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}
.bt-filter-btn:hover,.bt-filter-btn.act{background:rgba(255,107,43,.15);border-color:rgba(255,107,43,.5);color:#ff6b2b}
.bt-subtab{transition:all .15s}.bt-subtab.act{background:rgba(255,107,43,.12)!important;border-color:rgba(255,107,43,.4)!important;color:#ff6b2b!important}
.bt-trade-row{display:grid;grid-template-columns:80px 90px 90px 80px 80px 80px 1fr 80px;gap:8px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.04);font-family:var(--mono);font-size:12px;align-items:center;transition:background .15s}
.bt-trade-row:hover{background:rgba(255,107,43,.04)}
.bt-trade-hdr{font-size:8px!important;color:var(--muted)!important;letter-spacing:1px;background:rgba(0,0,0,.3)!important;border-radius:6px 6px 0 0;font-weight:700!important}
.ipo-card{background:rgba(255,107,43,.04);border:1px solid rgba(255,107,43,.2);border-radius:10px;padding:14px 16px;margin-bottom:10px;transition:border-color .2s}
.ipo-card:hover{border-color:rgba(255,107,43,.45)}
.ipo-rating{font-family:var(--mono);font-size:11px;font-weight:800;padding:3px 10px;border-radius:12px}
.ipo-rating.buy{background:rgba(0,255,148,.15);border:1px solid rgba(0,255,148,.4);color:#00ff94}
.ipo-rating.watch{background:rgba(255,224,51,.12);border:1px solid rgba(255,224,51,.4);color:#ffe033}
.ipo-rating.skip{background:rgba(255,51,85,.1);border:1px solid rgba(255,51,85,.35);color:#ff3355}
.kir-card:hover{border-color:rgba(168,85,247,.42)}
.kir-tkr{font-family:var(--mono);font-size:16px;font-weight:800;color:#a855f7}
.kir-bdg{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}
.kir-bdg.watch{background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.4);color:#00d9ff}
.kir-bdg.buy{background:rgba(0,255,148,.12);border:1px solid rgba(0,255,148,.4);color:#00ff94}
.kir-bdg.skip{background:rgba(255,51,85,.1);border:1px solid rgba(255,51,85,.35);color:#ff3355}
.kir-bdg.none{background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.25);color:#a855f7}
.kir-ab{font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:5px;border:1px solid;cursor:pointer;font-weight:600;transition:all .15s}
.kir-sum{font-family:var(--mono);font-size:12px;color:#8aaccc;line-height:1.6;padding:8px 10px;background:rgba(168,85,247,.04);border-radius:6px;border-left:2px solid rgba(168,85,247,.3);max-height:100px;overflow:hidden}
.kir-spin{display:inline-block;width:11px;height:11px;border:2px solid rgba(168,85,247,.25);border-top-color:#a855f7;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:5px}
.kir-chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;padding:2px 7px;border-radius:10px;background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.25);color:#a855f7;margin:2px;cursor:pointer}
.kir-chip:hover{background:rgba(168,85,247,.22)}
.kir-src{background:var(--s1);border-radius:11px;padding:16px}
.kir-fb{font-family:var(--mono);font-size:12px;padding:4px 11px;border-radius:20px;border:1px solid rgba(168,85,247,.3);background:transparent;color:#8aaccc;cursor:pointer;transition:all .15s}
.kir-fb:hover{background:rgba(168,85,247,.12);color:#a855f7}
.kir-fa{background:rgba(168,85,247,.15);color:#a855f7;border-color:rgba(168,85,247,.5)}
.kir-sig{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:10px;font-weight:700;letter-spacing:.3px}
.kir-src-h{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px}
.kir-src-sub{font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:10px;line-height:1.5}
.kir-sb{width:100%;font-family:var(--mono);font-size:11px;font-weight:700;padding:9px;border-radius:7px;cursor:pointer;transition:all .15s}
.kir-res{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.7;max-height:150px;overflow-y:auto}

/* ── CHARTMUSTER TAB ── */
.cp-filter-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--muted);font-family:var(--mono);font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}
.cp-filter-btn:not(.on){opacity:.4;filter:grayscale(.4)}
.cp-filter-btn.on{border-color:rgba(255,224,51,.7);background:rgba(255,224,51,.18);color:#ffe033;font-weight:700}
.cp-row{display:grid;grid-template-columns:185px 300px 1fr 165px 140px 155px 115px;gap:0;padding:11px 20px;border-bottom:1px solid rgba(255,224,51,.07);align-items:center;transition:background .15s;font-family:var(--mono);font-size:11px;cursor:pointer}
.cp-row:hover{background:rgba(255,224,51,.05)}
.cp-head{display:grid;grid-template-columns:185px 300px 1fr 165px 140px 155px 115px;gap:0;padding:9px 20px;background:rgba(255,224,51,.05);border:1px solid rgba(255,224,51,.12);border-radius:8px 8px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;align-items:center}
.cp-head>div:hover{color:#ffe033}
.cp-body{border:1px solid rgba(255,224,51,.1);border-top:none;border-radius:0 0 8px 8px;overflow:hidden}
.cp-ticker{font-size:15px;font-weight:800;color:var(--cyan);line-height:1}
.cp-name{font-size:8px;color:#8aaccc;margin-top:3px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-score-bar{width:100%;height:8px;background:var(--border);border-radius:4px;margin-top:5px;overflow:hidden}
.cp-score-fill{height:100%;border-radius:3px;transition:width .6s ease}
.cp-badge{display:inline-block;padding:4px 9px;border-radius:5px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}
.cp-badge-bullflag{background:rgba(0,255,148,.1);border:1px solid rgba(0,255,148,.4);color:#00ff94}
.cp-badge-cuphandle{background:rgba(0,217,255,.1);border:1px solid rgba(0,217,255,.4);color:#00d9ff}
.cp-badge-triangle{background:rgba(255,224,51,.1);border:1px solid rgba(255,224,51,.4);color:#ffe033}
.cp-badge-breakout{background:rgba(255,107,43,.12);border:1px solid rgba(255,107,43,.5);color:#ff6b2b}
.cp-badge-hs{background:rgba(255,51,85,.1);border:1px solid rgba(255,51,85,.4);color:#ff3355}
.cp-badge-vcp{background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.4);color:#a855f7}
.cp-badge-relstr{background:rgba(0,255,204,.1);border:1px solid rgba(0,255,204,.4);color:#00ffcc}
.cp-badge-tightcons{background:rgba(245,158,66,.12);border:1px solid rgba(245,158,66,.45);color:#f59e42}
.cp-badge-volbuy{background:rgba(232,121,249,.1);border:1px solid rgba(232,121,249,.4);color:#e879f9}
.cp-badge-flatbase{background:rgba(99,202,255,.1);border:1px solid rgba(99,202,255,.4);color:#63caff}
.cp-badge-hightightflag{background:rgba(255,165,0,.12);border:1px solid rgba(255,165,0,.5);color:#ffa500}
.cp-badge-pocketpivot{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.4);color:#34d399}
.cp-conf{font-size:13px;font-weight:800}
.cp-loadbar-wrap{height:4px;background:var(--s2);border-radius:2px;overflow:hidden;margin-top:10px}
.cp-loadbar{height:100%;background:linear-gradient(90deg,#ffe033,#ff6b2b);border-radius:2px;transition:width .3s ease;width:0%}
@media(max-width:1300px){.cp-row,.cp-head{grid-template-columns:145px 220px 1fr 130px 110px 125px 90px;padding:9px 14px!important}}
body.zoom-on .cp-ticker{font-size:18px!important}
body.zoom-on .cp-badge{font-size:12px!important}
body.light .cp-row{border-bottom-color:rgba(200,150,0,.1)}
body.light .cp-row:hover{background:rgba(200,150,0,.05)}
body.light .cp-head{background:rgba(200,150,0,.07);border-color:rgba(200,150,0,.2)}

/* ── CP Context Layers (cpContextLayers_20260429) ────────────────── */
.cp-vwap-above{color:#10b981;font-size:.75em;font-family:var(--mono)}
.cp-vwap-below{color:#ef4444;font-size:.75em;font-family:var(--mono)}
.cp-atr-stop{color:#6b7280;font-size:.75em;font-family:var(--mono)}
.cp-rs-strong{color:#f59e0b;font-size:.75em;font-weight:600;font-family:var(--mono)}
.cp-rs-ok{color:#10b981;font-size:.75em;font-family:var(--mono)}
.cp-rs-weak{color:#ef4444;font-size:.75em;font-family:var(--mono)}
.cp-context-badges{display:flex;flex-direction:column;gap:2px;margin-top:5px}
.cp-of-gate-btn{font-family:var(--mono);font-size:10px;padding:3px 9px;border-radius:5px;border:1px solid rgba(168,85,247,.35);background:transparent;color:#a855f7;cursor:pointer;transition:all .2s;white-space:nowrap}
.cp-of-gate-btn.active{background:rgba(168,85,247,.15);border-color:rgba(168,85,247,.7);color:#d9a0ff}


/* ── EARNINGS & ALERT SYSTEM ─────────────────────────────────────── */
.earn-badge{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:7px;font-weight:700;padding:2px 6px;border-radius:10px;white-space:nowrap;letter-spacing:.3px;margin-top:3px;cursor:default}
.earn-badge.urgent{background:rgba(255,51,102,.12);border:1px solid rgba(255,51,102,.4);color:#ff3366}
.earn-badge.soon{background:rgba(255,153,68,.12);border:1px solid rgba(255,153,68,.4);color:#ff9944}
.earn-badge.upcoming{background:rgba(255,224,51,.08);border:1px solid rgba(255,224,51,.3);color:#ffe033}
.earn-badge.far{background:rgba(100,130,160,.08);border:1px solid rgba(100,130,160,.2);color:#6a8aaa}

.earn-cal{background:rgba(168,85,247,.04);border:1px solid rgba(168,85,247,.18);border-radius:10px;padding:14px 18px;margin-bottom:16px}
.earn-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.earn-cal-title{font-family:var(--mono);font-size:11px;font-weight:700;color:#a855f7;letter-spacing:.5px}
.earn-cal-grid{display:flex;flex-wrap:wrap;gap:6px}
.earn-cal-chip{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:6px;cursor:default;white-space:nowrap;transition:transform .15s}
.earn-cal-chip:hover{transform:scale(1.05)}

/* Alert setup toast */
.alert-setup-toast{position:fixed;bottom:24px;right:24px;background:#0d1424;border:1px solid rgba(255,224,51,.5);border-radius:10px;padding:14px 18px;font-family:var(--mono);z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.7);animation:toastIn .3s ease;min-width:280px;max-width:360px}
.alert-setup-toast .ast-title{font-size:11px;font-weight:800;color:#ffe033;margin-bottom:8px}
.alert-setup-toast .ast-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.alert-setup-toast .ast-inp{flex:1;font-family:var(--mono);font-size:12px;padding:4px 8px;border-radius:5px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#e0e8f0;outline:none}
.alert-setup-toast .ast-lbl{font-size:11px;color:var(--muted);width:38px;flex-shrink:0}
.alert-setup-toast .ast-btns{display:flex;gap:6px;margin-top:10px}
.alert-setup-toast .ast-save{flex:1;font-family:var(--mono);font-size:12px;font-weight:700;padding:6px;border-radius:6px;border:none;background:rgba(255,224,51,.2);color:#ffe033;cursor:pointer;border:1px solid rgba(255,224,51,.4)}
.alert-setup-toast .ast-skip{font-family:var(--mono);font-size:12px;padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--muted);cursor:pointer}

/* Telegram global toggle in WL */
#tgAlertsBtn{font-family:var(--mono);font-size:11px;padding:7px 14px;border-radius:6px;cursor:pointer;transition:all .2s}
#tgAlertsBtn.on{border:1px solid rgba(0,217,255,.5);background:rgba(0,217,255,.1);color:#00d9ff}
#tgAlertsBtn.off{border:1px solid rgba(100,100,100,.3);background:rgba(100,100,100,.05);color:#3a5570}

/* Polling indicator */
.poll-dot{width:6px;height:6px;border-radius:50%;background:#00ff94;display:inline-block;margin-right:4px;animation:pulseDot 2s infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

/* ── ALPHA SIGNALS TAB ──────────────────────────────────────── */
.as-idx-pill{font-family:var(--mono);font-size:12px;padding:5px 11px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:none;color:var(--muted);cursor:pointer;transition:all .15s}
.as-idx-pill:hover{color:var(--text);border-color:rgba(255,200,0,.3)}
.as-idx-pill:not(.act){opacity:.4;filter:grayscale(.4)}
.as-idx-pill.act{background:rgba(255,200,0,.12);border-color:rgba(255,200,0,.5);color:#ffc800}
.as-mode-btn.act{background:rgba(255,200,0,.12)!important;border-color:rgba(255,200,0,.5)!important;color:#ffc800!important}
.as-topn-btn.act{background:rgba(255,200,0,.12)!important;border-color:rgba(255,200,0,.5)!important;color:#ffc800!important}
.as-signal-row{display:grid;grid-template-columns:32px 80px 65px 52px 52px 52px 105px 1fr;gap:0;border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s}
.as-signal-row:hover{background:rgba(255,200,0,.04)}
.as-signal-cell{font-family:var(--mono);font-size:11px;padding:10px 10px;display:flex;align-items:center}
.as-signal-header{background:rgba(255,255,255,.04);font-size:11px;color:var(--muted);letter-spacing:1px;padding:8px 10px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}
/* Alpha Signals Card Layout */
.as-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r3);margin:0 0 var(--sp3) 0;overflow:hidden;transition:border-color var(--dur-base) var(--ease-in-out)}
.as-card:hover{border-color:var(--border-hover)}
.as-card-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}
.as-card-body{display:block;width:100%}
@media(max-width:900px){.as-card-body{display:block}}
.as-card-section{padding:12px 16px;border-right:1px solid rgba(255,255,255,.05)}
.as-card-section:last-child{border-right:none}
.as-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.as-metric-tile{background:rgba(255,255,255,.03);border-radius:6px;padding:6px 10px}
.as-score-bar-wrap{display:flex;align-items:center;gap:6px;margin:3px 0}
.as-score-bar-bg{flex:1;height:10px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden}
.as-score-bar-fill{height:10px;border-radius:5px;transition:width .4s}
.as-setup-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700;letter-spacing:.5px}
.as-ctx-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:14px 18px}
.as-best-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:12px 16px;transition:border-color .2s}
.as-best-card:hover{border-color:rgba(255,200,0,.3)}
/* Sector Rotation */
.sr-tf-btn.act{background:rgba(0,217,255,.1)!important;border-color:rgba(0,217,255,.4)!important;color:#00d9ff!important}
.sr-rank-row{display:grid;grid-template-columns:22px 28px 1fr 62px 62px 62px 62px 120px;gap:0;padding:7px 10px;border-radius:7px;margin-bottom:4px;border:1px solid rgba(255,255,255,.04);transition:background .15s;align-items:center}
.sr-rank-row:hover{background:rgba(0,217,255,.04);border-color:rgba(0,217,255,.12)}
.sr-bar-bg{height:6px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden;min-width:40px}
.sr-bar-fill{height:6px;border-radius:4px;transition:width .5s}
/* Magic HOT */
.as-hot-active{border-color:rgba(255,80,0,.8)!important;background:rgba(255,80,0,.18)!important;color:#ff5020!important;animation:hotPulse 1.5s ease-in-out infinite}
@keyframes hotPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,0,0)}50%{box-shadow:0 0 12px 3px rgba(255,80,0,.35)}}
.as-card-hot{border-color:rgba(255,80,0,.5)!important;box-shadow:0 0 16px rgba(255,80,0,.15)}
/* Card action buttons */
.as-action-btn{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:5px;cursor:pointer;transition:all .15s}
.as-buy-btn{border:2px solid #00ff94;background:rgba(0,255,148,.12);color:#00ff94;font-weight:700;font-size:12px!important;padding:5px 14px!important;animation:buyPulse 2.5s ease-in-out infinite}
.as-buy-btn:hover{background:rgba(0,255,148,.25);transform:scale(1.04)}
@keyframes buyPulse{0%,100%{border-color:#00ff94;box-shadow:0 0 0 0 rgba(0,255,148,.25)}50%{border-color:#00ff94;box-shadow:0 0 0 4px rgba(0,255,148,0)}}
.as-action-btn:hover{filter:brightness(1.2)}
body.light .as-idx-pill{color:#5a7a94;border-color:#ccd4e0}
body.light .as-idx-pill.act{background:rgba(180,130,0,.12);border-color:#b38600;color:#b38600}
body.light .as-ctx-card,.as-best-card{border-color:#d0d8e8}
/* Light mode: AS Cards */
body.light .as-card{background:#fff;border-color:#d0d8e8}
body.light .as-card:hover{border-color:#b38600}
body.light .as-card-header{border-bottom-color:#e8edf5}
body.light .as-card-section{border-right-color:#e8edf5}
body.light .as-card-body{background:#fafbfc}
body.light .as-metric-tile{background:#f1f4f9;border:1px solid #e0e6ef}
body.light .as-score-bar-bg{background:#dde3ec}
body.light .as-ctx-card{background:#f4f7fc;border-color:#d0d8e8}
body.light .as-best-card{background:#f4f7fc}
body.light .candle-btn{border-color:rgba(140,100,0,.3);color:rgba(140,100,0,.7)}
body.light .candle-btn.on{border-color:#b38600;background:rgba(179,134,0,.1);color:#b38600}
body.light .as-card{background:#fff;border-color:#d0d8e8}
body.light .as-card:hover{border-color:#b38600}
body.light .as-card.as-card-hot{border-color:#e05010!important}
body.light .as-card-section{border-right-color:#e8edf4!important}
body.light .as-metric-tile{background:#f5f7fa;border:1px solid #e0e6ef}
body.light .as-metric-tile div:first-child{color:#6b7a8d}
body.light .as-score-bar-bg{background:#e0e6ef}
body.light .as-setup-badge{opacity:.9}
body.light .candle-btn{border-color:rgba(100,80,0,.3);color:#7a6000}
body.light .candle-btn.on{background:rgba(180,130,0,.12);border-color:#b38600;color:#b38600}
body.light #asSectorWidget{border-color:rgba(0,150,200,.25);background:#f8fbff}
body.light .sr-rank-row{border-color:#e8edf4}
body.light .sr-rank-row:hover{background:rgba(0,150,200,.04)}


/* ── GROWTH SETUP BADGE ──────────────────────────────────────── */
.gsb{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:7px;font-weight:800;padding:2px 7px;border-radius:10px;white-space:nowrap;letter-spacing:.4px;margin-top:3px}
.gsb.growth  {background:rgba(0,255,148,.1);border:1px solid rgba(0,255,148,.35);color:#00ff94}
.gsb.momentum{background:rgba(255,107,43,.1);border:1px solid rgba(255,107,43,.35);color:#ff6b2b}
.gsb.akkum   {background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.35);color:#a855f7}
.gsb.golden  {background:rgba(255,224,51,.1);border:1px solid rgba(255,224,51,.4);color:#ffe033}


/* ── UPDATE BANNER ───────────────────────────────────────────── */
#updateBanner{display:none;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;background:linear-gradient(135deg,rgba(255,200,0,.12),rgba(0,217,255,.07));border-bottom:1px solid rgba(255,200,0,.3);font-family:var(--mono);font-size:11px}
#updateBanner.show{display:flex}
.ub-left{display:flex;align-items:center;gap:8px}
.ub-badge{background:rgba(255,200,0,.2);border:1px solid rgba(255,200,0,.5);color:#ffc800;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:800}
.ub-btn{font-family:var(--mono);font-size:12px;font-weight:700;padding:5px 14px;border-radius:6px;border:none;background:linear-gradient(135deg,#ffc800,#ff9944);color:#000;cursor:pointer}
.ub-dismiss{background:none;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:12px;padding:4px 10px}
.ub-dismiss:hover{border-color:var(--red);color:var(--red)}
/* ── WELCOME MODAL ───────────────────────────────────────────── */
#welcomeModal{display:none;position:fixed;inset:0;z-index:20001;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);align-items:center;justify-content:center}
#welcomeModal.show{display:flex}
.wm-box{background:#0b1525;border:1px solid rgba(0,217,255,.25);border-radius:18px;width:min(95vw,700px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 100px rgba(0,0,0,.9)}
.wm-header{background:linear-gradient(135deg,rgba(0,217,255,.1),rgba(168,85,247,.06));border-bottom:1px solid rgba(255,255,255,.07);padding:22px 28px;flex-shrink:0}
.wm-title{font-family:var(--mono);font-size:20px;font-weight:900;color:#00d9ff;letter-spacing:1px}
.wm-sub{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:4px}
.wm-body{overflow-y:auto;flex:1;padding:0}
.wm-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;padding:0 28px}
.wm-tab{font-family:var(--mono);font-size:12px;padding:10px 16px;cursor:pointer;border:none;background:none;color:var(--muted);border-bottom:2px solid transparent;transition:all .2s}
.wm-tab.act{color:#00d9ff;border-bottom-color:#00d9ff}
.wm-pane{display:none;padding:22px 28px}
.wm-pane.act{display:block}
.wm-cl-item{display:flex;gap:14px;margin-bottom:10px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}
.wm-cl-badge{font-family:var(--mono);font-size:8px;font-weight:800;padding:3px 9px;border-radius:5px;white-space:nowrap;flex-shrink:0;height:fit-content;margin-top:1px}
.wm-cl-badge.feat{background:rgba(0,255,148,.12);border:1px solid rgba(0,255,148,.3);color:#00ff94}
.wm-cl-badge.fix{background:rgba(255,200,0,.12);border:1px solid rgba(255,200,0,.3);color:#ffc800}
.wm-cl-badge.sec{background:rgba(255,51,85,.12);border:1px solid rgba(255,51,85,.3);color:#ff3355}
.wm-cl-badge.imp{background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.3);color:#00d9ff}
.wm-cl-text{font-family:var(--mono);font-size:12px;color:var(--text);line-height:1.6}
.wm-cl-ver{font-family:var(--mono);font-size:11px;color:var(--cyan);font-weight:800;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid rgba(0,217,255,.1)}
.wm-feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}
.wm-feat-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:12px;text-align:center}
.wm-feat-icon{font-size:20px;margin-bottom:5px}
.wm-feat-name{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px}
.wm-feat-desc{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.4}
.wm-qs-step{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.wm-qs-num{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--green));display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:800;color:#000;flex-shrink:0}
.wm-qs-text{font-family:var(--mono);font-size:12px;color:var(--text);line-height:1.6}
.wm-footer{border-top:1px solid rgba(255,255,255,.06);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;flex-wrap:wrap;gap:10px}
.wm-check{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--muted);cursor:pointer}
.wm-check input{accent-color:var(--cyan);cursor:pointer}
.wm-close-btn{font-family:var(--mono);font-size:11px;font-weight:700;padding:9px 24px;border-radius:8px;border:none;background:linear-gradient(135deg,#00d9ff,#00ff94);color:#000;cursor:pointer}
/* ── FAQ TAB ─────────────────────────────────────────────────── */
.faq-lang-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.faq-lang-toggle{display:flex;background:var(--s2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.faq-lang-btn{font-family:var(--mono);font-size:12px;padding:5px 14px;border:none;background:none;cursor:pointer;color:var(--muted);transition:all .15s}
.faq-lang-btn.act{background:var(--s3);color:var(--cyan)}
.faq-section{margin-bottom:20px}
.faq-section-title{font-family:var(--mono);font-size:11px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--border)}
.faq-item{background:var(--s1);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden;transition:border-color .2s}
.faq-item:hover{border-color:rgba(0,217,255,.25)}
.faq-item.open{border-color:rgba(0,217,255,.4)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--text);user-select:none}
.faq-q-text{flex:1;padding-right:10px;line-height:1.4}
.faq-arrow{color:var(--cyan);transition:transform .2s;font-size:12px;flex-shrink:0}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-a{display:none;padding:0 16px 14px;font-family:var(--mono);font-size:12px;color:#9ab8d0;line-height:1.7;border-top:1px solid rgba(255,255,255,.05)}
.faq-item.open .faq-a{display:block;animation:fi .2s ease}
.faq-a code{background:rgba(0,217,255,.08);border:1px solid rgba(0,217,255,.2);border-radius:3px;padding:1px 5px;color:var(--cyan);font-size:11px}
.faq-a a{color:var(--cyan);text-decoration:none}
.faq-a a:hover{text-decoration:underline}
.faq-a ul{margin:6px 0 6px 14px;display:flex;flex-direction:column;gap:3px}
.faq-a table{width:100%;border-collapse:collapse;margin:8px 0;font-size:11px}
.faq-a th{padding:5px 8px;background:rgba(0,217,255,.07);color:var(--cyan);text-align:left;font-weight:700;border:1px solid rgba(0,217,255,.15)}
.faq-a td{padding:5px 8px;border:1px solid rgba(255,255,255,.06);color:#9ab8d0}
.faq-a tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.faq-search{background:var(--s2);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-family:var(--mono);font-size:11px;color:var(--text);outline:none;width:240px;transition:border-color .2s}
.faq-search:focus{border-color:var(--cyan)}
.faq-search::placeholder{color:var(--muted)}
body.light .faq-item{background:#fff}
body.light .faq-q{color:#0c1e2e}
body.light .faq-a{color:#3a5570}
body.light .faq-section-title{color:#5a7290;border-bottom-color:#ccd4e0}
/* ── BEGINNER MODE ───────────────────────────────────────────── */
/* ── BEGINNER PRESET BUTTON ──────────────────────────────────── */
.beginner-btn{font-family:var(--mono);font-size:12px;font-weight:800;padding:7px 14px;border-radius:7px;border:2px solid rgba(0,255,148,.4);background:rgba(0,255,148,.06);color:#00ff94;cursor:pointer;transition:all .2s;white-space:nowrap;letter-spacing:.5px;display:flex;align-items:center;gap:5px}
.beginner-btn:hover{background:rgba(0,255,148,.14);border-color:#00ff94}
.beginner-btn.on{background:rgba(0,255,148,.18);border-color:#00ff94;box-shadow:0 0 16px rgba(0,255,148,.2)}
.beginner-bar{display:none;background:rgba(0,255,148,.06);border:1px solid rgba(0,255,148,.25);border-left:4px solid #00ff94;border-radius:0 8px 8px 0;padding:10px 16px;margin-bottom:14px;font-family:var(--mono);font-size:12px;color:#00ff94;line-height:1.6;display:flex;gap:12px;align-items:center}
.beginner-bar.show{display:flex}
.beginner-bar-off{font-family:var(--mono);font-size:11px;padding:4px 12px;border-radius:5px;border:1px solid rgba(0,255,148,.4);background:transparent;color:#00ff94;cursor:pointer;white-space:nowrap;flex-shrink:0}
.beginner-bar-off:hover{background:rgba(0,255,148,.15)}
/* Why-Signal row — shown when beginner preset active in that tab */
.why-row{font-family:var(--mono);font-size:11px;color:#8ab0cc;background:rgba(0,217,255,.03);border-top:1px solid rgba(0,217,255,.07);padding:5px 12px 6px 16px;line-height:1.5;display:none}
.why-row.show{display:table-row}
.why-row.why-strong{background:rgba(0,255,148,.04);border-top-color:rgba(0,255,148,.12);color:#7ab89a}
.sig-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;flex-shrink:0;vertical-align:middle}
.sig-dot.strong{background:#00ff94}
.sig-dot.solid{background:#ffe033}
body.light .beginner-bar{background:rgba(0,120,70,.05);border-left-color:#007a45;color:#005c35}
body.light .why-row{color:#4a6a80;background:rgba(0,100,200,.03)}
/* ── Starke Setups button — force color so emoji doesn't bleed white ─── */
.ss-btn{font-family:var(--mono);font-size:12px;font-weight:800;padding:6px 14px;border-radius:7px;border:2px solid rgba(255,200,0,.5);background:rgba(255,200,0,.08);color:#ffc800;cursor:pointer;transition:all .2s;white-space:nowrap;letter-spacing:.5px;-webkit-text-fill-color:#ffc800}
.ss-btn:hover{background:rgba(255,200,0,.15);border-color:#ffc800}
.ss-btn.on{background:rgba(255,200,0,.2);border-color:#ffc800;box-shadow:0 0 16px rgba(255,200,0,.25);animation:ssPulse 2.5s ease-in-out infinite}
@keyframes ssPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,200,0,.2)}50%{box-shadow:0 0 16px 4px rgba(255,200,0,.15)}}
.ss-badge{display:inline-block;font-family:var(--mono);font-size:8px;font-weight:800;padding:2px 7px;border-radius:10px;background:rgba(255,200,0,.2);border:1px solid rgba(255,200,0,.4);color:#ffc800;margin-left:4px}
body.light .ss-btn{color:#8a6800;-webkit-text-fill-color:#8a6800;border-color:rgba(180,140,0,.5);background:rgba(180,140,0,.08)}
.kir-fund-title{font-family:var(--mono);font-size:8px;font-weight:800;color:#00ff94;letter-spacing:1.5px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.kir-fund-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.kir-fund-chip{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.kir-fund-chip .kfc-lbl{font-size:7px;color:var(--muted);letter-spacing:.4px;display:block;margin-bottom:1px}
.kir-fund-chip .kfc-val{font-weight:800;font-size:11px}
.kir-qbar-wrap{margin-bottom:7px}
.kir-qbar-label{font-family:var(--mono);font-size:8px;font-weight:700;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}
.kir-qbar-bars{display:flex;align-items:flex-end;gap:4px;height:44px}
.kir-qbar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.kir-qbar-val{font-family:var(--mono);font-size:6px;white-space:nowrap}
.kir-qbar-bar{width:100%;border-radius:2px 2px 0 0;min-height:3px;opacity:.85}
.kir-qbar-dt{font-family:var(--mono);font-size:6px;color:var(--muted);white-space:nowrap;overflow:hidden;max-width:38px;text-overflow:ellipsis}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}


/* ══ KRYPTO TRACKER CSS (from template — scoped to #panel-krypto) ══ */
#panel-krypto .badge.zero{background:rgba(107,122,158,.1);color:var(--muted);}
#panel-krypto .badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-family:var(--mono);font-size:.71rem;font-weight:700;}
.sym{font-family:var(--mono);font-weight:700;font-size:.78rem;color:var(--yellow);}
.flag{color:var(--red);font-size:.85rem;margin-left:3px;}
.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center;}
.section-box{background:var(--s2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:14px;}
.edit-btn:hover{color:var(--cyan);background:rgba(79,124,255,.1);}
#panel-krypto .badge.neg{background:rgba(244,63,94,.11);color:#f43f5e;}
#panel-krypto .btn:hover{background:rgba(79,124,255,.12);}
#panel-krypto .modal-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.del-btn:hover{color:var(--red);background:rgba(244,63,94,.1);}
.aname{font-size:.71rem;color:var(--muted);margin-top:1px;}
h3.orange{color:#fb923c;}
#panel-krypto .btn:disabled{opacity:.4;cursor:not-allowed;}
#panel-krypto .badge.buy{background:rgba(16,185,129,.13);color:#10b981;}
.toast.show{opacity:1;transform:translateY(0);}
#panel-krypto .badge.sell{background:rgba(244,63,94,.11);color:#f43f5e;}
h3.blue{color:#60a5fa;}
#panel-krypto .btn{padding:7px 14px;border-radius:9px;border:1px solid var(--border2);background:transparent;color:var(--cyan);font-family:var(--mono);font-size:.74rem;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:5px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.field{display:flex;flex-direction:column;gap:4px;}
.section-hdr{padding:11px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--s3);}
.filter-btn:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);}
.filter-btn{padding:5px 12px;border-radius:18px;border:1px solid var(--border);background:var(--s2);color:var(--muted);font-family:var(--sans);font-size:.77rem;cursor:pointer;transition:.2s;}
.edit-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:5px;transition:.2s;font-size:.9rem;}
#panel-krypto .spin{animation:spin .8s linear infinite;}
#panel-krypto .btn.primary:hover{background:#3b69ff;}
.del-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:5px;transition:.2s;font-size:.9rem;}
.mono{font-family:var(--mono);}
#panel-krypto .skel{display:inline-block;width:70px;height:12px;border-radius:3px;background:linear-gradient(90deg,var(--s2) 25%,var(--s3) 50%,var(--s2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;}
#panel-krypto .badge.pos{background:rgba(16,185,129,.13);color:#10b981;}
.toast{position:fixed;bottom:22px;right:22px;padding:9px 16px;background:var(--s3);border:1px solid var(--border2);border-radius:10px;font-family:var(--mono);font-size:.74rem;opacity:0;transform:translateY(8px);transition:.3s;pointer-events:none;z-index:200;}
#panel-krypto .btn.primary{background:var(--cyan);color:#fff;border-color:var(--cyan);}
.modal-calc{margin-top:12px;padding:11px 14px;background:var(--bg2);border-radius:9px;font-family:var(--mono);font-size:.77rem;color:var(--muted);}
h3.green{color:#34d399;}
/* kp2 tab navigation */
.kp2-tab{padding:7px 18px;border-radius:7px;border:none;font-family:var(--mono);font-size:12px;font-weight:700;cursor:pointer;transition:.2s;background:transparent;color:var(--muted);}
.kp2-tab.active{background:rgba(0,217,255,.12);color:var(--cyan);}
.kp2-tab:hover{color:var(--text);}
.kp2-pfbtn,.kp2-txbtn{padding:5px 13px;border-radius:18px;border:1px solid var(--border);background:var(--s2);color:var(--muted);font-family:var(--mono);font-size:12px;cursor:pointer;transition:.2s;}
.kp2-pfbtn.active,.kp2-txbtn.active{background:var(--cyan);color:#000;font-weight:700;}


/* ── TICKER AUTOCOMPLETE ──────────────────────────────────────────────────── */
.ac-list {
  position:absolute; top:100%; left:0; right:0; z-index:9999;
  background:#0e1629; border:1px solid rgba(0,217,255,.3); border-top:none;
  border-radius:0 0 8px 8px; max-height:280px; overflow-y:auto;
  box-shadow:0 8px 24px rgba(0,0,0,.6); font-family:var(--mono);
}
.ac-item {
  padding:7px 12px; cursor:pointer; display:flex; align-items:center;
  gap:8px; border-bottom:1px solid rgba(255,255,255,.04); font-size:11px;
  transition:background .1s;
}
.ac-item:hover, .ac-item.ac-sel { background:rgba(0,217,255,.1); }
.ac-item.ac-eu { opacity:.45; cursor:not-allowed; }
.ac-item.ac-eu:hover { background:rgba(255,107,43,.06); }
.ac-tkr { font-weight:700; color:#00d9ff; min-width:80px; }
.ac-item.ac-eu .ac-tkr { color:#ff6b2b; }
.ac-name { color:#8ab0cc; font-size:12px; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ac-badge { font-size:8px; padding:1px 5px; border-radius:3px; white-space:nowrap; }
.ac-badge-us  { background:rgba(0,255,148,.12); color:#00ff94; border:1px solid rgba(0,255,148,.25); }
.ac-badge-eu  { background:rgba(255,107,43,.1); color:#ff6b2b; border:1px solid rgba(255,107,43,.2); }
.ac-badge-dis { background:rgba(90,90,90,.2); color:#5a6a7a; border:1px solid rgba(90,90,90,.3); }

/* ── TICKER AUTOCOMPLETE ─────────────────────────────────────────────────── */
.ac-wrap { position:relative; flex:1; min-width:160px; }
.ac-drop {
  position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:9999;
  background:#0d1523; border:1px solid rgba(0,217,255,.35); border-radius:8px;
  max-height:260px; overflow-y:auto; box-shadow:0 8px 32px rgba(0,0,0,.6);
  display:none;
}
.ac-drop.open { display:block; }
.ac-item {
  display:flex; align-items:center; gap:8px; padding:7px 12px; cursor:pointer;
  font-family:var(--mono); font-size:11px; border-bottom:1px solid rgba(255,255,255,.04);
  transition:background .1s;
}
.ac-item:hover, .ac-item.ac-sel { background:rgba(0,217,255,.1); }
.ac-item.ac-eu { opacity:.45; cursor:not-allowed; }
.ac-tkr { font-weight:800; color:#00d9ff; min-width:52px; }
.ac-eu .ac-tkr { color:#5a8aaa; }
.ac-name { color:#8ab0cc; font-size:12px; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ac-badge { font-size:8px; padding:1px 5px; border-radius:3px; background:rgba(255,107,43,.15);
            color:#ff6b2b; border:1px solid rgba(255,107,43,.3); white-space:nowrap; flex-shrink:0; }
.ac-eu .ac-badge { background:rgba(90,138,170,.1); color:#5a8aaa; border-color:rgba(90,138,170,.2); }
.ac-empty { padding:12px; font-family:var(--mono); font-size:12px; color:var(--muted); text-align:center; }

/* ══════════════════════════════════════════════════════════════
   v326 PREMIUM DESIGN SYSTEM — Global Layer
   ══════════════════════════════════════════════════════════════ */

/* ── Focus ring for accessibility ── */
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}

/* ── Smoother scrolling ── */
html{scroll-behavior:smooth}

/* ── Selection color ── */
::selection{background:rgba(14,165,233,.2);color:#fff}

/* ── Global transition baseline ── */
a,button,input,select,textarea{transition-property:color,background-color,border-color,box-shadow,opacity,transform;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-in-out)}

/* ── Premium dividers: clean, no gradients ── */
.sd-section::before,.brt::before{content:none}

/* ── Better tooltip styling ── */
.tipbox{background:var(--s2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border2);box-shadow:var(--shadow-lg);border-radius:var(--r)}

/* ── Improved badge styling ── */
.badge{font-weight:600;letter-spacing:.2px}

/* ── Watchlist/Portfolio row hover ── */
.wl-row:hover,.ptrade-row:hover{background:rgba(14,165,233,.02)}

/* ── Range slider styling ── */
input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 4px rgba(0,0,0,.3)}
input[type=range]::-webkit-slider-runnable-track{background:var(--border)}

/* ── Form inputs global ── */
.form-input,.modal-input,.apiin,.alert-input,.scan-note{transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.form-input:focus,.apiin:focus{box-shadow:0 0 0 3px rgba(14,165,233,.06)}

/* ── Active tab indicator — clean bottom border only ── */
.tab.act::before{content:none}

/* ── Preset buttons ── */
.pb{transition:all var(--dur-fast);border-radius:var(--r-sm)}
.pb:hover{background:rgba(139,92,246,.08)}
.pb.ap{background:rgba(139,92,246,.18);border-color:rgba(139,92,246,.5);font-weight:700}

/* ── Chart controls ── */
.chart-tf-btn,.ctf-btn{transition:all var(--dur-fast);border-radius:var(--r-sm)}

/* ── API cards ── */
.api-card{border-radius:var(--r3);transition:border-color var(--dur-base)}
.api-card:hover{border-color:var(--border-hover)}

/* ── Skeleton shimmer ── */
.skel{background:linear-gradient(90deg,var(--s2) 25%,var(--s3) 50%,var(--s2) 75%);background-size:400% 100%}

/* ── Scanner note ── */
.scan-note{border-radius:var(--r-sm);transition:border-color var(--dur-fast)}
.scan-note:focus{box-shadow:0 0 0 2px rgba(234,179,8,.06)}

/* ── Empty state ── */
.empty-state{border-radius:var(--r3);background:var(--s1);border:1px dashed var(--border)}

/* ── Row animation ── */
@keyframes ri{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ── Regime banner ── */
.regime-banner{border-radius:var(--r);font-size:var(--fs-sm)}

/* ── W52 bar ── */
.w52track{background:rgba(255,255,255,.04);border-radius:3px;height:4px}

/* ── Detail panel ── */
.detail{border-radius:var(--r3)}

/* ── Header tools ── */
.tbtn{border-radius:var(--r-sm);transition:all var(--dur-fast)}
.tbtn:hover{background:var(--s2);color:var(--text2)}

/* ── Onboarding ── */
.ob-box{box-shadow:var(--shadow-xl);border-color:var(--border)}
.ob-step{border-radius:var(--r);transition:all var(--dur-fast)}
.ob-step:hover{border-color:var(--border-hover)}

/* ── Print ── */
@media print{body{background:#fff;color:#000}.tabs,.hdr,.footer-inner{display:none}}

/* ── v327: Premium animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tabpanel.act{animation:fadeUp .25s var(--ease-out)}

/* ── v327: Consistent card hover with depth ── */
.bio-card:hover,.kir-card:hover,.as-card:hover,.mr-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}

/* ── v327: Toast refinement ── */
.alert-toast{border-radius:var(--r3);box-shadow:var(--shadow-lg)}

/* ═══════════════════════════════════════════════════════════════════════════ */
/* ── v411 GUIDED TOUR SYSTEM ─────────────────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ── Tour Spotlight Overlay ── */
#gtOverlay{display:none;position:fixed;inset:0;z-index:19500;pointer-events:none}
#gtOverlay.show{display:block}
#gtOverlay .gt-backdrop{position:fixed;inset:0;pointer-events:all}

/* ── Spotlight Cutout (CSS clip-path approach) ── */
#gtSpotlight{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px rgba(0,0,0,.78),0 0 30px 4px rgba(56,189,248,.2);z-index:19501;pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1)}

/* ── Tooltip Popover ── */
#gtTooltip{position:fixed;z-index:19502;width:min(380px,90vw);background:linear-gradient(145deg,#0f1724,#131d2e);border:1px solid rgba(56,189,248,.25);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 30px rgba(56,189,248,.08);pointer-events:all;animation:gtPopIn .3s var(--ease-out);overflow:hidden}
@keyframes gtPopIn{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:none}}
#gtTooltip .gt-arrow{position:absolute;width:12px;height:12px;background:#131d2e;border:1px solid rgba(56,189,248,.25);transform:rotate(45deg);z-index:-1}
#gtTooltip .gt-arrow.top{top:-7px;left:30px;border-right:none;border-bottom:none}
#gtTooltip .gt-arrow.bottom{bottom:-7px;left:30px;border-left:none;border-top:none}
#gtTooltip .gt-arrow.left{left:-7px;top:20px;border-top:none;border-right:none}
#gtTooltip .gt-arrow.right{right:-7px;top:20px;border-bottom:none;border-left:none}

/* ── Tooltip Header ── */
.gt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid rgba(255,255,255,.06)}
.gt-step-badge{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--cyan);background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.25);padding:3px 10px;border-radius:20px;letter-spacing:.5px}
.gt-close{width:28px;height:28px;border-radius:6px;border:none;background:rgba(255,255,255,.05);color:var(--text3);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.gt-close:hover{background:rgba(248,113,113,.15);color:var(--red)}

/* ── Tooltip Body ── */
.gt-body{padding:16px 18px}
.gt-title{font-family:var(--sans);font-size:16px;font-weight:800;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:8px}
.gt-desc{font-family:var(--sans);font-size:12.5px;color:var(--text2);line-height:1.7}
.gt-tip{margin-top:10px;padding:8px 12px;background:rgba(56,189,248,.06);border:1px solid rgba(56,189,248,.12);border-radius:8px;font-family:var(--mono);font-size:11px;color:var(--cyan);line-height:1.5}

/* ── Tooltip Footer (Nav + Progress) ── */
.gt-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 14px;border-top:1px solid rgba(255,255,255,.06)}
.gt-progress{display:flex;gap:4px;align-items:center}
.gt-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.1);transition:all .2s}
.gt-dot.done{background:rgba(56,189,248,.5)}
.gt-dot.active{background:var(--cyan);box-shadow:0 0 8px rgba(56,189,248,.4)}
.gt-nav{display:flex;gap:8px;align-items:center}
.gt-btn{padding:7px 16px;border-radius:8px;border:none;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:600;transition:all .15s}
.gt-btn-skip{background:transparent;color:var(--text3);border:1px solid var(--border)}
.gt-btn-skip:hover{color:var(--text);border-color:var(--border-hover)}
.gt-btn-prev{background:var(--s3);color:var(--text2);border:1px solid var(--border)}
.gt-btn-prev:hover{background:var(--s4);color:var(--text)}
.gt-btn-next{background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff}
.gt-btn-next:hover{box-shadow:0 4px 16px rgba(56,189,248,.25);transform:translateY(-1px)}
.gt-btn-finish{background:linear-gradient(135deg,#4ade80,#22d3ee);color:#0a1628;font-weight:700}
.gt-btn-finish:hover{box-shadow:0 4px 16px rgba(74,222,128,.25);transform:translateY(-1px)}

/* ── Tab Discovery: NEW badge ── */
.sb-new-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:7px;font-weight:800;color:#0a1628;background:linear-gradient(135deg,#38bdf8,#818cf8);padding:2px 6px;border-radius:4px;letter-spacing:.8px;animation:gtNewPulse 2s infinite;pointer-events:none}
@keyframes gtNewPulse{0%,100%{opacity:1}50%{opacity:.6}}
.sb-item{position:relative}

/* ── Welcome Back Toast ── */
#gtWelcomeBack{display:none;position:fixed;bottom:24px;right:24px;z-index:19000;background:linear-gradient(145deg,#0f1724,#131d2e);border:1px solid rgba(56,189,248,.2);border-radius:14px;padding:18px 22px;box-shadow:0 16px 48px rgba(0,0,0,.5);max-width:360px;animation:gtSlideUp .4s var(--ease-out)}
#gtWelcomeBack.show{display:block}
@keyframes gtSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.gt-wb-title{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.gt-wb-sub{font-family:var(--sans);font-size:11.5px;color:var(--text3);line-height:1.6;margin-bottom:10px}
.gt-wb-progress{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.gt-wb-bar{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.gt-wb-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:3px;transition:width .5s var(--ease-out)}
.gt-wb-pct{font-family:var(--mono);font-size:11px;color:var(--cyan);font-weight:700;min-width:36px;text-align:right}
.gt-wb-actions{display:flex;gap:8px}
.gt-wb-btn{padding:6px 14px;border-radius:7px;border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:600;transition:all .15s}

/* ── Sidebar Progress Ring ── */
.gt-sidebar-progress{display:flex;align-items:center;gap:8px;padding:6px 12px;margin:4px 8px;background:rgba(56,189,248,.04);border:1px solid rgba(56,189,248,.1);border-radius:8px;cursor:pointer;transition:all .2s}
.gt-sidebar-progress:hover{border-color:rgba(56,189,248,.25);background:rgba(56,189,248,.08)}
.gt-sp-ring{width:28px;height:28px;flex-shrink:0}
.gt-sp-text{font-family:var(--mono);font-size:10px;color:var(--text3);line-height:1.4}
.gt-sp-text strong{color:var(--text);font-size:11px;display:block}



/* ════════════════════════════════════════════════════════════════════════════
 * EXTRACTED FROM index.html INLINE <style> — Phase 1 Modularisierung 2026-04-16
 * ════════════════════════════════════════════════════════════════════════════ */

/* Global Stop Button pulse animation (was line 485-487 of index.html) */
@keyframes globalStopPulse{0%,100%{box-shadow:0 6px 28px rgba(255,0,0,.4)}50%{box-shadow:0 6px 40px rgba(255,0,0,.7)}}

/* Kauftipp 2 (KP2) tab styles (was line 7814-7822 of index.html) */
.kp2-tab.active{background:rgba(0,217,255,.12)!important;color:var(--cyan)!important}
.kp2-tab:not(.active){background:transparent!important;color:var(--muted)!important}
.kp2-tab:not(.active):hover{color:var(--text)!important}
@keyframes kp2newspulse{0%,100%{box-shadow:0 0 0 0 rgba(251,146,60,.0)}50%{box-shadow:0 0 0 4px rgba(251,146,60,.35)}}
@keyframes kp2badgepulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.kp2-news-hot{animation:kp2newspulse 2s infinite!important;border:1px solid rgba(251,146,60,.5)!important;color:#fb923c!important}
.kp2-news-hot #kp2-news-badge,.kp2-news-badge-pulse{animation:kp2badgepulse 1.5s infinite}

/* License Gate + Chriven Ecosystem Landing Page (was line 59015-59125 of index.html) */
#licenseGate{position:fixed;inset:0;background:rgba(4,8,20,.96);backdrop-filter:blur(12px);z-index:99999;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
#lgModal{background:#12192e;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 28px 24px;width:min(94vw,560px);max-height:92vh;overflow-y:auto;box-shadow:0 40px 120px rgba(0,0,0,.95)}
#lgModal .lg-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
#lgModal .lg-title{font-size:18px;font-weight:900;color:#e8f4ff;letter-spacing:-.3px}
#lgModal .lg-close{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#8aaccc;cursor:pointer;font-size:12px;padding:4px 10px;font-family:var(--mono)}
#lgModal .lg-plan-label{font-size:8px;letter-spacing:1.5px;color:#4a6a88;margin-bottom:10px}
#lgModal .lg-cur-tier{font-size:14px;font-weight:700;color:#00d9ff;margin-bottom:18px}
#lgModal .lg-plans-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}
#lgModal .lg-pc{border-radius:10px;padding:14px 12px;cursor:pointer;transition:all .18s;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);position:relative}
#lgModal .lg-pc:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}
#lgModal .lg-pc.recommended::before{content:'EMPFOHLEN';position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:7px;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:10px;background:#a855f7;color:#fff;white-space:nowrap}
#lgModal .lg-pc-name{font-size:12px;font-weight:700;margin-bottom:6px}
#lgModal .lg-pc-feat{font-size:8px;color:#6a8aaa;line-height:1.7;margin-bottom:10px;min-height:72px}
#lgModal .lg-pc-price{font-size:20px;font-weight:900;color:#e8f4ff;margin-bottom:2px}
#lgModal .lg-pc-note{font-size:8px;color:#4a6a88;margin-bottom:10px}
#lgModal .lg-pc-btn{width:100%;font-family:var(--mono);font-size:11px;font-weight:700;padding:7px;border-radius:6px;border:none;cursor:pointer;letter-spacing:.5px}
#lgModal .lg-section-title{font-size:8px;letter-spacing:1.5px;color:#4a6a88;margin-bottom:10px;display:flex;align-items:center;gap:6px}
#lgModal .lg-section-title::before{content:'🔑';font-size:12px}
#lgModal .lg-inp{width:100%;font-family:var(--mono);font-size:12px;padding:11px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#e8f4ff;outline:none;box-sizing:border-box;margin-bottom:8px;transition:border-color .2s}
#lgModal .lg-inp:focus{border-color:rgba(168,85,247,.5)}
#lgModal .lg-inp.key-inp{text-transform:uppercase;letter-spacing:3px}
#lgModal .lg-activate-row{display:flex;gap:8px}
#lgModal .lg-activate-btn{font-family:var(--mono);font-size:11px;font-weight:800;padding:11px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0}
#lgModal .lg-err{color:#ff3366;font-size:11px;min-height:14px;margin-bottom:6px}
#lgModal .lg-footer{font-size:8px;color:#2d4060;margin-top:16px;line-height:1.7;border-top:1px solid rgba(255,255,255,.05);padding-top:14px}
#lgModal .lg-footer a{color:#4a6a88}
/* Admin indicator bar at top of app */
#adminBar{display:none;position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ff6b2b,#ffc800,#00ff94,#00d9ff,#a855f7);z-index:9999;animation:adminRainbow 4s linear infinite}
@keyframes adminRainbow{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
#adminBadge{display:none;position:fixed;top:8px;right:12px;background:rgba(255,107,43,.9);backdrop-filter:blur(8px);border:1px solid rgba(255,107,43,.6);border-radius:20px;padding:4px 12px;font-family:var(--mono);font-size:11px;font-weight:800;color:#fff;z-index:9998;letter-spacing:1px;cursor:pointer}
#demoBar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(90deg,rgba(168,85,247,.95),rgba(124,58,237,.95));padding:9px 20px;display:flex;align-items:center;justify-content:space-between;z-index:9000;font-family:var(--mono);font-size:12px;color:#fff}

/* ═══ CHRIVEN ECOSYSTEM LANDING PAGE ═══ */
#ecoLanding{position:fixed;inset:0;z-index:100000;background:#02060d;background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(30,144,255,.08),transparent 60%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(0,198,255,.04),transparent 50%);overflow-y:auto;font-family:'Manrope',system-ui,-apple-system,sans-serif;display:flex;flex-direction:column;min-height:100vh}
#ecoLanding *{box-sizing:border-box}
/* Matrix rain background */
#ecoLanding::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='600' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='10' y='20' fill='rgba(30,144,255,0.03)' font-family='monospace' font-size='10'%3E10110%3C/text%3E%3Ctext x='50' y='60' fill='rgba(30,144,255,0.025)' font-family='monospace' font-size='10'%3E01001%3C/text%3E%3Ctext x='20' y='120' fill='rgba(30,144,255,0.02)' font-family='monospace' font-size='10'%3E11010%3C/text%3E%3Ctext x='60' y='180' fill='rgba(30,144,255,0.03)' font-family='monospace' font-size='10'%3E00101%3C/text%3E%3Ctext x='30' y='250' fill='rgba(30,144,255,0.02)' font-family='monospace' font-size='10'%3E10011%3C/text%3E%3Ctext x='70' y='320' fill='rgba(30,144,255,0.025)' font-family='monospace' font-size='10'%3E11100%3C/text%3E%3Ctext x='15' y='400' fill='rgba(30,144,255,0.02)' font-family='monospace' font-size='10'%3E01110%3C/text%3E%3Ctext x='55' y='480' fill='rgba(30,144,255,0.03)' font-family='monospace' font-size='10'%3E10001%3C/text%3E%3C/svg%3E");opacity:.5;pointer-events:none;z-index:0}
.eco-wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1;width:100%}
/* Header */
.eco-hdr{display:flex;justify-content:space-between;align-items:center;padding:24px 0 20px}
.eco-logo{display:flex;align-items:center;gap:12px}
.eco-logo-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(160deg,#0d1520,#131f33);display:grid;place-items:center;box-shadow:0 2px 20px rgba(30,144,255,.2);border:1px solid rgba(30,144,255,.2);overflow:hidden;position:relative}
.eco-logo-icon svg{width:28px;height:28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
.eco-logo-text{font-size:26px;font-weight:800;letter-spacing:2px;background:linear-gradient(135deg,#93c5fd,#e0e7ff 50%,#c0c8d8 75%,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.eco-hdr-btns{display:flex;gap:10px}
.eco-btn{padding:10px 22px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#94a3b8;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;letter-spacing:.3px}
.eco-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#e2e8f0}
.eco-btn-primary{background:linear-gradient(135deg,#1e90ff,#00c6ff);color:#fff;border:none;box-shadow:0 4px 20px rgba(30,144,255,.3)}
.eco-btn-primary:hover{box-shadow:0 6px 30px rgba(30,144,255,.45);transform:translateY(-1px)}
/* Hero */
.eco-hero{text-align:center;padding:60px 0 50px}
.eco-hero h1{font-size:52px;font-weight:800;letter-spacing:-1px;margin-bottom:12px;background:linear-gradient(135deg,#e2e8f0,#94a3b8 40%,#e2e8f0 60%,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.eco-hero .eco-sub{font-size:17px;color:#64748b;max-width:600px;margin:0 auto;line-height:1.6}
.eco-hero .eco-sub b{color:#38bdf8}
/* Products Grid */
.eco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:40px 0}
.eco-card{padding:32px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(12px);transition:all .35s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative;overflow:hidden}
.eco-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(30,144,255,.06),transparent 60%);opacity:0;transition:opacity .35s}
.eco-card:hover{transform:translateY(-4px) scale(1.01);border-color:rgba(30,144,255,.25);box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 30px rgba(30,144,255,.1)}
.eco-card:hover::before{opacity:1}
.eco-card.eco-active{border-color:rgba(30,144,255,.35);background:rgba(30,144,255,.04)}
.eco-card.eco-coming{opacity:.5;cursor:default;filter:grayscale(.3)}
.eco-card.eco-coming:hover{transform:none;box-shadow:none;border-color:rgba(255,255,255,.06)}
.eco-card.eco-coming:hover::before{opacity:0}
.eco-card-icon{font-size:32px;margin-bottom:16px;display:block}
.eco-card h2{font-size:22px;font-weight:700;color:#e2e8f0;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.eco-card p{color:#64748b;font-size:14px;line-height:1.65}
.eco-card .eco-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:3px 10px;border-radius:20px;text-transform:uppercase}
.eco-badge-live{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3);color:#4ade80}
.eco-badge-soon{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.15);color:#64748b}
/* Sub Products */
.eco-subs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 60px}
.eco-sub-card{padding:20px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);transition:all .3s}
.eco-sub-card:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.eco-sub-card h3{font-size:14px;font-weight:700;color:#94a3b8;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.eco-sub-card p{font-size:12px;color:#475569;line-height:1.5}
/* Login Section */
.eco-login{max-width:440px;margin:0 auto 80px;text-align:center;padding:40px;border-radius:20px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px)}
.eco-login h2{font-size:22px;font-weight:700;color:#e2e8f0;margin-bottom:6px}
.eco-login .eco-login-sub{font-size:13px;color:#475569;margin-bottom:24px}
.eco-login .eco-invite-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:5px 14px;border-radius:20px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.25);color:#a78bfa;margin-bottom:20px;text-transform:uppercase}
.eco-login input{width:100%;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#e2e8f0;font-family:inherit;font-size:13px;margin-bottom:10px;outline:none;transition:border-color .2s}
.eco-login input:focus{border-color:rgba(30,144,255,.5)}
.eco-login input::placeholder{color:#334155}
.eco-login .eco-key-input{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:2px}
.eco-login-btn{width:100%;padding:13px;border-radius:10px;border:none;background:linear-gradient(135deg,#1e90ff,#00c6ff);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:all .25s;margin-top:6px}
.eco-login-btn:hover{box-shadow:0 6px 30px rgba(30,144,255,.4);transform:translateY(-1px)}
.eco-login-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.eco-login-err{color:#f87171;font-size:12px;min-height:18px;margin-top:8px}
.eco-login-hint{font-size:11px;color:#334155;margin-top:16px;line-height:1.6}
.eco-login-hint a{color:#475569}
/* Demo link */
.eco-demo-link{font-size:12px;color:#475569;cursor:pointer;margin-top:12px;transition:color .2s}
.eco-demo-link:hover{color:#64748b}
/* Footer */
.eco-footer{text-align:center;padding:30px 0;color:#1e293b;font-size:11px;margin-top:auto}
.eco-footer a{color:#334155}
/* Responsive */
@media(max-width:768px){
.eco-hero h1{font-size:32px}
.eco-grid{grid-template-columns:1fr}
.eco-subs{grid-template-columns:repeat(2,1fr)}
.eco-hdr{flex-wrap:wrap;gap:12px}
}
@media(max-width:480px){
.eco-subs{grid-template-columns:1fr}
.eco-hero h1{font-size:26px}
.eco-login{padding:24px 16px;margin:0 8px 60px}
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK-OVERLAY LIGHT-MODE FIX (2026-04-19)
   
   Problem: body.light überschreibt --text auf #0f172a (dunkel), aber
   fixed/overlay-Modals haben dunklen Overlay-Hintergrund (rgba(0,0,0,.88)).
   → Dunkler Text auf dunklem Modal = UNSICHTBAR (Changelog leer etc.).
   
   Fix: In diesen dunkel-gestalteten Overlays die Dark-Theme-Variablen
   wiederherstellen, egal welches body.theme aktiv ist.
   ═════════════════════════════════════════════════════════════════════════ */
body.light #welcomeModal,
body.light #onboardingOverlay,
body.light #gtOverlay,
body.light #gtTooltip,
body.light #gtWelcomeBack,
body.light #agbModal,
body.light #licModal,
body.light #scanOverlay,
body.light #ecoLanding,
body.light #alertBanner,
body.light #globalStopBtn,
body.light #stockDetailModal,
body.light #txEditModal,
body.light #txLogModal,
body.light #buyModal,
body.light #sellModal,
body.light #editModal,
body.light #autoEntryModal,
body.light #autoSlModal,
body.light #ckChangelogModal,
body.light #ckChangelogModal *{
  --bg:#07090e;
  --s1:#0c1017;
  --s2:#11161f;
  --s3:#171d28;
  --s4:#1d2533;
  --s5:#252f3f;
  --border:#1f2937;
  --border2:#374151;
  --border-subtle:rgba(255,255,255,.04);
  --border-hover:rgba(255,255,255,.08);
  --text:#f1f5f9;
  --text2:#94a3b8;
  --text3:#64748b;
  --muted:#475569;
  --cyan:#38bdf8;
  --green:#4ade80;
  --orange:#fb923c;
  --yellow:#facc15;
  --red:#f87171;
  --violet:#a78bfa;
  color:#f1f5f9;
}
body.light #welcomeModal *,
body.light #onboardingOverlay *,
body.light #ecoLanding *,
body.light #agbModal *{
  /* Erzwinge Dark-Default wenn Child-CSS var(--text) nutzt */
}
/* Spezifische Sichtbarkeit für Changelog-Text */
body.light .wm-cl-text,
body.light .wm-cl-ver{
  color:#e8f4ff !important;
}
body.light .wm-cl-item{
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(255,255,255,.08) !important;
}
/* Changelog-Modal (ckChangelog): alle Text-Kinder in Dark-Mode halten, egal welches body.theme aktiv ist */
body.light #ckChangelogModal .ck-cl-title,
body.light #ckChangelogModal .ck-cl-body,
body.light #ckChangelogModal .ck-cl-entry,
body.light #ckChangelogModal .ck-cl-version,
body.light #ckChangelogModal .ck-cl-date,
body.light #ckChangelogModal .ck-cl-impact,
body.light #ckChangelogModal .ck-cl-author,
body.light #ckChangelogModal .ck-cl-cat,
body.light #ckChangelogModal .ck-cl-ul,
body.light #ckChangelogModal .ck-cl-code,
body.light #ckChangelogModal .ck-cl-dot,
body.light #ckChangelogModal .modal-title,
body.light #ckChangelogModal .ck-cl-modal-sub{
  color:#e8f4ff !important;
}
body.light #ckChangelogModal .ck-cl-entry{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,255,255,.08) !important;
}
body.light #ckChangelogModal .ck-cl-body{
  color:#cbd5e1 !important;
}
body.light #ckChangelogModal .ck-cl-date,
body.light #ckChangelogModal .ck-cl-impact,
body.light #ckChangelogModal .ck-cl-author{
  color:#94a3b8 !important;
}

/* SL-Monitor: CRITICAL pulse animation (2026-04-29) */
@keyframes ck-sl-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,34,68,.5)}50%{box-shadow:0 0 0 5px rgba(255,34,68,0)}}

/* ── Quant Sub-Tab + Track-Record (track-record_20260502) ────────────────── */
.quant-subtab-bar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:6px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02)}
.quant-subtab-btn{font-family:var(--mono);font-size:12px;font-weight:600;padding:7px 16px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text2);cursor:pointer;transition:background .15s,color .15s,border-color .15s;letter-spacing:.2px}
.quant-subtab-btn:hover{background:rgba(56,189,248,.08);color:var(--text)}
.quant-subtab-btn.active{background:var(--cyan);color:#001018;border-color:var(--cyan);box-shadow:0 0 0 1px rgba(56,189,248,.25),0 4px 14px rgba(56,189,248,.18)}
body.light .quant-subtab-btn{color:#475569}
body.light .quant-subtab-btn:hover{color:#0f172a}
body.light .quant-subtab-btn.active{color:#0b1118}

.quant-tr-panel{font-family:var(--mono);color:var(--text)}
.quant-tr-panel h4{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--text);margin:18px 0 10px;letter-spacing:.2px}

.tr-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}

/* auditFollowup_20260502 — Source-Filter-Pills */
.tr-source-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02)}
body.light .tr-source-pills{background:rgba(15,23,42,.025);border-color:rgba(15,23,42,.07)}
.tr-source-pills button{font-family:var(--mono);font-size:11px;font-weight:600;padding:5px 12px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tr-source-pills button:hover{background:rgba(56,189,248,.07);color:var(--text);border-color:rgba(56,189,248,.35)}
.tr-source-pills button.active{background:var(--cyan);color:#001018;border-color:var(--cyan)}
body.light .tr-source-pills button.active{color:#0b1118}
.tr-table thead th[data-tr-source-sort]{cursor:pointer;user-select:none}
.tr-table thead th[data-tr-source-sort]:hover{color:var(--text)}
.tr-table thead th[data-tr-source-sort].active{color:var(--cyan)}
body.light .tr-table thead th[data-tr-source-sort].active{color:#0369a1}
@media (max-width:600px){.tr-source-pills{padding:6px 8px;gap:4px}.tr-source-pills button{padding:4px 9px;font-size:10px}}
.tr-range-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}
.tr-range-toggle button{font-family:var(--mono);font-size:11px;font-weight:600;padding:6px 14px;border-radius:6px;border:none;background:transparent;color:var(--text2);cursor:pointer;transition:background .15s,color .15s}
.tr-range-toggle button:hover{background:rgba(56,189,248,.08);color:var(--text)}
.tr-range-toggle button.active{background:var(--cyan);color:#001018}
body.light .tr-range-toggle button.active{color:#0b1118}
.tr-as-of{font-size:10px;color:var(--text3);margin-left:auto}

.tr-loading{font-size:11px;color:var(--text3);padding:14px 4px;font-style:italic}
.tr-error{font-size:12px;color:var(--red);padding:10px 14px;border:1px solid rgba(248,113,113,.3);background:rgba(248,113,113,.06);border-radius:8px;margin-bottom:14px}

.tr-overall-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}
.tr-card{background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:10px;padding:11px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
body.light .tr-card{background:rgba(15,23,42,.025);border-color:rgba(15,23,42,.07)}
.tr-card .tr-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.tr-card .tr-val{font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.tr-card .tr-val.pos{color:#2ecc71}
.tr-card .tr-val.neg{color:#e74c3c}

.tr-chart-wrap{margin:18px 0;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02);position:relative}
body.light .tr-chart-wrap{background:rgba(15,23,42,.02)}
.tr-chart-canvas-host{position:relative;width:100%;height:280px;overflow:hidden}
#tr-equity-chart{display:block;width:100%;height:100%}
.tr-empty{text-align:center;color:var(--text3);font-size:11px;padding:20px;font-style:italic}

.tr-table-wrap{margin:18px 0}
.tr-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02)}
body.light .tr-table-scroll{background:rgba(15,23,42,.02)}
.tr-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:720px}
.tr-table thead th{position:sticky;top:0;background:var(--card-bg,#13192a);color:var(--text2);font-weight:700;font-size:10px;letter-spacing:.5px;text-transform:uppercase;text-align:right;padding:9px 12px;border-bottom:1px solid var(--border)}
.tr-table thead th:first-child{text-align:left}
body.light .tr-table thead th{background:#f8fafc;color:#475569}
.tr-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border-subtle,rgba(255,255,255,.03));text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}
.tr-table tbody td:first-child{text-align:left;font-weight:600}
.tr-table tbody tr:hover td{background:rgba(56,189,248,.04)}
.tr-table .pos{color:#2ecc71}
.tr-table .neg{color:#e74c3c}
.tr-table .tr-empty-row{text-align:center !important;color:var(--text3);font-style:italic;padding:18px}
.tr-preset-name{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.tr-rating{display:inline-block;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.3px}
.tr-rating-green{background:#2ecc71;color:#04210f}
.tr-rating-yellow{background:#facc15;color:#3a2c00}
.tr-rating-red{background:#e74c3c;color:#fff}
.tr-rating-na{background:rgba(148,163,184,.15);color:var(--text3)}

.tr-extremes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.tr-extreme-card{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);font-size:12px;color:var(--text);min-height:36px}
body.light .tr-extreme-card{background:rgba(15,23,42,.02)}
.tr-extreme-card:empty{display:none}
.tr-extreme-label{color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}
.tr-extreme-preset{color:var(--text3);font-size:10px}

.tr-note{margin:14px 0 4px;padding:10px 14px;border:1px solid rgba(250,204,21,.25);background:rgba(250,204,21,.06);color:#facc15;border-radius:8px;font-size:11.5px;line-height:1.6}
body.light .tr-note{color:#7c5e00}

/* Mobile */
@media (max-width:900px){
  .tr-overall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:600px){
  .tr-overall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-card .tr-val{font-size:16px}
  .tr-extremes{grid-template-columns:1fr}
  .tr-as-of{margin-left:0;width:100%}
  .quant-subtab-btn{padding:6px 12px;font-size:11px}
  .tr-chart-canvas-host{height:220px}
}

/* ========================================================================
   Mobile Polish Sweep 2026-05-06 (mobilePolish_20260506)
   - Audit fand: hdr-right Pills überlaufen 638px → tap+visual mess
   - Tap-Targets <32px in Sidebar Settings, Zoom, Lang/Cur Pills
   - Tiny text 7-9px (btag, sb-new-badge, sb-brand-sub) — kaum lesbar
   - Tabellen nutzen schon ck-table-wrap (qbl), aber globale Sicherheit nötig
   ========================================================================*/

/* 1) Globaler Schutz vor horizontalem Body-Scroll auf Mobile */
@media (max-width:768px){
  html, body{overflow-x:clip;max-width:100vw}
  /* Tabellen ohne expliziten Wrapper bekommen einen safety-net */
  .tab-content table:not([data-mobile-fixed]),
  .panel table:not([data-mobile-fixed]){
    display:block;max-width:100%;overflow-x:auto;
    -webkit-overflow-scrolling:touch
  }
}

/* 2) Header rechts: Pills nicht überlaufen lassen */
@media (max-width:768px){
  .hdr-right{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    max-width:100vw;
    padding-bottom:2px
  }
  .hdr-right::-webkit-scrollbar{display:none}
}
/* 3) Sehr schmal: Live-Badge und MP-Button (redundant zur Sidebar) ausblenden */
@media (max-width:600px){
  .hdr-right #live{display:none!important}
  .hdr-right #mp-btn{display:none!important}
}

/* 4) Tap-Targets in der Sidebar: min 32px Höhe für Settings-Pills
      Cave: Sidebar-Breite mobile-open = 220px. Pills müssen reinpassen.
      Theme-Row Dark/Term/Light braucht 3 Pills nebeneinander = je max ~58px.
      Lang/Currency Row mit 2 Pills passen mit 8px Padding. */
@media (max-width:900px){
  /* Pill-Container: erlauben dass sie umbrechen wenn zu eng */
  .sidebar.mobile-open .sb-mini-toggle{
    flex-wrap:wrap;
    gap:4px
  }
  .sidebar.mobile-open #sbLangDE,
  .sidebar.mobile-open #sbLangEN,
  .sidebar.mobile-open #sbCurUSD,
  .sidebar.mobile-open #sbCurEUR{
    min-height:32px!important;
    padding:6px 10px!important;
    font-size:12px!important;
    line-height:1.2!important
  }
  /* Theme-Pills: kompakter weil 3 nebeneinander */
  .sidebar.mobile-open #sbThemeDark,
  .sidebar.mobile-open #sbThemeTerminal,
  .sidebar.mobile-open #sbThemeLight{
    min-height:32px!important;
    padding:6px 6px!important;
    font-size:11px!important;
    line-height:1.2!important;
    flex:0 1 auto
  }
  .sidebar.mobile-open #sbZoomMinus,
  .sidebar.mobile-open #sbZoomPlus,
  .sidebar.mobile-open #sbZoomReset{
    min-width:36px!important;
    min-height:36px!important;
    font-size:14px!important
  }
  /* Headerpill-Buttons mind. 36px hoch */
  .hdr-right > button{min-height:36px}
}

/* 5) Tiny text Lesbarkeit (mobile only) */
@media (max-width:768px){
  .btag{font-size:10px!important}
  .sb-new-badge{font-size:9px!important}
  .sb-brand-sub{font-size:10px!important}
  .sb-label{font-size:10px!important;letter-spacing:.5px}
  #hdrSub{font-size:10.5px}
}

/* 6) Modals: max-height + overflow für Mobile (alle generischen .modal mit content-Box) */
@media (max-width:768px){
  .modal[style*="display: flex"],
  .modal[style*="display:flex"]{
    align-items:flex-start!important;
    padding:8px!important
  }
  /* Drilldown-Modal & ähnliche generische Modal-Boxen */
  #quantPresetDetailModal,
  #stockDetailModal{
    padding:0!important
  }
  #quantPresetDetailBox,
  #stockDetailBox{
    max-height:calc(100vh - 16px)!important;
    margin:8px!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important
  }
}

/* 7) Backup-Reminder-Stripe: Buttons stack auf sehr schmal */
@media (max-width:430px){
  #exportReminderStripe{
    flex-wrap:wrap!important;
    gap:6px!important
  }
  #exportReminderStripe > button{
    flex:1 1 auto;
    min-height:36px;
    font-size:12px
  }
}

/* 8) Charts: responsive Container — verhindert dass Canvas eigene Pixel-Width über Container hinausschiebt */
@media (max-width:768px){
  canvas{max-width:100%!important;height:auto}
  /* Aber Chart.js braucht explizite Höhe vom Container; nicht canvas selbst */
  .chart-container,.tr-chart-canvas-host,#qbl-detail-chart-host{
    width:100%!important;
    max-width:100%!important
  }
}
/* mobilePolish_20260506 END */

/* ==== tourTooltips_20260506 START ==== */
/* 30-Sek Quick-Tour Spotlight-Overlay */
#ckTourBackdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,.72);
  z-index:99990;
  display:none;
  -webkit-tap-highlight-color:transparent
}
#ckTourBackdrop.act{display:block}
#ckTourSpot{
  position:fixed;
  border-radius:10px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.72), 0 0 0 3px rgba(96,165,250,.85), 0 0 24px rgba(96,165,250,.45);
  z-index:99991;
  pointer-events:none;
  transition:top .25s ease, left .25s ease, width .25s ease, height .25s ease;
  display:none
}
#ckTourSpot.act{display:block}
#ckTourPop{
  position:fixed;
  z-index:99992;
  width:340px;max-width:calc(100vw - 28px);
  background:#0f1729;
  color:#e2e8f0;
  border:1px solid rgba(96,165,250,.55);
  border-radius:14px;
  padding:18px 18px 14px;
  box-shadow:0 20px 50px rgba(0,0,0,.55);
  font-family:var(--sans, system-ui, sans-serif);
  display:none
}
#ckTourPop.act{display:block}
#ckTourPop .ckt-step{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.6px;color:#60a5fa;font-weight:700;margin-bottom:6px;text-transform:uppercase}
#ckTourPop .ckt-title{font-size:17px;font-weight:800;margin:0 0 8px;color:#f1f5f9;line-height:1.25}
#ckTourPop .ckt-body{font-size:13px;line-height:1.55;color:#cbd5e1;margin:0 0 14px}
#ckTourPop .ckt-body strong{color:#f1f5f9}
#ckTourPop .ckt-bar{display:flex;gap:4px;margin-bottom:12px}
#ckTourPop .ckt-bar i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.10)}
#ckTourPop .ckt-bar i.on{background:#60a5fa}
#ckTourPop .ckt-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}
#ckTourPop .ckt-skip{background:transparent;border:0;color:#94a3b8;font-size:12px;cursor:pointer;padding:6px 4px;font-family:var(--mono,monospace)}
#ckTourPop .ckt-skip:hover{color:#cbd5e1;text-decoration:underline}
#ckTourPop .ckt-next{background:linear-gradient(135deg,#3b82f6,#6366f1);border:0;color:#fff;font-weight:700;font-size:13px;padding:9px 18px;border-radius:8px;cursor:pointer;font-family:var(--sans,system-ui)}
#ckTourPop .ckt-next:hover{filter:brightness(1.12)}
#ckTourPop .ckt-prev{background:transparent;border:1px solid rgba(255,255,255,.14);color:#cbd5e1;font-size:12px;padding:8px 12px;border-radius:8px;cursor:pointer;font-family:var(--mono,monospace)}
#ckTourPop .ckt-prev:hover{border-color:rgba(255,255,255,.30)}
@media (max-width:480px){
  #ckTourPop{width:calc(100vw - 28px);padding:14px 14px 12px;border-radius:12px}
  #ckTourPop .ckt-title{font-size:15px}
  #ckTourPop .ckt-body{font-size:12.5px}
}
body.light #ckTourPop{background:#ffffff;color:#0f172a;border-color:#3b82f6}
body.light #ckTourPop .ckt-title{color:#0f172a}
body.light #ckTourPop .ckt-body{color:#334155}
body.light #ckTourPop .ckt-body strong{color:#0f172a}

/* ?-Tooltip Bibliothek (vanilla, hover+click) */
/* Wichtig: th, .stat .sl, etc. sollen Tooltip nicht clippen */
th, .stat .sl, .ms-title, .col-hdr { overflow:visible }
/* Tabellen-thead Container: thead muss tooltip-overflow erlauben (hier nur thead, nicht body) */
table > thead { position:relative; z-index:5 }
.ck-tip{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:14px;height:14px;
  margin-left:5px;
  border-radius:50%;
  background:rgba(96,165,250,.16);
  color:#60a5fa;
  border:1px solid rgba(96,165,250,.40);
  font-family:var(--mono,monospace);
  font-size:9px;font-weight:700;
  line-height:1;
  cursor:help;
  vertical-align:middle;
  position:relative;
  -webkit-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent
}
.ck-tip:hover,.ck-tip.act{background:rgba(96,165,250,.34);color:#fff}
.ck-tip::after{
  content:attr(data-tip);
  position:absolute;
  top:calc(100% + 8px);left:50%;
  transform:translateX(-50%) scale(.96);
  transform-origin:top center;
  background:#0f1729;
  color:#e2e8f0;
  border:1px solid rgba(96,165,250,.42);
  padding:8px 10px;
  border-radius:8px;
  font-family:var(--sans,system-ui);
  font-size:11.5px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
  white-space:normal;
  width:240px;max-width:80vw;
  text-align:left;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease, transform .15s ease;
  z-index:100000;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
  text-transform:none
}
.ck-tip::before{
  content:"";
  position:absolute;
  top:calc(100% + 2px);left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:8px;height:8px;
  background:#0f1729;
  border-left:1px solid rgba(96,165,250,.42);
  border-top:1px solid rgba(96,165,250,.42);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease;
  z-index:100000
}
.ck-tip:hover::after,.ck-tip:focus::after,.ck-tip.act::after,
.ck-tip:hover::before,.ck-tip:focus::before,.ck-tip.act::before{
  opacity:1;visibility:visible;
  transform:translateX(-50%) scale(1)
}
@media (max-width:480px){
  .ck-tip::after{width:200px;font-size:11px}
}
body.light .ck-tip::after{background:#ffffff;color:#0f172a;border-color:#3b82f6}
body.light .ck-tip::before{background:#ffffff;border-color:#3b82f6}
/* ==== tourTooltips_20260506 END ==== */

