  :root{color-scheme:dark;--app-avatar:url("data:image/jpeg;base64,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")}
  *{box-sizing:border-box}
  .head-avatar{width:46px;height:46px;flex:none;border-radius:50%;overflow:hidden;background:#071423;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 4px 12px rgba(0,0,0,.3)}
  .head-avatar svg{width:100%;height:100%;display:block}
  .head-avatar img:not([hidden]){width:100%;height:100%;display:block;object-fit:cover}
  body.light .head-avatar{box-shadow:0 0 0 1px rgba(31,55,99,.16),0 4px 12px rgba(31,55,99,.14)}
  body{margin:0;background:#0d1117;color:#e6e9ef;font-family:-apple-system,Segoe UI,Roboto,sans-serif}
  .topbar{position:sticky;top:0;z-index:40;background:#0d1117}
  header{padding:16px 28px 0;border-bottom:1px solid #21262d;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:nowrap;gap:14px 24px;position:relative}
  .head-left{display:flex;align-items:flex-end;gap:6px 26px;flex-wrap:wrap;min-width:0}
  .brand{display:flex;align-items:center;gap:14px;padding-bottom:14px}
  .head-title{display:flex;flex-direction:column}
  h1{margin:0;font-size:21px}
  .sub{color:#7a8190;font-size:13px;margin-top:4px}
  .status{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:12px;color:#7a8190}
  .status-row{display:flex;align-items:center;gap:10px}
  .status-line{display:flex;align-items:center;gap:7px}
  .dot{width:9px;height:9px;border-radius:50%;background:#22c55e}
  .dot.loading{background:#f59e0b;animation:pulse 1s infinite}
  .dot.error{background:#ef4444}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  .reload{background:#1f6feb;border:none;color:#fff;padding:7px 14px;border-radius:8px;font-size:12px;cursor:pointer}
  .reload:hover{background:#388bfd}
  .reload:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
  .chart-tip{position:absolute;pointer-events:none;z-index:5;background:#1c2230;border:1px solid #30363d;border-radius:8px;padding:7px 10px;font-size:12px;color:#e6e9ef;box-shadow:0 6px 18px rgba(0,0,0,.45);opacity:0;transform:translate(-50%,-115%);transition:opacity .1s;white-space:nowrap}
  .chart-tip.show{opacity:1}
  .chart-tip .tt-name{font-weight:600;margin-bottom:5px}
  .chart-tip .tt-sym{color:#7a8190;font-size:11px}
  .chart-tip .tt-px{margin-top:2px}
  .chart-tip .tt-table{border-collapse:collapse;font-size:12px}
  .chart-tip .tt-table th{text-align:left;color:#7a8190;font-weight:500;padding:1px 10px 4px 0;border-bottom:1px solid #30363d}
  .chart-tip .tt-table th:last-child,.chart-tip .tt-table td:last-child{padding-right:0}
  .chart-tip .tt-table td{padding:3px 10px 3px 0;white-space:nowrap}
  .chart-tip .tt-table td.tt-num{text-align:right;font-variant-numeric:tabular-nums}
  .chart-tip .tt-table th.tt-num{text-align:right}
  /* zweiter Block im Tooltip (z.B. Zeitraum-Tabelle unter den Kennzahlen einer Position) */
  .chart-tip .tt-sub{margin-top:7px;padding-top:6px;border-top:1px solid #30363d}
  /* Positions-Tooltip: width:max-content haelt die Box so schmal wie ihr breitester Block - ohne
     das wuerde die Tabelle mit width:100% den absolut positionierten Tooltip auf die volle
     Containerbreite aufziehen. Die Tabellen fuellen dann genau diese Breite aus. */
  #histContribTip{width:max-content}
  #histContribTip .tt-table{width:100%}
  .chart-tip .tt-table tr.tt-active td{background:rgba(31,111,235,.20)}
  .chart-tip .tt-table tr.tt-active td:first-child{border-radius:4px 0 0 4px}
  .chart-tip .tt-table tr.tt-active td:last-child{border-radius:0 4px 4px 0}
  body.light .chart-tip .tt-sub{border-top-color:#dfe3ea}
  body.light .chart-tip .tt-table tr.tt-active td{background:rgba(31,111,235,.12)}
  .alert-toast-host{position:fixed;top:74px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:320px}
  .alert-toast{pointer-events:auto;cursor:pointer;background:#1c2230;border:1px solid #30363d;border-radius:10px;padding:10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;transform:translateX(24px);transition:opacity .25s ease,transform .25s ease}
  .alert-toast.show{opacity:1;transform:translateX(0)}
  .alert-toast .at-title{font-weight:600;font-size:13px;margin-bottom:3px;color:#e6e9ef}
  .alert-toast .at-body{font-size:12px;color:#9aa4b2}
  body.light .alert-toast{background:#fff;border-color:#dfe3ea;box-shadow:0 8px 24px rgba(0,0,0,.15)}
  body.light .alert-toast .at-title{color:#1f2430}
  body.light .alert-toast .at-body{color:#5a6376}
  .chart-tip .tt-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:middle}
  .toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 28px;position:sticky;top:var(--head-h,0px);z-index:30;background:#0d1117;border-bottom:1px solid #21262d}
  .tb-label{color:#7a8190;font-size:12px;margin-right:4px}
  .sort-btn{background:#161b22;border:1px solid #21262d;color:#aab2c0;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:.15s}
  .sort-btn:hover{border-color:#3b82f6;color:#e6e9ef}
  .sort-btn.active{background:#1f6feb;border-color:#1f6feb;color:#fff}
  .sort-btn[disabled],.tb-label.disabled{opacity:.38;cursor:not-allowed;pointer-events:none}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;padding:24px 28px}
  .grid-sep{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;background:#11161d;font-size:13px;font-weight:700;color:#e6e9ef;padding:9px 14px;margin:-18px -28px 0;border-bottom:1px solid #21262d;cursor:pointer;user-select:none}
  .grid-sep:first-child{margin-top:0}
  .grid-sep .grid-tg{display:inline-block;width:11px;text-align:center;margin-right:8px;color:#7a8190;transition:transform .15s ease;font-size:11px}
  .grid-sep.collapsed .grid-tg{transform:rotate(-90deg)}
  .grid-sep:hover{filter:brightness(1.15)}
  .card.grp-hidden{display:none!important}
  .grid-sep-n{font-size:12px;font-weight:600;color:#7a8190;background:#0d1117;border:1px solid #21262d;border-radius:20px;padding:2px 9px;margin-left:8px}
  .grp-tot{font-size:12px;font-weight:600;color:#7a8190;white-space:nowrap}
  .grid-sep .grp-tot,.hm-group h3 .grp-tot,.grp-row-inner .grp-tot{margin-left:auto}
  table.tbl tbody tr.grp-row td .grp-tot{font-weight:600}
  .grp-row-inner{display:flex;align-items:center;flex-wrap:wrap}
  .grp-tot b{font-weight:700;color:#e6e9ef}
  .grp-tot b.pos{color:#22c55e}
  .grp-tot b.neg{color:#ef4444}
  .grp-tot .sep{opacity:.4;margin:0 7px}
  /* Kennzahlen immer spaltenweise ausgerichtet, damit nichts beim Auf-/Zuklappen springt */
  .grp-tot{display:inline-flex;align-items:center;gap:0}
  .grp-tot .sep{display:none}
  .grp-tot .gt-i{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:120px;padding:0 16px;border-left:1px solid #1b212b;line-height:1.3}
  .grp-tot .gt-i:first-child{border-left:none}
  .grp-tot .gt-i b{font-size:13px;white-space:nowrap}
  .grp-tot .sep{display:none}
  body.light .grp-tot b{color:#1f2430}
  body.light .grp-tot b.pos,body.light .gt-ret.pos,body.light .gt-day.pos{color:#16a34a}
  body.light .grp-tot b.neg,body.light .gt-ret.neg,body.light .gt-day.neg{color:#dc2626}
  body.light .grid-sep{background:#eef1f6;color:#0d1117;border-bottom-color:#dfe3ea}
  body.light .grid-sep .grid-tg{color:#55607a}
  body.light .grid-sep-n{background:#eff2f7;border-color:#cfd6e2;color:#3a4358}
  .card{background:#161b22;border:1px solid #21262d;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
  /* Variable Mitte (Stat, Badges, P/L, Eingabe) – wächst mit dem Inhalt, statt jede Zeile einzeln anzugleichen */
  .card-mid{display:flex;flex-direction:column;gap:12px;min-width:0}
  /* Bestand/Kursziel-Block unten andocken; freier Platz landet über dem Block, nicht in der Badge-Box */
  .card-mid>.pl-wrap{margin-top:auto}
  /* Abschnitte aller Karten einer Reihe auf gleiche Höhe bringen (Subgrid) */
  @supports (grid-template-rows: subgrid){
    .grid>.card{display:grid;grid-template-columns:1fr;grid-template-rows:subgrid;grid-row:span 8;row-gap:12px}
    .grid>.card>.scn-open{margin:0}
    .grid>.card>.spark{margin:0}
  }
  .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-left:4px solid;padding-left:10px}
  .tname{font-weight:600;font-size:15px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .tsym{color:#7a8190;font-size:12px}
  .tic{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--ic,#888);color:#fff;font-weight:800;flex:none;overflow:hidden;line-height:1;letter-spacing:.2px}
  .tic img{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;padding:2px;object-fit:contain;background:#fff;z-index:1;image-rendering:auto}
  .ch-id{display:flex;align-items:center;gap:11px;min-width:0;flex:1 1 auto}
  .ch-id>div{min-width:0}
  .t-ic{display:inline-flex;vertical-align:middle;margin-right:9px}
  .dh-id{display:flex;align-items:center;gap:12px}
  .price{font-size:22px;font-weight:700;text-align:right;flex:none;white-space:nowrap}
  .price span{font-size:12px;color:#7a8190;font-weight:400}
  .price .day{display:block}
  .spark{margin:-4px 0}
  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}
  .kpi{background:#0d1117;border-radius:8px;padding:8px;text-align:center}
  .kpi span{display:block;color:#7a8190;font-size:10px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
  .kpi b{font-size:15px}
  .pos{color:#22c55e}.neg{color:#ef4444}
  .masked{color:#8a92a0}
  .stat{text-align:center;padding:7px;border-radius:8px;font-size:12px;font-weight:600}
  .stat.buy{background:rgba(34,197,94,.14);color:#4ade80}
  .stat.sell{background:rgba(239,68,68,.13);color:#f87171}
  .stat.neutral{background:#1c2230;color:#9aa4b2}
  body.light .stat.buy{background:#e7f7ee;color:#15803d}
  body.light .stat.sell{background:#fdecec;color:#c0392b}
  .verdict{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid transparent}
  .verdict .vd-ico{font-size:18px;line-height:1}
  .verdict .vd-sub{display:block;font-weight:400;font-size:11px;opacity:.85;margin-top:2px}
  .verdict.strong{background:#0f2e1c;color:#4ade80;border-color:#1f7a47;box-shadow:0 0 0 1px #1f7a47 inset}
  .verdict.buy{background:#102a1d;color:#86efac;border-color:#1d5237}
  .verdict.watch{background:#2a2410;color:#fbbf24;border-color:#5a4a16}
  .verdict.hold{background:#1c2230;color:#9aa4b2;border-color:#2a3040}
  .verdict.avoid{background:#3a1212;color:#f87171;border-color:#6b2020}
  /* Konsens-Rating: pulsierender Aufruf-Button + rechtes Panel */
  .rating-open{margin-left:auto;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #21262d;border-radius:8px;background:#0d1117;color:#e6e9ef;cursor:pointer;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}
  .rating-open:hover{background:#11161e;border-color:#2a3242}
  .rating-open.pulse-hint{animation:ratingPulse 1.8s ease-in-out infinite;border-color:#1f6feb}
  .rating-open.pulse-hint:hover{animation:none}
  @keyframes ratingPulse{0%,100%{box-shadow:0 0 0 0 rgba(31,111,235,.45)}50%{box-shadow:0 0 0 6px rgba(31,111,235,0)}}
  .rating-open .ro-ic{font-size:16px}
  .rating-open .ro-tx{flex:1;text-align:left}
  .rating-open .ro-badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:6px;background:#1c2230;color:#9aa4b2}
  .rating-open .ro-badge.strong,.rating-open .ro-badge.buy{background:#0f2e1c;color:#4ade80}
  .rating-open .ro-badge.sell,.rating-open .ro-badge.avoid{background:#3a1212;color:#f87171}
  .rating-open .ro-badge.hold{background:#2a2410;color:#fbbf24}
  .rating-open .ro-counts{display:flex;gap:3px}
  .rating-open .ro-counts i{font-style:normal;font-size:11px;font-weight:700;min-width:18px;text-align:center;padding:1px 5px;border-radius:5px}
  .rating-open .ro-counts .sell{color:#f87171;background:rgba(248,113,113,.12)}.rating-open .ro-counts .neu{color:#9aa4b2;background:rgba(154,164,178,.12)}.rating-open .ro-counts .buy{color:#4ade80;background:rgba(74,222,128,.12)}
  .rating-open .ro-cv{font-size:22px;line-height:1;color:#1f6feb;transition:transform .3s;font-weight:700}
  .rating-open .ro-cv{animation:caretPulse 1.2s ease-in-out infinite}
  .rating-open.expanded .ro-cv{transform:rotate(180deg);animation:none}
  @keyframes caretPulse{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(3px);opacity:1}}
  body.light .rating-open{background:#fff;border-color:#e1e5ec;color:#1f2430}
  body.light .rating-open:hover{background:#f3f6fb;border-color:#cdd4df}
  body.light .rating-open .ro-badge{background:#eef1f6;color:#475569}
  body.light .rating-open .ro-badge.strong,body.light .rating-open .ro-badge.buy{background:rgba(34,197,94,.14);color:#15803d}
  body.light .rating-open .ro-badge.sell,body.light .rating-open .ro-badge.avoid{background:rgba(239,68,68,.14);color:#b91c1c}
  body.light .rating-open .ro-badge.hold{background:rgba(234,179,8,.18);color:#a16207}
  #detailBox{display:flex;gap:0;align-items:stretch;transition:max-width .28s ease;padding:0;overflow:hidden;height:calc(100vh - 48px)}
  #detailBox.rating-expanded{max-width:1760px}
  .dt-main{flex:1;min-width:0;padding:22px 24px;overflow:auto}
  .rating-drawer{flex:none;width:0;overflow:hidden;align-self:stretch;background:#0b0f15;border-left:1px solid transparent;transition:width .28s ease,border-color .28s ease;border-radius:0 16px 16px 0}
  #detailBox.rating-expanded .rating-drawer{width:440px;border-left-color:#21262d}
  .rd-inner{width:440px;padding:0 8px 16px 18px;box-sizing:border-box;height:100%;overflow:auto}
  body.light .rating-drawer{background:#f3f6fb}
  body.light #detailBox.rating-expanded .rating-drawer{border-left-color:#e1e5ec}
  .rd-head{position:sticky;top:0;z-index:5;background:#0b0f15;display:flex;align-items:center;justify-content:space-between;padding:16px 14px;border-bottom:1px solid #1b212b;font-size:15px;color:#cfd6e2}
  .rd-head b{display:inline-flex;align-items:center;gap:8px}
  .rd-head .ic{width:18px;height:18px;color:#7a8190}
  .rd-hero{margin:14px 14px 4px;padding:13px;border-radius:8px;text-align:center;background:#11161f;border:1px solid #21262d;border-top:2px solid #6b7280}
  .rd-hero.strong,.rd-hero.buy{border-top-color:#22c55e}
  .rd-hero.sell,.rd-hero.avoid{border-top-color:#ef4444}
  .rd-hero.hold{border-top-color:#eab308}
  .rd-verdict{font-size:20px;font-weight:800;letter-spacing:.3px}
  .rd-hero.strong .rd-verdict,.rd-hero.buy .rd-verdict{color:#4ade80}.rd-hero.sell .rd-verdict,.rd-hero.avoid .rd-verdict{color:#f87171}.rd-hero.hold .rd-verdict{color:#eab308}
  .rd-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin:10px 0 8px;background:#161b22}
  .rd-bar .bs{background:#ef4444}.rd-bar .bn{background:#6b7280}.rd-bar .bb{background:#22c55e}
  .rd-cnt{display:flex;justify-content:space-between;font-size:11px;font-weight:700}
  .rd-cnt .sell{color:#f87171}.rd-cnt .neu{color:#9aa4b2}.rd-cnt .buy{color:#4ade80}
  .rd-gauges{display:flex;justify-content:space-around;gap:8px;padding:14px 8px 10px}
  .rg{flex:1;text-align:center;min-width:0}
  .rg-lbl{font-size:11px;color:#7a8190;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
  .rg-dial{display:block;width:120px;max-width:100%;height:auto;margin:0 auto}
  .rg-verdict{font-weight:700;font-size:13px;margin-top:6px}
  .rg-verdict.strong,.rg-verdict.buy{color:#4ade80}.rg-verdict.sell,.rg-verdict.avoid{color:#f87171}.rg-verdict.hold{color:#eab308}
  .rg-counts{font-size:11px;margin-top:4px;font-weight:700}.rg-counts span{display:inline-block;min-width:18px;margin:0 3px;padding:1px 5px;border-radius:5px}.rg-counts .sell{color:#f87171;background:rgba(248,113,113,.12)}.rg-counts .neu{color:#9aa4b2;background:rgba(154,164,178,.12)}.rg-counts .buy{color:#4ade80;background:rgba(74,222,128,.12)}
  .rating-tbls{display:flex;flex-wrap:wrap;gap:10px;padding:6px 14px 8px}
  .rating-ind{flex:1;min-width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
  .rating-ind th{color:#7a8190;text-align:left;padding:4px 6px;border-bottom:1px solid #21262d;font-weight:600}
  .rating-ind th:nth-child(2),.rating-ind th:nth-child(3){text-align:right}
  .rating-ind th:nth-child(2),.rating-ind .rv{width:34%}.rating-ind th:nth-child(3),.rating-ind .rs{width:26%}
  .rating-ind td{padding:4px 6px;border-bottom:1px solid #161b22}.rating-ind .rv{text-align:right;color:#aab2c0;font-variant-numeric:tabular-nums}
  .rating-ind tbody tr{transition:background .15s}.rating-ind tbody tr:hover{background:#11161f}
  .rating-ind .rs{text-align:right}
  .rs-pill{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:4px}
  .rs-pill.buy{color:#4ade80;background:rgba(74,222,128,.14)}.rs-pill.sell{color:#f87171;background:rgba(248,113,113,.14)}.rs-pill.neutral{color:#9aa4b2;background:rgba(154,164,178,.12)}
  body.light .rd-head{background:#f3f6fb;color:#1f2430;border-bottom-color:#e1e5ec}
  body.light .rd-head .ic{color:#5b6472}
  body.light .rd-hero{background:#f7f9fc;border-color:#e1e5ec}
  body.light .rd-hero.strong,body.light .rd-hero.buy{border-top-color:#22c55e}
  body.light .rd-hero.sell,body.light .rd-hero.avoid{border-top-color:#ef4444}
  body.light .rd-hero.hold{border-top-color:#eab308}
  body.light .rd-bar{background:#e3e7ee}
  body.light .rating-ind tbody tr:hover{background:#f3f6fb}
  body.light .rating-ind th{border-bottom-color:#e1e5ec}body.light .rating-ind td{border-bottom-color:#eef1f6}
  body.light .rd-profile{border-top-color:#e1e5ec}body.light .rd-shead{color:#1f2430}body.light .rd-shead .ic{color:#5b6472}
  .rating-note{font-size:10px;color:#6b7280;padding:0 10px 8px}
  .rd-profile{padding:10px 14px 4px;border-top:1px solid #1b212b;margin-top:4px}
  .rd-shead{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#cfd6e2;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
  .rd-shead .ic{width:15px;height:15px;color:#7a8190}
  .rd-logo{display:inline-flex;align-items:center;justify-content:center;padding:8px;background:#fff;border:1px solid #1b212b;border-radius:11px;margin:0 0 13px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
  .rd-logo img{width:42px;height:42px;object-fit:contain;display:block}
  body.light .rd-logo{border-color:#e1e5ec;box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .rd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:2px 0 14px}
  .rd-fact{display:flex;flex-direction:column;gap:3px;background:#0f141b;border:1px solid #1b212b;border-radius:9px;padding:8px 11px;min-width:0}
  .rd-fact span{color:#8b93a1;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
  .rd-fact b{color:#e6edf3;font-weight:600;font-size:13px;line-height:1.3;word-break:break-word}
  .rd-fact a{color:#58a6ff;text-decoration:none}
  .rd-fact a:hover{text-decoration:underline}
  .rd-about{max-width:80ch}
  .rd-about .ap-txt{font-size:12.5px;line-height:1.62;margin:0 0 6px}
  .rd-clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
  .rd-about-tgl{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
  .rd-about-tgl:checked ~ .rd-clamp{-webkit-line-clamp:unset;display:block}
  .rd-more{display:inline-block;cursor:pointer;color:#58a6ff;font-size:12px;font-weight:600;margin:0 14px 0 0;user-select:none}
  .rd-more:hover{text-decoration:underline}
  .rd-more .m-hide{display:none}
  .rd-about-tgl:checked ~ .rd-more .m-show{display:none}
  .rd-about-tgl:checked ~ .rd-more .m-hide{display:inline}
  body.light .rd-fact{background:#f3f6fb;border-color:#e1e5ec}
  body.light .rd-fact span{color:#5b6472}body.light .rd-fact b{color:#1f2430}
  .ap-meta{font-size:11px;color:#7a8190;margin-bottom:8px;font-weight:600}
  .ap-txt{font-size:12px;line-height:1.55;color:#aab2c0;margin:0 0 8px;white-space:pre-line}
  .ap-link{font-size:11px;color:#1f6feb;text-decoration:none;font-weight:600}.ap-link:hover{text-decoration:underline}
  .ap-load{font-size:12px;color:#7a8190;padding:4px 0 6px}
  .badges{display:flex;flex-wrap:wrap;gap:6px}
  .badge{font-size:11px;padding:4px 8px;border-radius:6px;background:#0d1117;border:1px solid #21262d}
  .badge.buy{color:#4ade80;border-color:#1d3b29}
  .badge.neutral{color:#7a8190}
  body.light .badge.buy{color:#15803d;background:#e7f7ee;border-color:#bfe3cd}
  .fc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}
  .fc th{color:#7a8190;font-weight:500;text-align:right;padding:3px 4px;border-bottom:1px solid #21262d}
  .fc th:first-child{text-align:left}
  .fc td{text-align:right;padding:3px 4px}
  .fc td:first-child{text-align:left;color:#9aa4b2}
  .fc .med{color:#e6e9ef;font-weight:600}
  .fc-head{font-size:13px;font-weight:600;color:#aab2c0}
  .muted{color:#7a8190;font-weight:400;font-size:11px}
  .de-mark{display:inline-flex;align-items:center;align-self:center;padding:1px 4px;border-radius:3px;font-size:8.5px;line-height:1;font-weight:700;letter-spacing:.3px;color:#fbbf24;background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.35)}
  .zeit-cell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;max-width:100%;vertical-align:middle}
  .zeit-cell .zeit-t{line-height:1;align-self:center}
  body.light .de-mark{color:#b45309;background:rgba(180,83,9,.10);border-color:rgba(180,83,9,.30)}
  /* Dezentes Pill für US-only-Titel ohne deutsche Notierung: zeigt an, dass der Kurs
     der letzte US-Börsenschluss ist (grau/ruhig, klar abgesetzt vom aktiven amberfarbenen DE). */
  .us-mark{display:inline-flex;align-items:center;align-self:center;padding:1px 4px;border-radius:3px;font-size:8.5px;line-height:1;font-weight:700;letter-spacing:.3px;color:#8b93a1;background:rgba(139,148,161,.14);border:1px solid rgba(139,148,161,.32);cursor:help}
  body.light .us-mark{color:#5a6376;background:rgba(90,99,118,.09);border-color:rgba(90,99,118,.26)}
  /* Alter des Kurses, wenn hier eigentlich gehandelt wird (siehe _priceAgeMark). Bewusst dieselbe
     ruhige Optik wie .us-mark - es ist ein Hinweis, keine Warnung: meist wurde an diesem
     Handelsplatz einfach nicht gehandelt. */
  .age-mark{display:inline-flex;align-items:center;align-self:center;padding:1px 4px;border-radius:3px;font-size:8.5px;line-height:1;font-weight:600;color:#8b93a1;background:rgba(139,148,161,.10);border:1px solid rgba(139,148,161,.26);cursor:help;white-space:nowrap}
  body.light .age-mark{color:#5a6376;background:rgba(90,99,118,.07);border-color:rgba(90,99,118,.22)}
  .err{color:#f87171;font-size:12px}
  footer{padding:18px 28px;color:#6b7280;font-size:11px;border-top:1px solid #21262d}
  .skel{height:240px;display:flex;align-items:center;justify-content:center;color:#7a8190}
  /* Depot & Verwaltung */
  .depot{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
  .head-right{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;justify-content:flex-end;padding-bottom:14px;min-width:0}
  .depot .dp{display:flex;flex-direction:column;gap:2px;line-height:1.2}
  .depot .dp span{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190;white-space:nowrap}
  .depot .dp b{font-size:15px;font-weight:700;white-space:nowrap}
  .depot .dp small{font-size:12px;font-weight:600;white-space:nowrap}
  .depot .hint{color:#7a8190;font-size:12px;padding:8px 0;display:inline-flex;align-items:center;gap:6px}
  .scenario{padding:14px 28px;border-bottom:1px solid #21262d;background:#0d1117}
  .scenario.hide{display:none}
  .scn-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
  .scn-title{font-size:13px;font-weight:700;color:#e6e9ef}
  .scn-pct{font-size:16px;font-weight:800;min-width:64px;color:#3b82f6}
  .scn-slider{-webkit-appearance:none;appearance:none;width:100%;max-width:540px;height:10px;border-radius:6px;cursor:pointer;display:block;margin:4px 0 8px;background:linear-gradient(to right,#3b82f6 0%,#3b82f6 .5%,#22c55e .5%,#22c55e 1.3%,#84cc16 2.2%,#eab308 3.5%,#f59e0b 7%,#ef4444 13%,#b91c1c 100%)}
  .scn-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #1f6feb;box-shadow:0 1px 4px rgba(0,0,0,.45);cursor:pointer}
  .scn-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #1f6feb;box-shadow:0 1px 4px rgba(0,0,0,.45);cursor:pointer}
  .scn-slider::-moz-range-track{background:transparent}
  .scn-scale{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:#7a8190;margin:0 0 12px}
  .scn-scale span{display:inline-flex;align-items:center;gap:5px}
  .scn-scale i{width:11px;height:11px;border-radius:3px;display:inline-block}
  .scn-grid{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-end}
  .scenario .dp{display:flex;flex-direction:column;line-height:1.25}
  .scenario .dp span{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190}
  .scenario .dp b{font-size:18px;font-weight:700}
  .scenario .dp small{font-size:12px;font-weight:600}
  .scn-table{border-collapse:collapse;font-size:12px;margin-top:12px}
  .scn-table th{text-align:right;color:#7a8190;font-weight:500;padding:2px 14px 5px 0;border-bottom:1px solid #21262d}
  .scn-table th:first-child,.scn-table td:first-child{text-align:left}
  .scn-table td{text-align:right;padding:4px 14px 4px 0;white-space:nowrap;font-variant-numeric:tabular-nums}
  .scn-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:middle}
  .scn-modal{padding:4px 2px 2px}
  .scn-modal .scn-head{margin-top:4px}
  .scn-modal .dp{display:flex;flex-direction:column;line-height:1.25}
  .scn-modal .dp span{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190}
  .scn-modal .dp b{font-size:19px;font-weight:700}
  .scn-modal .dp small{font-size:12px;font-weight:600}
  .scn-inputs{display:flex;gap:18px;flex-wrap:wrap;margin:2px 0 16px}
  .scn-inputs label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#7a8190;text-transform:uppercase;letter-spacing:.4px}
  .scn-inputs .fld{width:150px}
  .detail-scenario{margin-top:8px}
  .target-block{margin-top:0;background:#0e1320;border:1px solid #232a3a;border-radius:10px;padding:12px 14px}
  .target-block+.target-block{margin-top:14px}
  .tb-title{font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:baseline;gap:8px}
  .target-block .detail-grid{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
  .target-block .kpi{background:#0d1117;border:1px solid #1c2330}
  .target-block .stat,.target-block .muted{margin-top:10px}
  body.light .target-block{background:#f4f6fa;border-color:#e1e5ec}
  body.light .target-block .kpi{background:#fff;border-color:#e6eaf1}
  .detail-tabs{display:flex;gap:6px;margin:14px 0 4px;border-bottom:1px solid #21262d}
  .dtab{background:none;border:none;border-bottom:2px solid transparent;color:#7a8190;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;margin-bottom:-1px}
  .dtab:hover{color:#e6e9ef}
  .dtab.active{color:#e6e9ef;border-bottom-color:#1f6feb}
  body.light .detail-tabs{border-color:#e1e5ec}
  body.light .dtab:hover{color:#1a1f29}
  body.light .dtab.active{color:#1a1f29}
  .tab-pane[hidden]{display:none}
  .ds-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
  .ds-title{font-size:14px;font-weight:700}
  .ds-chart{margin:6px 0 14px;background:#0d1117;border:1px solid #21262d;border-radius:10px;padding:6px 4px}
  .detail-scenario .dp{display:flex;flex-direction:column;line-height:1.2}
  .detail-scenario .dp span{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190}
  .detail-scenario .dp b{font-size:18px;font-weight:700}
  .detail-scenario .dp small{font-size:12px;font-weight:600}
  .scn-sum-table{border-collapse:collapse;width:100%;max-width:520px;font-variant-numeric:tabular-nums}
  .scn-sum-table td{padding:7px 0;border-bottom:1px solid #21262d;white-space:nowrap;vertical-align:baseline}
  .scn-sum-table tr:last-child td{border-bottom:none}
  .scn-sum-table .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190;width:50%;padding-right:14px}
  .scn-sum-table .val{text-align:right;font-size:17px;font-weight:700;padding-right:16px}
  .scn-sum-table .sub{text-align:right;font-size:12px;font-weight:600;color:#7a8190;width:1%;white-space:nowrap}
  .scn-sum-table .val.pos,.scn-sum-table .sub.pos{color:#22c55e}
  .scn-sum-table .val.neg,.scn-sum-table .sub.neg{color:#ef4444}
  .scn-hint{margin-top:10px;font-size:12px;color:#7a8190}
  body.light .scn-sum-table td{border-color:#e1e5ec}
  .scn-open{margin:auto 0 0;width:100%;background:#161b22;border:1px solid #21262d;color:#aab2c0;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:.15s}
  .scn-open:hover{border-color:#3b82f6;color:#e6e9ef}
  body.light .scn-open{background:#eff2f7;border-color:#dfe3ea;color:#3a4150}
  body.light .detail-scenario{border-color:#e1e5ec}
  body.light .ds-chart{background:#fff;border-color:#e1e5ec}
  .manage-trigger{background:#161b22;border:1px solid #21262d;color:#aab2c0;padding:7px 12px;border-radius:8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s ease}
  .manage-trigger:hover{border-color:#3b82f6;color:#fff;transform:translateY(-1px)}
  .manage-trigger .ic{width:15px;height:15px}
  /* Aufmerksamkeits-Pulsieren beim ersten Besuch */
  .manage-trigger.pulse-hint{border-color:#3b82f6;color:#fff;animation:mgPulse 1.4s ease-out infinite}
  @keyframes mgPulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.55)}70%{box-shadow:0 0 0 12px rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}
  @media (prefers-reduced-motion: reduce){ .manage-trigger.pulse-hint{animation:none} }
  /* Interaktiver Kursziel-Chart */
  .tgc-wrap{margin-top:10px}
  .tgc-ranges{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
  .tgc-r{background:#161b22;border:1px solid #2a3340;color:#9aa4b2;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s ease}
  .tgc-r:hover{color:#fff;border-color:#3b82f6}
  .tgc-r.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
  .tgc-chart{position:relative;width:100%;height:260px;background:#0d1117;border:1px solid #222a35;border-radius:8px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}
  .tgc-chart svg{display:block;width:100%;height:100%}
  .tgc-line{cursor:ns-resize}
  .tgc-grab{cursor:ns-resize}
  .tgc-hint{font-size:11px;margin-top:6px}
  .tgc-tip{position:absolute;pointer-events:none;background:#161b22;border:1px solid #2a3340;border-radius:6px;padding:5px 8px;font-size:11px;color:#e6e9ef;z-index:5;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.4)}
  .tgc-tip-d{color:#9aa4b2;font-size:10px;margin-bottom:2px}
  .tgc-tip-v{font-weight:700}
  .tgc-tip-l{font-weight:600;margin-top:1px}
  .tgc-tip-table{border-collapse:collapse;font-size:11px}
  .tgc-tip-table td{padding:1px 0}
  .tgc-tip-table td.tgc-tip-num{text-align:right;padding-left:12px;font-variant-numeric:tabular-nums}
  .tgc-tip-table .tgc-tip-hd td{color:#9aa4b2;font-size:10px;border-bottom:1px solid #2a3340;padding-bottom:2px}
  .tgc-tip-table .tgc-tip-kurs td{font-weight:700}
  .tgc-tip-table .tgc-tip-lim td{font-weight:600}
  .tg-chip{display:inline-flex;align-items:center;gap:4px;background:#161b22;border:1px solid #2a3340;border-radius:6px;padding:2px 4px 2px 8px;font-size:11px;font-weight:600;margin:2px 2px 2px 0}
  .tg-chip.above{color:#22c55e;border-color:#1e5631}
  .tg-chip.below{color:#ef4444;border-color:#5e2626}
  .tg-chip .x{cursor:pointer;opacity:.7;display:inline-flex}
  .tg-chip .x:hover{opacity:1}
  .tg-go{cursor:pointer;border-radius:6px;padding:1px 6px;margin:-1px -2px;transition:background .12s}
  .tg-go:hover{background:#1c2330}
  .wl-item.tg-go-active .tg-go{background:#1f6feb33;box-shadow:inset 0 0 0 1px #1f6feb55}
  #tgList{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;align-items:start;overflow-y:auto;padding-right:3px}
  #tgList .wl-item{flex-direction:column;align-items:stretch;gap:6px;padding:7px 9px}
  #tgList .tg-go{display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #tgList .tg-chips{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid #2a3340;padding-top:6px}
  #tgList .tg-chip{margin:0;padding:1px 3px 1px 7px}
  body.light #tgList .tg-chips{border-color:#d0d7de}
  body.light .tg-chip{background:#fff;border-color:#d0d7de}
  body.light .tg-go:hover{background:#eef1f6}
  body.light .wl-item.tg-go-active .tg-go{background:#1f6feb22;box-shadow:inset 0 0 0 1px #1f6feb55}
  body.light .tgc-chart{background:#f3f5f9;border-color:#dde3ec}
  body.light .tgc-r{background:#eef1f6;border-color:#d3dae5;color:#52617a}
  body.light .tgc-r.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
  body.light .tgc-tip{background:#fff;border-color:#d0d7de;color:#1f2328}
  body.light .tgc-tip-d{color:#6b7280}
  body.light .tgc-tip-table .tgc-tip-hd td{color:#6b7280;border-color:#d0d7de}
  .mg-box{padding:0;overflow:hidden;max-width:1040px;height:90vh;max-height:90vh;display:flex;flex-direction:column;transition:max-width .3s ease}
  .mg-box.search-open{max-width:1560px}
  .mg-shell{display:flex;align-items:stretch;flex:1;min-height:0}
  .mg-main{flex:1;min-width:0;padding:22px 24px;overflow:auto;min-height:0}
  @media(max-width:900px){
    .mg-box.search-open{max-width:920px}
    .mg-box.search-open .mg-main{display:none}
  }
  .mg-detail{flex:none;width:0;overflow:hidden;display:flex;border-left:1px solid transparent;background:#0b0f15;transition:width .28s ease,border-color .28s ease}
  .mg-box.detail-open{max-width:2060px}
  .mg-box.detail-open .mg-detail{width:480px;border-left-color:#21262d}
  .mg-detail-inner{width:480px;box-sizing:border-box;display:flex;flex-direction:column;min-height:0}
  .mgd-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px 12px;border-bottom:1px solid #1b212b;font-size:15px;color:#cfd6e2;background:#0b0f15}
  .mgd-head b{display:inline-flex;align-items:center;gap:8px}
  .mgd-body{flex:1;overflow:auto;padding:0 16px 18px}
  .mgd-tabs{flex:none;background:#0b0f15;padding:10px 16px 12px}
  .mgd-tabs:empty{display:none}
  body.light .mgd-tabs{background:#fff}
  body.light .mg-detail{background:#f3f6fb}
  body.light .mg-box.detail-open .mg-detail{border-left-color:#e1e5ec}
  body.light .mgd-head{color:#1f2430;border-bottom-color:#e1e5ec;background:#fff}
  body.light .mgd-head .modal-close{background:#eef2f8;border-color:#cfd8e6;color:#475569}
  body.light .mgd-head .modal-close:hover{background:#dde7f5;color:#1f2937}
  @media(max-width:1300px){ .mg-box.detail-open{max-width:1560px} .mg-box.detail-open .mg-main{display:none} }
  .picker-page{height:70vh;min-height:420px;margin:0 -18px;border-top:1px solid #21262d;border-bottom:1px solid #21262d;border-radius:0;overflow:hidden;background:#0d1117;display:flex;flex-direction:column}
  .picker-page[hidden]{display:none}
  body.light .picker-page{background:#f3f6fb;border-color:#e1e5ec}
  .pp-shell{flex:1;display:flex;min-height:0}
  .pp-list{flex:none;width:820px;max-width:none;display:flex;flex-direction:column;min-width:0;min-height:0;padding:14px 22px 0}
  .pp-list .picker-results{flex:1;max-height:none}
  .pp-search{display:flex;gap:10px;align-items:center;margin-bottom:12px}
  .pp-list .mg-arow{align-items:stretch;gap:10px}
  .pp-list .mg-arow .btn{font-size:13px;display:inline-flex;align-items:center;justify-content:center;min-width:120px}
  #pickerSort{min-width:120px}
  .pp-shell .mg-detail{flex:1;width:auto;min-width:0;max-width:none;border-left:1px solid #21262d;border-top:none}
  body.light .pp-shell .mg-detail{border-left-color:#e1e5ec}
  .pp-shell .mg-detail-inner{width:100%;height:100%}
  .pp-shell .mgd-head{padding:18px 20px 14px}
  .pp-shell .mgd-tabs{padding:10px 20px 12px}
  .pp-shell .mgd-body{padding:0 20px 18px}
  .pp-shell .mgd-body>.pd-grid{max-width:none}
  .pd-grid{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap}
  .pd-left{flex:none;width:448px;min-width:0}
  .pd-left>*{max-width:448px}
  .pd-right{flex:1;min-width:300px;padding-top:6px}
  .pd-single{padding-top:2px}
  .pdf-tabwrap{container-type:inline-size}
  .pdf-body{max-width:1200px}
  .pdf-body .rd-hero{margin:0 0 10px}
  .pdf-body .rd-gauges{padding:4px 0 0}
  .pdf-body .rating-note{padding:0}
  /* Alle Detail-Tabs einheitlich: fülle zuerst die sichtbare Höhe (untereinander),
     erst wenn es nicht mehr passt, in eine zweite Spalte rechts umbrechen (column-fill:auto).
     Ein/Aus + Spaltenhöhe steuert _pdfLayout() per JS (Klasse .cols2). Breite Sektionen
     (z. B. Gesamt-Signal, Kennzahlen) spannen über beide Spalten. */
  .pdf-body.cols2{column-count:2;column-gap:30px}
  .pdf-body.cols2>.pdf-sec{break-inside:avoid}
  .pdf-body.cols2>.pdf-sec--wide,.pdf-body.cols2>.rating-note{column-span:all}
  .pdf-body.cols2 .pdf-tbl{max-width:none}
  .pdf-sec{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #1b2129}
  .pdf-sec:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
  body.light .pdf-sec{border-bottom-color:#e8ecf2}
  .pdf-h{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#8b93a1;margin:0 0 12px;display:flex;align-items:center;gap:7px}
  .pdf-h .ic{width:14px;height:14px;color:#6e7681}
  .pdf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
  .pdf-card{background:#11161d;border:1px solid #1e2530;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:4px}
  .pdf-card .pdf-k{font-size:11px;color:#7a8290;letter-spacing:.3px}
  .pdf-card b{font-size:15px;font-weight:650;color:#e6edf3}
  .pdf-card b.pos{color:#3fb950}.pdf-card b.neg{color:#f85149}
  body.light .pdf-card{background:#fff;border-color:#e4e9f0}
  body.light .pdf-card b{color:#1c2430}
  body.light .pdf-card .pdf-k{color:#6a7484}
  body.light .pdf-h{color:#6a7484}
  .pdf-tgt{background:#11161d;border:1px solid #1e2530;border-radius:12px;padding:15px 16px 14px}
  body.light .pdf-tgt{background:#fff;border-color:#e4e9f0}
  .pdf-tgt-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .pdf-tgt-mean{font-size:21px;font-weight:700;color:#e6edf3}
  body.light .pdf-tgt-mean{color:#1c2430}
  .pdf-tgt-up{font-size:12px;font-weight:700}
  .pdf-tgt-up.pos{color:#3fb950}.pdf-tgt-up.neg{color:#f85149}
  .pdf-track{position:relative;height:6px;border-radius:4px;background:linear-gradient(90deg,#f85149,#d29922,#3fb950);margin:26px 4px 9px}
  .pdf-dot{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;border:2px solid #0d1117;transform:translate(-50%,-50%)}
  body.light .pdf-dot{border-color:#fff}
  .pdf-dot.cur{background:#58a6ff;z-index:2}
  .pdf-dot.mean{background:#e6edf3;box-shadow:0 0 0 1px #30363d}
  .pdf-scale{display:flex;justify-content:space-between;font-size:11px;color:#7a8290;padding:0 1px}
  .pdf-tgt-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:13px;font-size:12px;color:#8b93a1}
  .pdf-rec{display:inline-flex;align-items:center;padding:2px 9px;border-radius:7px;font-size:11px;font-weight:700}
  .pdf-rec.buy{background:#3fb95022;color:#3fb950}
  .pdf-rec.hold{background:#d2992222;color:#d29922}
  .pdf-rec.sell{background:#f8514922;color:#f85149}
  .pdf-leg{display:inline-flex;align-items:center;gap:5px}
  .pdf-leg i{width:9px;height:9px;border-radius:50%;display:inline-block}
  .pdf-earn{display:flex;align-items:center;gap:10px;background:#11161d;border:1px solid #1e2530;border-radius:11px;padding:11px 13px;font-size:13px;color:#c9d1d9}
  body.light .pdf-earn{background:#fff;border-color:#e4e9f0;color:#3a444f}
  .pdf-earn .ic{width:15px;height:15px;color:#6e7681;flex:none}
  .pdf-earn b{color:#e6edf3}
  body.light .pdf-earn b{color:#1c2430}
  .pdf-skel{color:#6b7280;font-size:13px;padding:6px 2px}
  .pdf-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0;padding:4px;border:1px solid rgba(127,140,160,.18);border-radius:13px;background:rgba(127,140,160,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 10px rgba(0,0,0,.18)}
  .pdf-tab{position:relative;z-index:1;background:transparent;border:none;color:#9aa3b2;font:inherit;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:9px;cursor:pointer;transition:color .25s ease,transform .15s ease}
  .pdf-tab:hover{color:#e6e9ef}
  .pdf-tab:active{transform:scale(.97)}
  .pdf-tab.on{color:#fff;background:linear-gradient(180deg,#388bfd,#1f6feb);box-shadow:0 3px 12px rgba(31,111,235,.42),inset 0 1px 0 rgba(255,255,255,.18);animation:tabPop .28s ease}
  body.light .pdf-tabs{border-color:rgba(31,55,99,.14);background:rgba(31,55,99,.05)}
  body.light .pdf-tab{color:#5a6376}
  body.light .pdf-tab:hover{color:#1a1f29}
  body.light .pdf-tab.on{color:#fff}
  .pdf-tab.sig{color:#e3b341}
  .pdf-tab.sig:hover{color:#f2c94c}
  .pdf-tab.sig.on{color:#1a1205;background:linear-gradient(180deg,#e3b341,#bb8009);box-shadow:0 3px 12px rgba(227,179,65,.42),inset 0 1px 0 rgba(255,255,255,.25)}
  body.light .pdf-tab.sig{color:#a06800}
  body.light .pdf-tab.sig.on{color:#1a1205}
  .pdf-recbar{display:flex;height:11px;border-radius:6px;overflow:hidden;background:#11161d}
  .pdf-recbar span{display:block;min-width:2px}
  .pdf-perfrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
  .pdf-perf{background:#11161d;border:1px solid #1e2530;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;text-align:center}
  .pdf-perf span{font-size:11px;color:#7a8290;font-weight:600}
  .pdf-perf b{font-size:14px;font-weight:650}
  .pdf-perf b.pos{color:#3fb950}.pdf-perf b.neg{color:#f85149}
  body.light .pdf-perf{background:#fff;border-color:#e4e9f0}
  .pdf-bars{display:flex;align-items:flex-end;gap:10px;padding:6px 2px 0;overflow-x:auto}
  .pdf-bar{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:54px;flex:1}
  .pdf-bar-col{width:22px;background:linear-gradient(180deg,#58a6ff,#1f6feb);border-radius:4px 4px 0 0}
  .pdf-bar-v{font-size:10px;color:#c9d1d9;font-weight:600;white-space:nowrap}
  .pdf-bar-n{font-size:10px;white-space:nowrap}
  .pdf-bar-n.pos{color:#3fb950}.pdf-bar-n.neg{color:#f85149}
  .pdf-bar-l{font-size:11px;color:#7a8290}
  body.light .pdf-bar-v{color:#3a444f}
  .pdf-barslg{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:11px;color:#8b93a1}
  .pdf-bars-lg{min-height:150px;gap:14px}
  .pdf-bars-lg .pdf-bar-col{width:30px}
  .divcal{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-width:430px}
  .divcal-cell{text-align:center;font-size:11px;font-weight:600;padding:8px 4px;border-radius:8px;background:#11161d;border:1px solid #1e2530;color:#7a8290}
  .divcal-cell.on{background:#3fb95022;border-color:#3fb95055;color:#3fb950}
  body.light .divcal-cell{background:#fff;border-color:#e4e9f0;color:#6a7484}
  body.light .divcal-cell.on{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);color:#15803d}
  .pdf-tbl{width:100%;max-width:540px;border-collapse:collapse;font-size:12px;table-layout:auto}
  .pdf-tbl th{text-align:left;color:#7a8290;font-weight:600;padding:5px 10px;border-bottom:1px solid #1e2530}
  .pdf-tbl th:nth-child(n+3){text-align:right}
  .pdf-tbl th:first-child,.pdf-tbl td:first-child{white-space:nowrap;color:#7a8290}
  .pdf-tbl td{padding:6px 10px;border-bottom:1px solid #161b22;color:#c9d1d9}
  .pdf-tbl td.rv{text-align:right;font-variant-numeric:tabular-nums}
  .pdf-tbl td.rs{text-align:right}
  .pdf-tbl tbody tr{transition:background .12s}
  .pdf-tbl tbody tr:nth-child(even){background:rgba(255,255,255,.022)}
  .pdf-tbl tbody tr:hover{background:rgba(255,255,255,.05)}
  body.light .pdf-tbl th{border-color:#e4e9f0;color:#6a7484}
  body.light .pdf-tbl td{border-color:#eef2f6;color:#3a444f}
  body.light .pdf-tbl tbody tr:nth-child(even){background:#f5f8fc}
  body.light .pdf-tbl tbody tr:hover{background:#eaf0f8}
  .rs-pill{display:inline-block;padding:1px 7px;border-radius:6px;font-weight:700;font-size:11px;background:#30363d33;color:#8b93a1;white-space:nowrap}
  .rs-pill.buy{background:#3fb95022;color:#3fb950}
  .rs-pill.sell{background:#f8514922;color:#f85149}
  .mgd-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:28px;color:#6b7280}
  .mgd-empty-t{font-size:15px;font-weight:600;color:#9aa3b2}
  .mgd-empty p{margin:0;font-size:13px;line-height:1.55;max-width:300px}
  body.light .mgd-empty{color:#94a0b0}
  body.light .mgd-empty-t{color:#5b6573}
  .wl-page{max-width:none;margin:0;padding:8px 18px}
  .manage-body{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}
  .mg-top{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch;flex:1;min-height:0}
  /* Alarme & Kursziele eingebettet im Verwalten-Bereich (statt Modal) */
  #wlPaneManage .mg-shell{display:block;margin-top:10px;min-height:0}
  #wlPaneManage .mg-main{padding:0;overflow:visible;flex:none}
  #wlPaneManage .manage-body{flex:none}
  #wlPaneManage .mg-top{display:flex;align-items:stretch;gap:0;position:relative}
  #wlPaneManage .mg-sec-alarm{flex:none}
  #wlPaneManage .mg-sec-target{flex:1;min-width:0}
  #wlPaneManage .mg-col-grip{margin:0 5px}
  @media(max-width:760px){ #wlPaneManage .mg-top{flex-direction:column;gap:14px} #wlPaneManage .mg-col-grip{display:none} #wlPaneManage .mg-sec-alarm{width:auto!important} }
  #wlPaneManage .modal-head{display:none}
  #wlPaneManage .mg-sec{padding:16px 18px}
  #wlPaneManage .mg-sec-sub{margin-top:-2px}
  #wlPaneManage .wl-manage-sec{position:relative;padding-bottom:15px}
  #wlPaneManage .wl-manage-sec #wlGrid{overflow:auto;align-content:flex-start;align-items:flex-start}
  .mg-top>.mg-sec{display:flex;flex-direction:column}
  #tgChartWrap{flex:none;display:flex;flex-direction:column;min-height:160px}
  #tgChart{height:200px}
  #tgList{flex:1 1 auto;overflow:auto;min-height:120px;align-content:start}
  /* Eine Kachel-Optik für die ganze App: Verwalten-/Admin-Bereich (.mg-sec) und die
     Depot-Kacheln (.ins-card) teilen sich Rahmen, Radius, Polsterung und Kopfzeile. */
  .mg-sec,.ins-card{background:#0d1117;border:1px solid #21262d;border-radius:12px;padding:14px 16px}
  .mg-sec-h,.ins-card h3{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#e6e9ef;margin-bottom:3px}
  .mg-sec-h .ic{width:16px;height:16px;color:#7a8190}
  .mg-sec-sub{color:#7a8190;font-size:11px;margin-bottom:12px;line-height:1.4}
  .mg-sec-sub.mg-sec-sub-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px}
  .mg-arow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
  .mg-arow:last-child{margin-bottom:0}
  .alert-grid{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:10px}
  .alert-grid .mg-arow{margin-bottom:0}
  .ah-title{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#cdd5e0}
  .ah-count{font-size:10.5px;font-weight:700;color:#0d1117;background:#f59e0b;border-radius:999px;padding:1px 7px;min-width:16px;text-align:center}
  .ah-count:empty{display:none}
  .ah-list{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto;margin-top:2px}
  .ah-item{display:flex;flex-direction:column;gap:1px;background:#0d1117;border:1px solid #21262d;border-left:3px solid #3b82f6;border-radius:8px;padding:6px 9px}
  .ah-item.is-new{border-left-color:#f59e0b;background:#161109}
  .ah-it-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
  .ah-it-title{font-size:12px;font-weight:700;color:#e6e9ef}
  .ah-it-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:15px;padding:0 5px;margin-left:5px;font-size:10px;font-weight:700;color:#0d1117;background:#f59e0b;border-radius:999px;vertical-align:middle}
  .ah-it-time{font-size:10.5px;color:#7a8190;white-space:nowrap}
  .ah-it-body{font-size:11px;color:#aab2c0;line-height:1.35}
  .ah-empty{font-size:11px;color:#7a8190;padding:8px 2px}
  .alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;margin-left:2px;font-size:10.5px;font-weight:700;color:#0d1117;background:#f59e0b;border-radius:999px}
  .alert-badge[hidden]{display:none}
  body.light .ah-title{color:#1f2430}
  body.light .ah-item{background:#f7f9fc;border-color:#e1e5ec}
  body.light .ah-item.is-new{background:#fff7e6;border-color:#f0d8a0}
  body.light .ah-it-title{color:#1f2430}
  body.light .ah-it-body{color:#5b6478}
  body.light .ah-it-time{color:#8a93a3}
  body.light .ah-empty{color:#8a93a3}
  /* Alarm-Verlauf Glocke in der Titelleiste */
  .alert-bell-wrap{position:relative;display:inline-flex}
  .manage-control{position:relative;display:inline-flex;align-items:stretch}
  .alert-bell-btn{position:relative;padding:7px 12px}
  .alert-bell-btn .alert-badge{position:absolute;top:-4px;right:-4px;margin-left:0}
  .abp-foot{margin-top:8px;padding-top:8px;border-top:1px solid #21262d}
  .abp-foot .btn{width:100%;justify-content:center}
  .alert-bell-btn.has-new{color:#f59e0b;border-color:#f59e0b}
  /* --alert-lvl (0..1, gesetzt von updateAlertBadge()) steuert die Intensität: je mehr
     ungelesene Alarme, desto kürzer die Animationsdauer und desto stärker Wackel-/Glow-Ausschlag. */
  .alert-bell-btn.has-new{animation:btnPulse calc(2.2s - 1s * var(--alert-lvl,0)) ease-in-out infinite}
  .alert-bell-btn.has-new svg.ic{stroke:#f59e0b;animation:bellRing calc(2.6s - 1.4s * var(--alert-lvl,0)) ease-in-out infinite}
  .alert-bell-btn.has-new .alert-badge{animation:badgePulse calc(1.8s - 0.9s * var(--alert-lvl,0)) ease-in-out infinite}
  @keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,calc(.5 + .3 * var(--alert-lvl,0)));transform:scale(1)}50%{box-shadow:0 0 0 calc(6px + 7px * var(--alert-lvl,0)) rgba(245,158,11,0);transform:scale(calc(1.02 + 0.03 * var(--alert-lvl,0)))}}
  @keyframes bellRing{0%,92%,100%{transform:rotate(0)}94%{transform:rotate(calc(8deg + 8deg * var(--alert-lvl,0)))}96%{transform:rotate(calc(-7deg - 6deg * var(--alert-lvl,0)))}98%{transform:rotate(calc(5deg + 4deg * var(--alert-lvl,0)))}}
  @keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,calc(.45 + .35 * var(--alert-lvl,0)))}50%{box-shadow:0 0 0 calc(4px + 6px * var(--alert-lvl,0)) rgba(245,158,11,0)}}
  .alert-bell-pop{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:86vw;background:#0d1117;border:1px solid #21262d;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.5);padding:11px;z-index:60}
  .alert-bell-pop[hidden]{display:none}
  .alert-bell-pop .abp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
  .alert-bell-pop .ah-list{max-height:300px}
  body.light .alert-bell-pop{background:#fff;border-color:#e1e5ec;box-shadow:0 12px 34px rgba(0,0,0,.16)}
  body.light .mg-sec,body.light .ins-card{background:#f7f9fc;border-color:#e1e5ec}
  body.light .mg-sec-h,body.light .ins-card h3{color:#1f2430}
  @media(max-width:760px){ .mg-cols{grid-template-columns:1fr} .mg-top{grid-template-columns:1fr} }
  .mrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .fld{background:#0d1117;border:1px solid #21262d;color:#e6e9ef;padding:7px 10px;border-radius:8px;font-size:13px}
  .fld:focus{outline:none;border-color:#3b82f6}
  .tpick{position:relative;display:inline-flex;align-items:center;gap:7px;background:#0d1117;border:1px solid #21262d;color:#e6e9ef;padding:7px 11px;border-radius:8px;font-size:13px;cursor:pointer;user-select:none;min-width:80px;justify-content:center;font-variant-numeric:tabular-nums;font-weight:600}
  .tpick:hover,.tpick.open{border-color:#3b82f6}
  .tpick .tp-chev{font-size:10px;color:#8b949e;line-height:1;transition:transform .15s}
  .tpick.open .tp-chev{transform:rotate(180deg);color:#3b82f6}
  .tp-pop{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:60;background:#161b22;border:1px solid #2b313b;border-radius:10px;box-shadow:0 14px 30px rgba(0,0,0,.55);padding:7px;display:none}
  .tpick.open .tp-pop{display:block}
  .tp-cap{display:flex;gap:4px;padding:0 2px 5px}
  .tp-cap span{flex:1;text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b949e}
  .tp-cols{display:flex;gap:6px}
  .tp-col{height:172px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#30363d transparent;display:flex;flex-direction:column;gap:2px;padding:2px;scroll-behavior:smooth}
  .tp-col::-webkit-scrollbar{width:6px}
  .tp-col::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}
  .tp-it{background:transparent;border:none;color:#c9d1d9;font:inherit;font-weight:600;font-size:13px;padding:6px 16px;border-radius:6px;cursor:pointer;text-align:center;font-variant-numeric:tabular-nums}
  .tp-it:hover{background:#21262d}
  .tp-it.sel{background:#1f6feb;color:#fff;font-weight:700}
  .tp-preset{background:#0d1117;border:1px solid #21262d;color:#9aa4b2;font:inherit;font-size:11px;font-weight:600;padding:4px 9px;border-radius:14px;cursor:pointer;font-variant-numeric:tabular-nums}
  .tp-preset:hover{border-color:#3b82f6;color:#e6e9ef}
  .tp-preset.on{background:#1f6feb;border-color:#1f6feb;color:#fff}
  table.tbl td.t-px,table.tbl th.t-px{background:rgba(255,255,255,.025);font-weight:600;box-shadow:inset 1px 0 0 rgba(255,255,255,.05),inset -1px 0 0 rgba(255,255,255,.05)}
  body.light table.tbl td.t-px,body.light table.tbl th.t-px{background:rgba(0,0,0,.025);box-shadow:inset 1px 0 0 rgba(0,0,0,.05),inset -1px 0 0 rgba(0,0,0,.05)}
  /* Klebender Spaltenkopf muss in der Kurs-Spalte deckend sein, sonst scheinen Zeilen durch */
  table.tbl thead th.t-px{background:#0d1117;background-image:linear-gradient(rgba(255,255,255,.025),rgba(255,255,255,.025))}
  body.light table.tbl thead th.t-px{background:#fff;background-image:linear-gradient(rgba(0,0,0,.025),rgba(0,0,0,.025))}
  .cdlg-ov{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:rgba(5,8,12,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .16s}
  .cdlg-ov.show{opacity:1}
  .cdlg{width:min(380px,calc(100vw - 40px));background:#161b22;border:1px solid #2b313b;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);padding:22px 22px 18px;text-align:center;transform:scale(.94) translateY(8px);transition:transform .16s}
  .cdlg-ov.show .cdlg{transform:scale(1) translateY(0)}
  .cdlg-ic{width:46px;height:46px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:#1f2733;color:#9aa4b2}
  .cdlg-ic.danger{background:#3a1d22;color:#f87171}
  .cdlg-title{font-size:15px;font-weight:700;color:#e6e9ef;margin-bottom:5px}
  .cdlg-msg{font-size:13px;color:#9aa4b2;line-height:1.45;margin-bottom:18px}
  .cdlg-input{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-size:13px;padding:9px 11px;border-radius:9px;border:1px solid #2b313b;background:#0d1117;color:#e6e9ef;margin-bottom:14px}
  .cdlg-input:focus{outline:none;border-color:#3b82f6}
  body.light .cdlg-input{background:#f7f9fc;border-color:#d0d7de;color:#1f2430}
  .cdlg-btns{display:flex;gap:10px}
  .cdlg-b{flex:1;padding:9px 14px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #2b313b;background:#21262d;color:#e6e9ef}
  .cdlg-b:hover{border-color:#3b82f6}
  .cdlg-b.ok{background:#1f6feb;border-color:#1f6feb;color:#fff}
  .cdlg-b.ok.danger{background:#dc2626;border-color:#dc2626}
  .cdlg-b.ok:hover{filter:brightness(1.08)}
  body.light .cdlg{background:#fff;border-color:#e1e5ec;box-shadow:0 20px 60px rgba(0,0,0,.25)}
  body.light .cdlg-ic{background:#eef1f6;color:#5b6478}
  body.light .cdlg-ic.danger{background:#fdeaea;color:#dc2626}
  body.light .cdlg-title{color:#1f2430}
  body.light .cdlg-b{background:#eff2f7;border-color:#e1e5ec;color:#1f2430}
  body.light .cdlg-b.ok{background:#1f6feb;border-color:#1f6feb;color:#fff}
  body.light .cdlg-b.ok.danger{background:#dc2626;border-color:#dc2626}
  .boot-splash{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(120% 120% at 50% 30%,#272b31 0%,#14161a 72%);transition:opacity .6s cubic-bezier(.4,0,.2,1),filter .6s cubic-bezier(.4,0,.2,1),visibility .6s}
  .boot-splash.hide{opacity:0;visibility:hidden;filter:blur(10px)}
  /* Überblendung, wenn der Server nicht mehr erreichbar ist - blockiert die gesamte Seite
     (pointer-events erst mit der Sichtbarkeit an/aus), bis die Verbindung wieder da ist. */
  .conn-lost-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:rgba(13,17,23,.86);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s ease}
  .conn-lost-overlay.show{opacity:1;pointer-events:all}
  .conn-lost-box{text-align:center;padding:34px 42px;border-radius:16px;background:#161b22;border:1px solid #21262d;box-shadow:0 20px 60px rgba(0,0,0,.5);max-width:min(360px,calc(100vw - 48px))}
  .conn-lost-spinner{width:38px;height:38px;margin:0 auto 18px;border:3px solid #21262d;border-top-color:#3b82f6;border-radius:50%;animation:connLostSpin .9s linear infinite}
  @keyframes connLostSpin{to{transform:rotate(360deg)}}
  .conn-lost-title{font-size:16.5px;font-weight:700;color:#e6e9ef;margin-bottom:6px}
  .conn-lost-sub{font-size:13px;color:#8b93a1;line-height:1.5}
  body.light .conn-lost-box{background:#fff;border-color:#e1e5ec}
  body.light .conn-lost-title{color:#1f2430}
  .bs-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:13px;width:min(330px,calc(100vw - 48px));text-align:center;transition:opacity .45s ease,transform .5s cubic-bezier(.4,0,.2,1)}
  .boot-splash.hide .bs-card{opacity:0;transform:translateY(-16px) scale(.97)}
  .bs-greet{font-size:13px;font-weight:600;color:#7fd4ff;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.65),0 0 10px rgba(0,0,0,.55)}
  body.light .bs-greet{color:#7fd4ff}
  .bs-logo{width:126px;height:126px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 1px rgba(150,160,175,.18);animation:bsFloat 2.6s ease-in-out infinite}
  .bs-logo svg{width:100%;height:100%;display:block}
  .bs-logo .ic{width:30px;height:30px;color:#fff}
  .bs-sub{font-size:11.5px;font-weight:600;letter-spacing:.05em;color:#9aa4b6;margin-top:-6px;text-shadow:0 1px 3px rgba(0,0,0,.65),0 0 10px rgba(0,0,0,.55)}
  body.light .bs-sub{color:#9aa4b6}
  .bs-title{font-size:17px;font-weight:800;letter-spacing:.01em;color:#eef1f6;text-shadow:0 1px 4px rgba(0,0,0,.7),0 0 14px rgba(0,0,0,.6)}
  .bs-ring{width:42px;height:42px;margin-top:2px}
  .bs-ring svg{width:42px;height:42px;animation:bsSpin 1s linear infinite}
  .bs-trk{fill:none;stroke:#1d2530;stroke-width:5}
  .bs-arc{fill:none;stroke:#1f6feb;stroke-width:5;stroke-linecap:round;stroke-dasharray:90 126;stroke-dashoffset:0}
  .bs-status{font-size:12.5px;color:#aab3c2;min-height:17px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.65),0 0 10px rgba(0,0,0,.5)}
  .bs-bar{width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(150,160,175,.14)}
  .bs-bar-fill{height:100%;width:0;border-radius:999px;background:#4f9dff;box-shadow:0 0 12px rgba(79,157,255,.5);transition:width .35s ease}
  .bs-count{font-size:10.5px;color:#6b7488;font-variant-numeric:tabular-nums;min-height:13px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
  body.light .boot-splash{background:radial-gradient(120% 120% at 50% 30%,#272b31 0%,#14161a 72%)}
  body.light .bs-title{color:#e6e9ef} body.light .bs-status{color:#9aa4b2} body.light .bs-trk{stroke:#1d2530}
  @keyframes bsSpin{to{transform:rotate(360deg)}}
  @keyframes bsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  /* Splash-Hintergrund-Animation */
  .bs-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
  .bs-glow{position:absolute;top:50%;left:50%;width:70vmax;height:70vmax;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0 28%,rgba(150,160,175,.12) 42%,transparent 58%,rgba(120,130,145,.10) 78%,transparent 100%);will-change:transform;animation:bsRotate 34s linear infinite}
  .bs-blob{position:absolute;border-radius:50%;filter:blur(64px);opacity:.55;mix-blend-mode:screen;will-change:transform}
  .bs-blob.b1{width:50vmax;height:50vmax;background:radial-gradient(circle,#3a4048,transparent 68%);top:-16vmax;left:-12vmax;animation:bsDrift1 15s ease-in-out infinite}
  .bs-blob.b2{width:44vmax;height:44vmax;background:radial-gradient(circle,#2c3137,transparent 68%);bottom:-18vmax;right:-14vmax;animation:bsDrift2 19s ease-in-out infinite}
  .bs-blob.b3{width:38vmax;height:38vmax;background:radial-gradient(circle,#454b54,transparent 70%);top:36%;left:54%;animation:bsDrift3 17s ease-in-out infinite}
  .bs-grid{position:absolute;inset:-2px;background-image:linear-gradient(rgba(127,140,160,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,140,160,.07) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 68%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 68%)}
  .bs-card .bs-logo{position:relative;z-index:1}
  .bs-card .bs-logo::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(64,150,255,.55);animation:bsPulse 2.4s ease-out infinite}
  .bs-ticker{position:absolute;left:0;right:0;bottom:20px;height:30px;display:flex;align-items:center;overflow:hidden;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
  .bs-track{display:flex;gap:30px;width:max-content;white-space:nowrap;will-change:transform;animation:bsTape 30s linear infinite}
  .bs-tk{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;color:#c6cdd8}
  .bs-tk .sym{font-weight:800;color:#9aa4b6;letter-spacing:.02em}
  .bs-tk .cur{font-weight:600;color:#7a8394;font-size:11px}
  .bs-tk .ch{display:inline-flex;align-items:center;gap:2px}
  .bs-tk .up{color:#34d88a} .bs-tk .dn{color:#ff6b66}
  .bs-tk .ar{font-size:9px;line-height:1}
  .bs-sym.arr svg{fill:currentColor;animation:bsSpin 3.2s linear infinite}
  .bs-sym.au{left:38%;font-size:30px;color:#34d88a;animation-duration:6s;animation-delay:.6s}
  .bs-sym.ad{left:66%;font-size:34px;color:#ff6b66;animation-duration:5.5s;animation-delay:1.8s}
  .bs-sym.au2{left:24%;font-size:26px;color:#34d88a;animation-duration:6.4s;animation-delay:3.1s}
  .bs-stats{display:flex;gap:8px;justify-content:center;margin-top:11px}
  .bs-chip{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(150,160,175,.14);font-variant-numeric:tabular-nums}
  .bs-chip .bs-ar{width:11px;height:11px;display:block}
  .bs-chip.up{color:#34d88a} .bs-chip.up .bs-ar{fill:#34d88a}
  .bs-chip.dn{color:#ff6b66} .bs-chip.dn .bs-ar{fill:#ff6b66}
  @keyframes bsTape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes bsScroll{from{transform:translateX(0)}to{transform:translateX(-500px)}}
  .bs-sym{position:absolute;bottom:-6%;font-weight:800;font-family:Arial,Helvetica,sans-serif;line-height:1;z-index:0;opacity:0;text-shadow:0 0 10px currentColor;will-change:transform,opacity;backface-visibility:hidden;animation:bsRise 10s linear infinite}
  .bs-sym svg{width:1em;height:1em;display:block}
  .bs-sym.xrp{left:48%;font-size:76px;color:rgba(125,185,255,.62);animation-duration:5.5s;animation-delay:.5s}
  .bs-sym.s1{left:12%;font-size:44px;color:rgba(63,176,255,.55);animation-duration:5.5s}
  .bs-sym.s2{left:28%;font-size:62px;color:rgba(246,185,59,.6);animation-duration:4.5s;animation-delay:.8s}
  .bs-sym.s3{left:55%;font-size:40px;color:rgba(73,242,107,.5);animation-duration:6s;animation-delay:1.6s}
  .bs-sym.s4{left:72%;font-size:54px;color:rgba(120,160,255,.55);animation-duration:5s;animation-delay:.4s}
  .bs-sym.s5{left:42%;font-size:36px;color:rgba(73,242,107,.5);animation-duration:6.5s;animation-delay:2.4s}
  .bs-sym.s6{left:86%;font-size:56px;color:rgba(246,185,59,.55);animation-duration:5.2s;animation-delay:1.2s}
  .bs-sym.s7{left:64%;font-size:38px;color:rgba(63,176,255,.5);animation-duration:6.2s;animation-delay:3s}
  .bs-sym.s8{left:20%;font-size:34px;color:rgba(73,242,107,.45);animation-duration:7s;animation-delay:2.7s}
  .bs-sym.s10{left:8%;font-size:42px;color:rgba(165,175,190,.55);animation-duration:6s;animation-delay:1.9s}
  .bs-sym.s11{left:92%;font-size:48px;color:rgba(200,165,95,.55);animation-duration:5.4s;animation-delay:2.2s}
  .bs-sym.sol{left:34%;font-size:52px;color:rgba(20,241,149,.6);animation-duration:5.2s;animation-delay:1.1s}
  .bs-sym.dot{left:60%;font-size:50px;color:rgba(230,0,122,.6);animation-duration:5.6s;animation-delay:2s}
  .bs-sym.link{left:78%;font-size:50px;color:rgba(70,120,240,.6);animation-duration:6s;animation-delay:.7s}
  .bs-sym.meta{left:16%;font-size:56px;color:rgba(0,140,255,.6);animation-duration:5.4s;animation-delay:2.6s}
  .bs-sym.aapl{left:50%;font-size:54px;color:rgba(220,224,230,.72);animation-duration:6.2s;animation-delay:1.5s}
  .bs-sym.fb{left:70%;font-size:50px;color:rgba(36,130,245,.62);animation-duration:5.8s;animation-delay:3.1s}
  @keyframes bsDraw{0%{stroke-dashoffset:1500}55%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
  @keyframes bsRise{0%{transform:translateY(0) scale(.85);opacity:0}12%{opacity:.42}88%{opacity:.42}100%{transform:translateY(-118vh) scale(1.05);opacity:0}}
  @keyframes bsDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(7vmax,5vmax)}}
  @keyframes bsDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-6vmax,-5vmax)}}
  @keyframes bsDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(-5vmax,4vmax)}}
  @keyframes bsRotate{to{transform:translate(-50%,-50%) rotate(360deg)}}
  @keyframes bsGridMove{to{background-position:46px 46px}}
  @keyframes bsPulse{0%{transform:scale(.92);opacity:.7}100%{transform:scale(1.6);opacity:0}}
  body.light .bs-blob{opacity:.5;mix-blend-mode:screen;filter:blur(64px)}
  body.light .bs-glow{background:conic-gradient(from 0deg,transparent 0 28%,rgba(150,160,175,.12) 42%,transparent 58%,rgba(120,130,145,.10) 78%,transparent 100%)}
  body.light .bs-grid{background-image:linear-gradient(rgba(31,55,99,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,55,99,.07) 1px,transparent 1px)}
  @media (prefers-reduced-motion:reduce){.bs-logo,.bs-logo::after,.bs-ring svg,.bs-blob,.bs-glow,.bs-grid,.bs-track,.bs-scroll,.bs-sym,.bs-sym svg{animation:none}
    .boot-splash{transition:opacity .3s ease!important} .boot-splash.hide{filter:none!important}
    .bs-card{transition:opacity .3s ease!important} .boot-splash.hide .bs-card{transform:none!important}}
  body.light .tpick{background:#eff2f7;border-color:#e1e5ec;color:#1f2430}
  body.light .tp-pop{background:#fff;border-color:#e1e5ec;box-shadow:0 14px 30px rgba(0,0,0,.18)}
  body.light .tp-it{color:#1f2430}
  body.light .tp-it:hover{background:#e7ebf2}
  body.light .tp-col{scrollbar-color:#c5ccd8 transparent}
  .btn{background:#1f6feb;border:none;color:#fff;padding:7px 13px;border-radius:8px;font-size:12px;cursor:pointer}
  .btn:hover{background:#388bfd}
  .btn:disabled{background:#30363d;color:#6b7280;cursor:not-allowed}
  .btn:disabled:hover{background:#30363d}
  .btn.ghost{background:#161b22;border:1px solid #21262d;color:#aab2c0}
  .btn.ghost:hover{border-color:#3b82f6;color:#e6e9ef}
  .btn.ghost.danger{color:#f87171;border-color:rgba(239,68,68,.35)}
  .btn.ghost.danger:hover{border-color:#f87171;color:#fca5a5;background:rgba(239,68,68,.12)}
  body.light .btn.ghost.danger{color:#c0392b;border-color:rgba(192,57,43,.35)}
  body.light .btn.ghost.danger:hover{border-color:#c0392b;background:#fdecec}
  .btn.danger:not(.ghost){background:#dc2626;color:#fff}
  .btn.danger:not(.ghost):hover{background:#ef4444}
  .wl-subtabs-bar{background:#0d1117;margin:0;padding:7px 18px 10px}
  /* Verlauf: Untertabs links, global wirkende Bedienelemente (Zeitraum/Bereiche) rechts daneben */
  #histSubtabsBar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .hist-globals{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .hist-globals[hidden]{display:none}   /* sonst gewinnt display:flex gegen das hidden-Attribut */
  #histSubtabsBar{position:sticky;top:var(--head-h,0px);z-index:29}
  /* ===== Tages-Briefing + Quartalszahlen-Leiste (oben im Depot) ===== */
  .brief-bar[hidden],.earn-strip[hidden]{display:none!important}
  .brief-bar{display:flex;align-items:flex-start;gap:10px;margin:14px 28px 0;padding:12px 16px;background:#161b22;border:1px solid #21262d;border-left:3px solid #1f6feb;border-radius:10px;font-size:13px;line-height:1.55;color:#cfd6e2}
  .brief-bar .brief-ic{flex:none;margin-top:1px}
  .brief-bar b.pos{color:#22c55e}
  .brief-bar b.neg{color:#f87171}
  .brief-bar .brief-news{color:#8a92a0;font-style:italic}
  .brief-bar .brief-x{flex:none;margin-left:auto;background:none;border:none;color:#6b7280;cursor:pointer;font-size:15px;padding:0 2px;line-height:1}
  .brief-bar .brief-x:hover{color:#e6e9ef}
  body.light .brief-bar{background:#fff;border-color:#e1e5ec;border-left-color:#1f6feb;color:#333c4d}
  body.light .brief-bar b.neg{color:#dc2626}
  .earn-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 28px 0;padding:9px 14px;background:#161b22;border:1px solid #21262d;border-radius:12px;font-size:12.5px;color:#cfd6e2}
  .earn-strip .es-lbl{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#f6b93b;margin-right:4px}
  .earn-strip .es-lbl svg{width:15px;height:15px;flex:none}
  .earn-strip .es-it{display:inline-flex;align-items:center;gap:9px;background:rgba(246,185,59,.07);border:1px solid rgba(246,185,59,.22);border-radius:999px;padding:4px 5px 4px 13px;white-space:nowrap;font-weight:600;color:#e6e9ef;transition:border-color .15s,box-shadow .15s}
  .earn-strip .es-it:hover{border-color:rgba(246,185,59,.5)}
  .earn-strip .es-it small{display:inline-flex;align-items:center;background:rgba(246,185,59,.16);color:#f6b93b;border-radius:999px;padding:2.5px 10px;font-size:11px;font-weight:700;letter-spacing:.2px}
  .earn-strip .es-it.es-today{border-color:rgba(246,185,59,.55);box-shadow:0 0 12px rgba(246,185,59,.14)}
  .earn-strip .es-it.es-today small{background:#f6b93b;color:#161b22}
  body.light .earn-strip{background:#fff;border-color:#e1e5ec;color:#333c4d}
  body.light .earn-strip .es-lbl{color:#a16207}
  body.light .earn-strip .es-it{background:rgba(180,120,10,.05);border-color:rgba(180,120,10,.25);color:#333c4d}
  body.light .earn-strip .es-it:hover{border-color:rgba(180,120,10,.5)}
  body.light .earn-strip .es-it small{background:rgba(180,120,10,.1);color:#a16207}
  body.light .earn-strip .es-it.es-today{border-color:rgba(180,120,10,.55);box-shadow:0 0 12px rgba(180,120,10,.12)}
  body.light .earn-strip .es-it.es-today small{background:#a16207;color:#fff}
  .earn-strip .es-x{flex:none;margin-left:auto;background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;border-radius:5px}
  .earn-strip .es-x:hover{color:#e6e9ef;background:rgba(127,140,160,.15)}
  body.light .earn-strip .es-x{color:#9aa4b2}
  body.light .earn-strip .es-x:hover{color:#333c4d;background:rgba(180,120,10,.1)}
  .corr-warn{display:flex;align-items:flex-start;gap:8px;margin:8px 0 4px;padding:9px 12px;background:rgba(246,185,59,.09);border:1px solid rgba(246,185,59,.3);border-radius:8px;font-size:12.5px;line-height:1.5;color:#e8d9b0}
  body.light .corr-warn{background:rgba(180,120,10,.07);border-color:rgba(180,120,10,.3);color:#7a5b12}
  @media (max-width:540px) and (orientation:portrait){ .brief-bar,.earn-strip{margin-left:10px;margin-right:10px} }
  .wl-subtabs{display:flex;gap:4px;margin:0;padding:4px;border:1px solid rgba(127,140,160,.18);border-radius:11px;background:rgba(127,140,160,.07);width:fit-content}
  .wl-subtab{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:#9aa3b2;padding:6px 16px;height:30px;border-radius:8px;font-size:12.5px;font-weight:700;cursor:pointer;transition:color .2s,background .2s}
  .wl-subtab:hover{color:#e6e9ef}
  .wl-subtab.active{color:#fff;background:linear-gradient(180deg,#388bfd,#1f6feb);box-shadow:0 3px 12px rgba(31,111,235,.42)}
  .wl-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgba(127,140,160,.25);font-size:11px;font-weight:700}
  .wl-subtab.active .wl-count{background:rgba(255,255,255,.25)}
  body.light .wl-subtabs{border-color:rgba(31,55,99,.14);background:rgba(31,55,99,.05)}
  body.light .wl-subtabs-bar{background:#f4f6fa}
  body.light .wl-subtab{color:#5a6376}
  body.light .wl-subtab:hover{color:#1a1f29}
  body.light .wl-subtab.active{color:#fff}
  /* Allokations-Umschalter (Positionen / Sektor / Anlageklasse) im Insights-Kartenkopf */
  .alloc-modes{display:inline-flex;gap:2px;margin-left:auto;padding:2px;border:1px solid rgba(127,140,160,.18);border-radius:8px;background:rgba(127,140,160,.07)}
  .alloc-mode{background:transparent;border:none;color:#9aa3b2;padding:3px 9px;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}
  .alloc-mode:hover{color:#e6e9ef}
  .alloc-mode.active{color:#fff;background:linear-gradient(180deg,#388bfd,#1f6feb)}
  body.light .alloc-modes{border-color:rgba(31,55,99,.14);background:rgba(31,55,99,.05)}
  body.light .alloc-mode{color:#5a6376}
  body.light .alloc-mode:hover{color:#1a1f29}
  body.light .alloc-mode.active{color:#fff}
  .ins-card[data-card="alloc"] > h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
  /* Termine-Karte (Quartalszahlen + projizierte Ex-Dividenden nach Monat) */
  .term-tbl{width:100%;border-collapse:collapse}
  .term-tbl td{padding:4px 8px 4px 0;font-size:12.5px;vertical-align:middle}
  .term-tbl td.r{text-align:right;white-space:nowrap;color:#aab2c0}
  .term-mrow td{padding-top:11px;border-bottom:1px solid #21262d}
  .term-mrow td.l{padding-bottom:3px}
  .term-m{font-weight:700;color:#e6e9ef;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
  .term-minc{color:#3fb950;font-weight:600;font-size:12px}
  .term-typ{color:#8a92a0;font-size:11.5px;white-space:nowrap}
  .term-row{cursor:pointer}
  .term-row:hover{background:rgba(127,140,160,.08)}
  .term-row .nm{color:#cfd6e2}
  body.light .term-mrow td{border-color:#e1e5ec}
  body.light .term-tbl td.r{color:#5a6376}
  body.light .term-m{color:#1a1f29}
  body.light .term-typ{color:#6b7280}
  body.light .term-row .nm{color:#333c4d}
  .wl-grid{display:flex;flex-wrap:wrap;gap:8px}
  .wl-item{display:flex;align-items:center;gap:8px;background:#0d1117;border:1px solid #21262d;border-radius:8px;padding:6px 10px;font-size:12px}
  .wl-item .x{cursor:pointer;color:#f87171;font-weight:700}
  .wl-item .x:hover{color:#ff9c9c}
  .wl-item.is-new{position:relative;overflow:hidden;border-color:#3fb95055}
  .wl-item.is-new::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3fb950}
  body.light .wl-item.is-new{border-color:#1a7f3744}
  body.light .wl-item.is-new::before{background:#1a7f37}
  .pos-edit{background:#0d1117;border:1px dashed #2a3040;border-radius:8px;padding:8px 10px}
  .pe-title{color:#aab2c0;font-size:12px;margin-bottom:8px;display:flex;align-items:center;gap:6px}
  .c-lim-jump{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;font-family:inherit;padding:2px 7px;border-radius:6px;cursor:pointer;background:#161b22;border:1px solid #2a3340;color:#9aa4b2;transition:background .12s,border-color .12s,color .12s}
  .c-lim-jump:hover{background:#1f6feb22;border-color:#1f6feb66;color:#cdd6e3}
  .c-lim-jump svg,.c-lim-jump i{width:13px;height:13px}
  body.light .c-lim-jump{background:#fff;border-color:#d0d7de;color:#57606a}
  body.light .c-lim-jump:hover{background:#1f6feb14;border-color:#1f6feb66;color:#1f2430}
  .pe-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
  .pe-field{display:flex;flex-direction:column;gap:3px;min-width:0}
  .pe-cap{color:#7a8190;font-size:10px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pe-grid .fld{width:100%;min-width:0;text-align:right}
  .pe-bestand-box{display:flex;flex-direction:column;gap:6px;background:#0d1117;border:1px solid #21262d;border-radius:8px;padding:7px 10px}
  body.light .pe-bestand-box{background:#fff;border-color:#d0d7de}
  .pe-bestand-disp{display:flex;flex-direction:column;gap:1px;font-size:13px;font-weight:700;color:#e6e9ef;line-height:1.3;white-space:nowrap}
  .pe-bestand-disp small{font-size:10.5px;font-weight:600;color:#8b949e}
  .pe-bestand-empty{font-size:13px;font-weight:600;color:#5a6270}
  body.light .pe-bestand-disp{color:#1f2430}
  body.light .pe-bestand-disp small{color:#6b7480}
  body.light .pe-bestand-empty{color:#9aa4b2}
  .pe-bestand-box .t-pos-btns{margin:0;justify-content:flex-end}
  .pe-grid .fld::-webkit-outer-spin-button,.pe-grid .fld::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  .pe-grid .fld{-moz-appearance:textfield;appearance:textfield}
  /* Kursziel-Eingabe klar als bearbeitbares Feld kennzeichnen – vorher verschwamm es mit dem
     gleichfarbigen .pos-edit-Hintergrund und sah wie reiner Text aus. */
  .pe-grid .fld{background:#1a212c;border:1px solid #21262d;font-weight:600;transition:border-color .12s,box-shadow .12s,background .12s}
  .pe-grid .fld:hover{border-color:#465a76}
  .pe-grid .fld:focus{border-color:#3b82f6;background:#0d1117;box-shadow:0 0 0 3px rgba(59,130,246,.22);outline:none}
  .pe-grid .fld::placeholder{color:#5a6472;font-weight:400}
  body.light .pe-grid .fld{background:#fff;border-color:#d0d7de}
  body.light .pe-grid .fld:hover{border-color:#9aa7bd}
  body.light .pe-grid .fld:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px rgba(59,130,246,.18)}
  body.light .pe-grid .fld::placeholder{color:#9aa4b2}
  .pl{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 10px;border-radius:8px;background:#0d1117;border:1px solid #21262d}
  .pos-sum{display:flex;flex-direction:column;gap:6px;background:#0d1117;border:1px solid #21262d;border-radius:8px;padding:8px 10px}
  .ps-row{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}
  .ps-cell{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;border-bottom:1px solid #1c222c;padding-bottom:4px}
  .ps-cell span{color:#7a8190;font-size:10px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
  .ps-cell b{font-size:13px;white-space:nowrap}
  .ps-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-top:1px solid #1c222c;padding-top:6px}
  .pos-sum>.ps-line:first-child{border-top:none;padding-top:0}
  .ps-line>span{color:#7a8190;font-size:11px}
  .ps-line>b{font-size:14px;white-space:nowrap}
  .ps-line small{font-size:11px;opacity:.8;font-weight:600}
  .filter-wrap{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
  .chk{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#aab2c0;cursor:pointer}
  .chk:has(input:disabled){opacity:.45;cursor:not-allowed}
  .day{display:block;font-size:12px;font-weight:600}
  .card{cursor:pointer}
  .card .pos-edit,.card .fld{cursor:auto}
  /* "Börse zu" – Asset wird aktuell nicht gehandelt */
  span.mkt-closed{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:#9aa4b2;background:#20262f;border:1px solid #3a4151;border-radius:6px;padding:1px 6px;line-height:1.5;vertical-align:middle;letter-spacing:.02em;white-space:nowrap;animation:mktClosedPulse 1.8s ease-in-out infinite}
  .mkt-closed.compact{padding:0 4px;gap:0}
  body.light .mkt-closed{color:#5b6478;border-color:#cdd4e0;background:#eef1f6}
  span.mkt-closed.pre{color:#fbbf24;border-color:#5a4a16;background:#2a2410}
  span.mkt-closed.post{color:#c084fc;border-color:#4a2a6b;background:#241833}
  body.light .mkt-closed.pre{color:#9a6b06;border-color:#f0e0b0;background:#fbf3df}
  body.light .mkt-closed.post{color:#7c3aed;border-color:#e0d0f5;background:#f3edfc}
  .hm-cell .mkt-closed{position:absolute;top:3px;right:4px;font-size:11px;padding:0 3px;color:#fff;background:rgba(0,0,0,.34);border-color:rgba(255,255,255,.4)}
  @keyframes mktClosedPulse{0%,100%{opacity:1}50%{opacity:.4}}
  @media (prefers-reduced-motion:reduce){.mkt-closed{animation:none}}
  /* Tabellen-Ansicht */
  .cols-wrap{position:relative;display:inline-block}
  .cols-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:188px;background:#0f141b;border:1px solid #283040;border-radius:10px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.5)}
  .cols-menu[hidden]{display:none}
  .cols-menu-h{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#8b93a1;padding:4px 8px 6px}
  .cols-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:12.5px;color:#e6edf3;cursor:pointer}
  .cols-item:hover{background:#19202b}
  .cols-item.fix{opacity:.5;cursor:default}
  .cols-item input{accent-color:#1f6feb;cursor:pointer}
  .cols-item.fix input{cursor:default}
  .cols-reset{display:block;width:100%;margin-top:6px;padding:6px;border:1px solid #283040;border-radius:7px;background:#161b22;color:#cdd6e2;font-size:12px;cursor:pointer}
  .cols-reset:hover{background:#1c2330}
  body.light .cols-menu{background:#fff;border-color:#d7dce5;box-shadow:0 12px 32px rgba(20,30,50,.16)}
  body.light .cols-item{color:#1f2430}body.light .cols-item:hover{background:#eef2f8}
  body.light .cols-reset{background:#f3f6fb;border-color:#d7dce5;color:#3a414d}body.light .cols-reset:hover{background:#e9eef6}
  .table-wrap{border:1px solid #21262d;border-radius:12px;background:#0d1117;margin-top:22px}
  table.tbl{width:100%;border-collapse:collapse;font-size:13px}
  table.tbl thead th{text-align:right;padding:11px 14px;color:#8a92a0;font-weight:600;border-bottom:1px solid #21262d;white-space:nowrap;position:sticky;top:calc(var(--head-h,0px) + var(--bar-h,0px));background:#0d1117;cursor:pointer;user-select:none;z-index:20}
  table.tbl thead th.l{text-align:left}
  table.tbl th .ar{opacity:.45;font-size:11px}
  table.tbl th.act .ar{opacity:1;color:#1f6feb}
  table.tbl th .th-range{font-size:10px;font-weight:600;color:#5c6470}
  table.tbl tbody td{text-align:right;padding:10px 14px;border-bottom:1px solid #161b22;white-space:nowrap}
  table.tbl tbody td.l{text-align:left}
  table.tbl tbody tr{cursor:pointer}
  table.tbl tbody tr:hover{background:#161b22}
  table.tbl tbody tr.grp-row{cursor:pointer}
  table.tbl tbody tr.grp-row:hover{background:transparent}
  table.tbl tbody tr.grp-row:hover td{background:#161d27}
  table.tbl tbody tr.grp-row td .grp-tg{display:inline-block;width:11px;text-align:center;margin-right:8px;color:#7a8190;transition:transform .15s ease;font-size:11px}
  .grid-sep svg.ic,.hm-group h3 svg.ic,table.tbl tbody tr.grp-row td svg.ic{margin-right:7px}
  table.tbl tbody tr.grp-row.collapsed td .grp-tg{transform:rotate(-90deg)}
  table.tbl tbody tr.grp-row td{text-align:left;background:#11161d;color:#e6e9ef;font-weight:700;font-size:13px;padding:9px 14px;border-bottom:1px solid #21262d}
  table.tbl tbody tr.grp-row td .grp-n{color:#7a8190;font-weight:600;margin-left:8px;font-size:12px;background:#0d1117;border:1px solid #21262d;border-radius:20px;padding:2px 9px}
  table.tbl .t-name{font-weight:600;color:#e6e9ef}
  table.tbl .t-sym{color:#7a8190;font-size:11px}
  table.tbl .vmini{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:11px;padding:3px 8px;border-radius:6px;font-weight:700;min-width:58px;box-sizing:border-box}
  .vmini.rt-strong{background:#0f2e1c;color:#4ade80} .vmini.rt-buy{background:#13251a;color:#86d6a4} .vmini.rt-hold{background:#20262f;color:#9aa4b2} .vmini.rt-sell{background:#2e1414;color:#f3a3a3} .vmini.rt-avoid{background:#3a1212;color:#f87171}
  body.light .vmini.rt-strong{background:rgba(34,197,94,.14);color:#15803d} body.light .vmini.rt-buy{background:rgba(34,197,94,.1);color:#16a34a} body.light .vmini.rt-hold{background:rgba(100,116,139,.14);color:#475569} body.light .vmini.rt-sell{background:rgba(239,68,68,.12);color:#dc2626} body.light .vmini.rt-avoid{background:rgba(239,68,68,.16);color:#b91c1c}
  table.tbl .t-spark{display:block;width:100%;min-width:72px;height:24px}
  table.tbl .t-trend{display:flex;flex-direction:column;align-items:stretch;gap:1px;width:100%}
  table.tbl .t-trend .t-daypl{font-size:10.5px}
  /* Drag & Drop: Werte manuell sortieren (Anfasser vorne in der Zeile) */
  #tableWrap tbody tr[data-ticker] .t-drag{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:#9aa3b2;opacity:.85;padding:2px;margin-right:1px;flex:none;vertical-align:middle}
  #tableWrap tbody tr[data-ticker] .t-drag svg{fill:currentColor;stroke:none}
  #tableWrap tbody tr[data-ticker] .t-drag:hover{opacity:1;color:#cdd6e3}
  #tableWrap tbody tr[data-ticker] .t-drag:active{cursor:grabbing}
  body.light #tableWrap tbody tr[data-ticker] .t-drag{color:#5b6478}
  body.light #tableWrap tbody tr[data-ticker] .t-drag:hover{color:#1f2430}
  #tableWrap tbody tr.row-dragging{opacity:.4}
  #tableWrap tbody tr.drag-over-top td{box-shadow:inset 0 2px 0 0 #3b82f6}
  #tableWrap tbody tr.drag-over-bottom td{box-shadow:inset 0 -2px 0 0 #3b82f6}
  /* Drag & Drop: Spalten der Tabellenansicht frei anordnen (Anfasser im Spaltenkopf) */
  #tableWrap thead th .th-drag-h{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:#9aa3b2;opacity:.85;padding:2px;margin-right:5px;vertical-align:middle}
  #tableWrap thead th .th-drag-h svg{fill:currentColor;stroke:none}
  #tableWrap thead th .th-drag-h:hover{opacity:1;color:#cdd6e3}
  #tableWrap thead th .th-drag-h:active{cursor:grabbing}
  body.light #tableWrap thead th .th-drag-h{color:#5b6478}
  body.light #tableWrap thead th .th-drag-h:hover{color:#1f2430}
  #tableWrap thead th.th-dragging{opacity:.4}
  #tableWrap thead th.th-drag-over-left{box-shadow:inset 2px 0 0 0 #3b82f6}
  #tableWrap thead th.th-drag-over-right{box-shadow:inset -2px 0 0 0 #3b82f6}
  .spk-wrap{position:relative;display:block;width:100%;height:var(--spk-h,24px);line-height:0}
  .spk-wrap svg{display:block;width:100%;height:100%}
  .spk-dot{position:absolute;right:1px;width:5px;height:5px;border-radius:50%;transform:translateY(-50%);pointer-events:none;box-shadow:0 0 0 1.5px #0d1117}
  body.light .spk-dot{box-shadow:0 0 0 1.5px #fff}
  table.tbl .t-flags{display:inline-flex;gap:5px;margin-left:6px;vertical-align:middle}
  table.tbl .t-lim-jump{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle;font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;cursor:pointer;background:#161b22;border:1px solid #2a3340;color:#9aa4b2;transition:background .12s,border-color .12s,color .12s}
  table.tbl .t-lim-jump:hover{background:#1f6feb22;border-color:#1f6feb66;color:#cdd6e3}
  table.tbl .t-lim-jump svg,table.tbl .t-lim-jump i{width:13px;height:13px}
  body.light table.tbl .t-lim-jump{background:#fff;border-color:#d0d7de;color:#57606a}
  body.light table.tbl .t-lim-jump:hover{background:#1f6feb14;border-color:#1f6feb66;color:#1f2430}
  @keyframes tgFlash{0%{box-shadow:0 0 0 0 #1f6feb88}40%{box-shadow:0 0 0 3px #1f6feb55}100%{box-shadow:0 0 0 0 #1f6feb00}}
  .mg-sec.tg-flash{animation:tgFlash 1.3s ease-out;border-radius:10px}
  /* Kompaktere Tabelle bei schmaleren Fenstern */
  @media (max-width:1560px){
    table.tbl{font-size:11.5px;width:auto}
    table.tbl thead th{padding:8px 2px}
    table.tbl tbody td{padding:7px 2px}
    table.tbl tbody tr.grp-row td{padding:7px 6px}
    table.tbl .t-spark{min-width:52px}
    table.tbl .t-sym{font-size:10px}
    table.tbl .vmini{min-width:42px;padding:3px 4px}
    table.tbl thead th:first-child{width:1%}
    table.tbl td.l:first-child{white-space:nowrap;max-width:340px;overflow:hidden;text-overflow:ellipsis}
    table.tbl td.l:first-child .t-flags{margin-left:4px}
  }
  /* Alarm-Flags */
  .flags{display:flex;flex-wrap:wrap;gap:6px}
  .flag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid transparent;white-space:nowrap}
  .flag-good{background:#0f2e1c;color:#4ade80;border-color:#1d5237}
  .flag-warn{background:#2a2410;color:#fbbf24;border-color:#5a4a16}
  .flag-bad{background:#3a1212;color:#f87171;border-color:#6b2020}
  body.light .flag-good{background:#e7f6ec;color:#1a8245;border-color:#bfe6cd}
  body.light .flag-warn{background:#fbf3df;color:#9a6b06;border-color:#f0e0b0}
  body.light .flag-bad{background:#fce8e8;color:#c23636;border-color:#f3c9c9}
  body.private .pos-edit .fld{filter:blur(5px);transition:filter .12s}
  body.private .pos-edit .fld:focus{filter:none}
  /* Verlauf-Tab bei "Werte ausblenden": Linien/Balken/Farbflächen (die reine Form) bleiben sichtbar,
     alle Zahlen (Achsenbeschriftung, Kennzahlen-Chips, Tabellen-Werte) werden unlesbar gemacht -
     Tooltips zeigen ohnehin nur Zahlen, die werden bei aktivem Privacy-Modus komplett ausgeblendet. */
  body.private #historyView .hist-chip b,
  body.private #historyView .hist-chip small,
  body.private #historyView .hg-lbl,
  body.private #historyView .hc-val,
  body.private #historyView .mon-table td.cc,
  body.private #historyView .mon-table td.yr,
  body.private #historyView .wf-val,
  body.private #historyView .stk-lg b,
  body.private #historyView .stk-lg small,
  body.private #historyView .rc-txt,
  body.private #historyView .tax-tbl td.r,
  body.private #txTableHost .tx-money{filter:blur(6px);user-select:none}
  body.private #historyView .chart-tip{display:none!important}
  /* Detail-Modal */
  .modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:flex-start;justify-content:center;z-index:50;padding:24px;overflow:auto;overscroll-behavior:contain}
  .modal.show{display:flex}
  body.modal-open{overflow:hidden}
  .imp-list,.picker-results,.mg-main,#tgList,.ah-list{overscroll-behavior:contain}
  .modal-box{background:#0d1117;border:1px solid #21262d;border-radius:16px;max-width:1320px;width:100%;padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
  .modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
  .modal-head .mt{font-size:20px;font-weight:700}
  .modal-head .ms{color:#7a8190;font-size:13px}
  .modal-close{background:#161b22;border:1px solid #21262d;color:#aab2c0;width:34px;height:34px;border-radius:9px;font-size:18px;cursor:pointer;flex:none}
  .modal-close:hover{border-color:#3b82f6;color:#e6e9ef}
  .picker-results{max-height:50vh;overflow:auto;border:1px solid #21262d;border-radius:12px;background:#0b0f15}
  .picker-row{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #161b22;transition:.12s}
  .picker-row:last-child{border-bottom:none}
  .picker-row:hover{background:#131a23}
  .picker-row.added{opacity:.55;cursor:default}
  .picker-row.active{background:#16202e;box-shadow:inset 3px 0 0 #3b82f6}
  body.light .picker-row.active{background:#e7f0fe;box-shadow:inset 3px 0 0 #3b82f6}
  .picker-row input{width:17px;height:17px;flex:none;accent-color:#3b82f6;cursor:pointer}
  .picker-row.added input{cursor:default}
  .picker-sym{font-weight:700;font-size:13.5px;min-width:84px}
  .picker-name{flex:1;color:#c9d1d9;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .picker-price{flex:none;width:92px;text-align:right;font-size:12.5px;font-weight:600;color:#c9d1d9;white-space:nowrap;font-variant-numeric:tabular-nums;padding:5px 8px;border-radius:7px}
  .picker-meta{color:#7a8190;font-size:11px;text-align:right;flex:none;white-space:nowrap;width:124px;overflow:hidden;text-overflow:ellipsis}
  .picker-div{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;flex:none;width:160px}
  .picker-div .pd-pill{display:none}
  .picker-div.on .pd-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;background:rgba(34,197,94,.12);color:#22c55e;font-size:11px;font-weight:700;white-space:nowrap;line-height:1.45;font-variant-numeric:tabular-nums}
  .picker-div .pd-lbl{font-size:9px;font-weight:600;opacity:.7;text-transform:uppercase;letter-spacing:.4px}
  .picker-div .pd-yield{font-weight:800}
  .picker-div .pd-freq{font-size:9px;font-weight:700;background:rgba(34,197,94,.22);border-radius:6px;padding:1px 5px}
  .picker-div .pd-next{display:flex;align-items:center;gap:3px;font-size:9.5px;font-weight:600;color:#7a8190;white-space:nowrap;font-variant-numeric:tabular-nums}
  .picker-div .pd-next::before{content:"";width:5px;height:5px;border-radius:50%;background:#22c55e;opacity:.7}
  .picker-rating{flex:none;width:74px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:6px;padding:3px 0;color:#9aa4b2;background:rgba(154,164,178,.1)}
  .picker-rating:empty{background:none}
  .picker-rating.strong,.picker-rating.buy{color:#4ade80;background:rgba(74,222,128,.14)}
  .picker-rating.hold{color:#9aa4b2;background:rgba(154,164,178,.12)}
  .picker-rating.sell,.picker-rating.avoid{color:#f87171;background:rgba(248,113,113,.14)}
  .picker-add{flex:none;width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #2f3946;background:#1b2530;color:#9fb4d6;border-radius:9px;cursor:pointer;transition:.14s}
  .picker-add .ic{width:16px;height:16px}
  .picker-add:hover{border-color:#3b82f6;background:linear-gradient(135deg,#1f6feb,#0ea5e9);color:#fff;box-shadow:0 5px 14px rgba(31,111,235,.42);transform:translateY(-1px)}
  .picker-add:active{transform:translateY(0)}
  .picker-add.added{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.14);color:#22c55e;cursor:default;box-shadow:none;transform:none}
  .picker-detail{padding:6px 14px 16px;border-bottom:1px solid #161b22;background:#0b0f15;font-size:12.5px}
  .mgd-body .rd-hero{margin:12px 0 6px}.mgd-body .rd-gauges{padding:12px 0 6px}.mgd-body .rating-tbls{padding:6px 0 8px}
  .mgd-body .rd-profile{margin-top:6px}.mgd-body .ap-txt{max-height:none}
  body.light .picker-add{background:#eef2f8;border-color:#cfd8e6;color:#3f6796}
  body.light .picker-add:hover{background:linear-gradient(135deg,#1f6feb,#0ea5e9);border-color:#3b82f6;color:#fff}
  body.light .picker-add.added{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:#16a34a}
  body.light .picker-detail{background:#f7f9fc;border-bottom-color:#eef1f6}
  .picker-colhead{display:flex;align-items:center;gap:12px;padding:7px 14px;border:1px solid #21262d;border-bottom:none;border-radius:12px 12px 0 0;background:#11161d}
  .picker-colhead+.picker-results{border-top-left-radius:0;border-top-right-radius:0}
  .picker-colhead>span{font-size:10px;font-weight:700;color:#7a8190;text-transform:uppercase;letter-spacing:.5px}
  .picker-colhead .pch-chk{width:30px;flex:none}
  .picker-colhead .picker-rating{background:none;padding:0;width:74px}
  .picker-row>input[type=checkbox]{width:17px;height:17px;flex:none;margin:0}
  .picker-badge{display:inline-block;font-size:10px;font-weight:700;color:#22c55e;border:1px solid #22c55e55;border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:middle}
  .picker-hint{padding:24px 14px;text-align:center;color:#7a8190;font-size:13px}
  .picker-group{position:sticky;top:0;background:#11161d;color:#8b93a1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 14px;border-bottom:1px solid #21262d;z-index:1}
  body.light .picker-group{background:#eef1f6;color:#5b6478;border-bottom-color:#dfe3ea}
  .picker-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:12px}
  .picker-actions{display:flex;gap:8px}
  /* Bestand-Import (CSV) */
  .imp-box{max-width:760px}
  .exp-box{max-width:820px}
  .exp-cols{display:flex;gap:16px;flex-wrap:wrap}
  .exp-col{flex:1;min-width:220px}
  .exp-col .imp-list{max-height:40vh}
  .exp-col-h{display:flex;align-items:center;justify-content:space-between}
  .exp-col-actions{display:flex;gap:6px}
  .exp-col-actions button{background:none;border:1px solid #283040;border-radius:6px;color:#8b93a1;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;cursor:pointer}
  .exp-col-actions button:hover{color:#e6edf3;background:#1c2330}
  body.light .exp-col-actions button{border-color:#d7dce5;color:#55607a}
  body.light .exp-col-actions button:hover{background:#eef2f8;color:#1f2430}
  .imp-list{max-height:56vh;overflow:auto;border:1px solid #21262d;border-radius:12px;background:#0b0f15}
  .imp-row{display:grid;grid-template-columns:34px 1fr 84px 92px 150px;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid #161b22}
  .imp-row:last-child{border-bottom:none}
  .imp-head{position:sticky;top:0;background:#11161d;color:#8b93a1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;z-index:1}
  .imp-chk{width:17px;height:17px;accent-color:#3b82f6;cursor:pointer}
  .imp-nm{display:flex;flex-direction:column;min-width:0}
  .imp-nm b{font-size:13px;color:#e6e9ef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .imp-nm small{font-size:11px;color:#7a8190;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .imp-sh,.imp-buy{width:100%;padding:5px 8px;font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}
  .imp-sh::-webkit-inner-spin-button,.imp-sh::-webkit-outer-spin-button,.imp-buy::-webkit-inner-spin-button,.imp-buy::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
  .imp-tk{width:100%;padding:5px 8px;font-size:12.5px;text-transform:uppercase}
  .imp-empty{padding:26px 16px;text-align:center;color:#7a8190;font-size:13px;line-height:1.5}
  .imp-empty code{background:#161b22;border:1px solid #21262d;border-radius:5px;padding:1px 5px;font-size:12px}
  body.light .imp-list{background:#f7f9fc}
  body.light .imp-head{background:#eef1f6;color:#5b6478}
  body.light .imp-row{border-bottom-color:#eef1f6}
  body.light .imp-nm b{color:#1f2430}
  .imp-dup{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}
  .imp-dup[hidden]{display:none}
  .imp-dup .idp-note{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:#f59e0b;white-space:nowrap}
  .imp-dup .idp-note::before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b;flex:none}
  .imp-dup .idp-seg{display:inline-flex;border:1px solid #2a313c;border-radius:7px;overflow:hidden}
  .imp-dup .imp-mode-btn{background:transparent;border:none;color:#8b93a1;font-size:10.5px;font-weight:700;padding:3px 9px;cursor:pointer;transition:.12s}
  .imp-dup .imp-mode-btn+.imp-mode-btn{border-left:1px solid #2a313c}
  .imp-dup .imp-mode-btn.active{background:#1f6feb;color:#fff}
  .imp-dup .imp-mode-btn:not(.active):hover{color:#e6e9ef}
  body.light .imp-dup .idp-seg{border-color:#d4dae6}
  body.light .imp-dup .imp-mode-btn{color:#5b6478}
  body.light .imp-dup .imp-mode-btn.active{color:#fff}
  body.light .imp-dup .imp-mode-btn:not(.active):hover{color:#1f2430}
  body.light .imp-dup .imp-mode-btn+.imp-mode-btn{border-left-color:#d4dae6}
  body.light .picker-row{border-bottom-color:#eef1f6}
  body.light .picker-row:hover{background:#eef3fb}
  body.light .picker-results{background:#fff;border-color:#e3e7ee}
  body.light .picker-name{color:#1f2430}
  body.light .picker-price{color:#1f2430}
  body.light .picker-colhead{background:#eef1f6;border-color:#e3e7ee}
  body.light .picker-colhead>span{color:#5b6478}
  body.light .picker-div.on .pd-pill{color:#15803d;background:rgba(21,128,61,.1)}
  body.light .picker-div .pd-freq{background:rgba(21,128,61,.16)}
  .detail-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#aab2c0;margin:8px 0 4px}
  .detail-legend span{cursor:pointer;user-select:none;padding:3px 8px;border-radius:7px;border:1px solid transparent;transition:.12s}
  .detail-legend span:hover{background:rgba(255,255,255,.06);border-color:#21262d}
  .detail-legend span.off{opacity:.42;text-decoration:line-through}
  .detail-legend i{display:inline-block;width:16px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
  /* ===== Verstellbare Splitter ===== */
  .split-rz, .split-rz *{cursor:ns-resize !important;user-select:none !important}
  .split-rz-h, .split-rz-h *{cursor:col-resize !important;user-select:none !important}
  .vh-grip{position:absolute;left:0;right:0;bottom:0;height:11px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;z-index:8}
  .vh-grip::before{content:"";width:48px;height:4px;border-radius:3px;background:#2b3340;transition:background .15s,width .15s}
  .vh-grip:hover::before{background:#3b82f6;width:70px}
  body.light .vh-grip::before{background:#cfd6e2}
  .vw-grip{flex:none;width:11px;align-self:stretch;display:flex;align-items:center;justify-content:center;cursor:col-resize;position:relative;z-index:8}
  .vw-grip::before{content:"";width:4px;height:48px;border-radius:3px;background:#2b3340;transition:background .15s,height .15s}
  .vw-grip:hover::before{background:#3b82f6;height:70px}
  body.light .vw-grip::before{background:#cfd6e2}
  /* Karten mit Anfassern (Admin-Bereich und Depot-Kacheln): Griffe rechts (Breite) und unten
     (Höhe des scrollenden Inhalts), Ziehgriff zum Umsortieren in der Kopfzeile. */
  .admin-card,.ins-card{position:relative;padding-right:20px;min-width:0;container-type:inline-size;display:flex;flex-direction:column}
  @container (max-width: 380px){ .admin-btn-label{display:none} }
  .card-body{overflow:auto;flex:1 1 auto;min-height:0}
  /* Depot-Kacheln wachsen zunächst mit ihrem Inhalt und dürfen Tooltips überstehen lassen -
     erst wenn eine Höhe gezogen wurde (.h-fixed), scrollt der Inhalt innerhalb der Kachel. */
  .ins-card > .card-body{overflow:visible}
  .ins-card > .card-body.h-fixed{overflow:auto}
  .card-wgrip{position:absolute;top:0;right:2px;bottom:0;width:14px;display:flex;align-items:center;justify-content:center;cursor:col-resize;z-index:8}
  .card-wgrip::before{content:"";width:4px;height:48px;border-radius:3px;background:#2b3340;transition:background .15s,height .15s}
  .card-wgrip:hover::before{background:#3b82f6;height:70px}
  body.light .card-wgrip::before{background:#cfd6e2}
  .card-hgrip{height:9px;margin-top:2px;display:flex;align-items:center;justify-content:center;cursor:ns-resize}
  .card-hgrip::before{content:"";width:40px;height:4px;border-radius:3px;background:#2b3340;transition:background .15s,width .15s}
  .card-hgrip:hover::before{background:#3b82f6;width:60px}
  body.light .card-hgrip::before{background:#cfd6e2}
  .card-drag{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:#5a6577;opacity:.5;padding:2px;flex:none}
  .card-drag svg{fill:currentColor;stroke:none}
  .card-drag:hover{opacity:1;color:#9aa3b2}
  .card-drag:active{cursor:grabbing}
  body.light .card-drag{color:#9aa1ad}
  body.light .card-drag:hover{color:#5a6376}
  .admin-card.sec-dragging{opacity:.4}
  .admin-card.sec-drag-over-left{box-shadow:inset 3px 0 0 0 #1f6feb}
  .admin-card.sec-drag-over-right{box-shadow:inset -3px 0 0 0 #1f6feb}
  .admin-table{width:100%;border-collapse:collapse}
  .admin-table th,.admin-table td{padding:10px 16px;text-align:left}
  .admin-table th:first-child,.admin-table td:first-child{padding-left:14px}
  .admin-table th:last-child,.admin-table td:last-child{padding-right:14px}
  .admin-table thead th{color:#8a92a0;font-size:11.5px;font-weight:600;padding-top:8px;padding-bottom:8px;border-bottom:1px solid #21262d;white-space:nowrap}
  .admin-table tbody tr:not(:last-child) td{border-bottom:1px solid #1c2128}
  body.light .admin-table thead th{color:#5a6376}
  body.light .admin-table tbody tr:not(:last-child) td{border-bottom-color:#eef1f6}
  .admin-table th.admin-th-sort{cursor:pointer;user-select:none}
  .admin-table th .ar{opacity:.45;font-size:11px}
  .admin-table th.act .ar{opacity:1;color:#1f6feb}
  .admin-table th.admin-chk,.admin-table td.admin-chk{width:1%;white-space:nowrap;padding-right:0}
  .admin-table th.admin-chk input,.admin-table td.admin-chk input{cursor:pointer;margin:0;vertical-align:middle}
  .admin-table tbody tr.admin-row-sel td{background:rgba(31,111,235,.12)}
  body.light .admin-table tbody tr.admin-row-sel td{background:rgba(31,111,235,.09)}
  .admin-selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding:6px 10px;border:1px solid #21262d;border-radius:10px;background:#0d1117;font-size:12px}
  body.light .admin-selbar{background:#f6f8fb;border-color:#e1e5ec}
  .admin-selbar .sb-n{font-weight:600}
  .admin-online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5a6376;margin-right:7px;vertical-align:middle}
  .admin-online-dot.is-online{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.25);animation:liveBlink 1.6s ease-in-out infinite}
  .admin-sessions-list{display:flex;flex-direction:column;gap:6px}
  .admin-session-row{display:flex;align-items:center;gap:6px}
  .admin-session-row .muted{flex:1;min-width:0;line-height:1.45}
  .admin-session-row .muted span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .admin-session-row .admin-revoke{flex:none}
  @media (max-width:540px){
    .admin-card{width:100%!important;padding-right:16px}
    .card-wgrip,.card-drag,.card-hgrip{display:none}
    .card-body{height:auto!important}
  }
  /* Tabellen-Umschaltung haengt bewusst an der TATSAECHLICHEN Kartenbreite (Container Query),
     nicht am Viewport - Karten sind einzeln in der Breite veraenderbar und koennen unabhaengig
     vom Bildschirm schmal sein bzw. auf manchen Geraeten von der Viewport-Breite abweichen. */
  @container (max-width:540px){
    .card-body .admin-table thead{display:none}
    .card-body .admin-table,.card-body .admin-table tbody{display:block;width:100%}
    .card-body .admin-table tr{display:block;width:auto;margin:0 0 10px;padding:6px 12px 10px;border:1px solid #21262d;border-radius:12px;background:#0d1117}
    .card-body .admin-table tr:last-child{margin-bottom:0}
    body.light .card-body .admin-table tr{background:#fff;border-color:#e1e5ec}
    .card-body .admin-table td{display:flex;align-items:center;justify-content:space-between;gap:14px;width:auto!important;max-width:none!important;overflow:visible!important;white-space:normal!important;text-align:right;padding:6px 0;border-bottom:1px solid #161b22}
    .card-body .admin-table td:last-child{border-bottom:none}
    body.light .card-body .admin-table td{border-bottom-color:#eef1f6}
    .card-body .admin-table td::before{content:attr(data-label);flex:none;margin-right:auto;color:#8b949e;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}
    body.light .card-body .admin-table td::before{color:#6b7480}
    .card-body .admin-table td.admin-name-cell{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 8px;text-align:left;padding:4px 0 9px;margin-bottom:4px;border-bottom:1px solid #21262d}
    .card-body .admin-table td.admin-name-cell::before{display:none}
    .card-body .admin-table td.admin-sessions-cell{flex-direction:column;align-items:flex-start;gap:6px}
    .card-body .admin-table td.admin-sessions-cell::before{margin-right:0}
    .card-body .admin-table td.admin-sessions-cell .admin-session-row{width:100%;justify-content:flex-start}
    .card-body .admin-table td.admin-sessions-cell .admin-session-row .muted{text-align:left}
  }
  .col-rz{position:absolute;top:0;right:0;width:11px;height:100%;cursor:col-resize;z-index:6;display:flex;align-items:center;justify-content:center}
  .col-rz::before{content:"";width:3px;height:20px;border-radius:3px;background:linear-gradient(180deg,rgba(148,163,184,0),rgba(148,163,184,.6) 22%,rgba(148,163,184,.6) 78%,rgba(148,163,184,0));opacity:0;transform:scaleY(.55);transition:opacity .22s ease,transform .22s cubic-bezier(.4,0,.2,1),height .18s ease,background .15s,box-shadow .15s}
  body.light .col-rz::before{background:linear-gradient(180deg,rgba(100,116,139,0),rgba(100,116,139,.55) 22%,rgba(100,116,139,.55) 78%,rgba(100,116,139,0))}
  .tbl thead:hover .col-rz::before{opacity:.85;transform:scaleY(1)}
  .col-rz:hover::before{opacity:1;height:28px;background:linear-gradient(180deg,rgba(59,130,246,0),#3b82f6 20%,#3b82f6 80%,rgba(59,130,246,0));box-shadow:0 0 8px rgba(59,130,246,.55)}
  .detail-chart-wrap{position:relative;padding-bottom:12px}
  .dc-cross{position:absolute;top:0;width:1px;background:rgba(230,233,239,.45);pointer-events:none;display:none;z-index:4}
  body.light .dc-cross{background:rgba(31,36,48,.4)}
  .range-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 6px}
  .range-btn{background:#161b22;border:1px solid #21262d;color:#aab2c0;padding:5px 11px;border-radius:8px;font-size:12px;cursor:pointer;transition:.15s}
  .range-btn:hover{border-color:#3b82f6;color:#e6e9ef}
  .range-btn.active{background:#1f6feb;border-color:#1f6feb;color:#fff}
  .range-load{font-size:12px;color:#7a8190;margin-left:6px}
  .bench-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 2px;font-size:12px;color:#7a8190}
  .bench-btn{padding:4px 10px}
  .detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}
  .detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;align-items:start}
  .detail-col>.detail-grid{margin-top:0}
  @media(max-width:820px){.detail-cols{grid-template-columns:1fr}}
  /* Insights: Allokation, Korrelation, Depot-Szenario */
  /* Wie das Admin-Raster: frei umbrechende Reihe statt fester Spalten - nur so kann jede Kachel
     ihre eigene, gezogene Breite behalten. */
  .insights{display:flex;flex-wrap:wrap;align-items:stretch;gap:18px;padding:28px;margin-top:14px;border-top:1px solid #21262d}
  body.light .insights{border-color:#e1e5ec}
  /* Kachel-Optik, Kopfzeile und Anfasser kommen aus den gemeinsamen Regeln mit .mg-sec/.admin-card
     (siehe oben) - Depot- und Admin-Kacheln sind dasselbe Bauteil. Hier nur die Ergänzungen. */
  .ins-card h3{margin:0 0 10px;flex-wrap:wrap}   /* Kopfzeilen mit Zusatz-Buttons dürfen umbrechen */
  .ins-card.card-dragging{opacity:.4}
  .ins-card.card-drag-over-left{box-shadow:inset 3px 0 0 0 #1f6feb}
  .ins-card.card-drag-over-right{box-shadow:inset -3px 0 0 0 #1f6feb}
  @media(max-width:820px){
    .insights{padding:18px}
    .ins-card{width:100%!important;padding-right:16px}
    .ins-card .card-wgrip,.ins-card .card-hgrip,.ins-card .card-drag{display:none}
    .ins-card .card-body{height:auto!important}
  }
  .ins-hint{color:#7a8190;font-size:12px}
  .alloc-wrap{display:flex;gap:14px;align-items:stretch}
  .alloc-main{flex:1;min-width:0;display:flex;flex-direction:column}
  .alloc-bar{width:42px;flex:none;display:flex;flex-direction:column;border-radius:9px;overflow:hidden;min-height:170px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
  .alloc-bar.empty{background:rgba(127,140,160,.15)}
  .alloc-seg{display:flex;align-items:center;justify-content:center;min-height:2px;cursor:pointer;transition:flex .3s ease,filter .15s ease}
  .alloc-seg:hover{filter:brightness(1.18)}
  .alloc-seg span{font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-variant-numeric:tabular-nums}
  .div-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
  .div-table th{text-align:right;color:#7a8190;font-weight:600;padding:4px 4px;border-bottom:1px solid #21262d;white-space:nowrap}
  .div-table th.l{text-align:left}
  .div-table td{padding:5px 4px;border-bottom:1px solid rgba(127,140,160,.12);font-variant-numeric:tabular-nums}
  .div-table td.r{text-align:right;white-space:nowrap;color:#c2c9d6}
  .div-table td.l i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:middle}
  .div-table td.l .nm{display:inline-block;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
  .div-table.alloc-tbl td.l .nm,.div-table.alloc-grp-tbl td.l .nm{max-width:none;white-space:normal}
  .hist-sub-head{margin:16px 0 4px;font-size:12px;font-weight:600;color:#7a8190}
  .hist-sub-head:first-child{margin-top:0}
  /* Tabellen unter der Kopfzeile auf dieselbe Einrueckung wie Summen-Chips und Charts bringen */
  .hist-sec #historyRealized{padding:10px 28px 20px 38px}
  .div-table td.gv.pos{color:#22c55e}
  .div-table td.gv.neg{color:#ef4444}
  .hist-del-btn{width:20px;height:20px;border-radius:50%;border:1px solid #2a3340;background:#161b22;color:#7a8190;cursor:pointer;font-size:13px;line-height:1;padding:0}
  .hist-del-btn:hover{background:#ef444422;border-color:#ef4444aa;color:#ff8a8a}
  body.light .hist-del-btn{background:#fff;border-color:#d0d7de;color:#57606a}
  body.light .hist-del-btn:hover{background:#ef444414;border-color:#ef4444aa;color:#c23636}
  .div-table td.nxt{color:#22c55e;font-weight:600}
  .tx-kind{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
  .tx-kind.tx-buy{background:#3b82f622;color:#60a5fa}
  .tx-kind.tx-sell{background:#f59e0b22;color:#fbbf24}
  .tx-kind.tx-init{background:#8b949e22;color:#8b949e}
  body.light .tx-kind.tx-buy{background:#3b82f61a;color:#1d4ed8}
  body.light .tx-kind.tx-sell{background:#f59e0b1a;color:#b45309}
  body.light .tx-kind.tx-init{background:#8b949e1a;color:#57606a}
  #txTableHost thead th,#txTableHost tbody tr{cursor:default}
  #txTableHost tbody tr:hover{background:transparent}
  #txTableHost table.tbl{width:auto}
  .dtbl td{padding-top:4px;padding-bottom:4px}
  .dtbl td.l .nm{white-space:nowrap;max-width:calc(100% - 20px)}
  .dtbl td.ert b{font-weight:700}
  .dtbl td.ert small{display:block;font-size:10px;line-height:1.25;color:#7a8190;font-weight:400}
  body.light .div-table th{border-color:#e1e5ec}
  body.light .div-table td.r{color:#3a4150}
  .div-table.alloc-tbl tbody tr,.div-table.alloc-grp-tbl tbody tr{cursor:pointer;user-select:none}
  .div-table.alloc-tbl tbody tr:hover td,.div-table.alloc-grp-tbl tbody tr:hover td{background:rgba(127,140,160,.10)}
  .div-table tr.off{opacity:.42}
  .div-table tr.off .nm{text-decoration:line-through}
  .corr-table{border-collapse:collapse;font-size:11px;width:auto}
  .corr-table th,.corr-table td{padding:5px 6px;text-align:center;white-space:nowrap}
  .corr-table th{color:#7a8190;font-weight:600}
  .corr-table td.cc{color:#fff;font-weight:700;border-radius:4px}
  .corr-table th.l{text-align:left;max-width:160px;overflow:hidden;text-overflow:ellipsis}
  .corr-table th.rot{vertical-align:bottom;height:104px;padding:0 0 2px 0}
  .corr-table th.rot span{display:inline-block;transform:rotate(-45deg);transform-origin:left bottom;white-space:nowrap;font-weight:600;line-height:1}
  .corr-scroll{overflow-x:auto;max-width:100%}
  .ins-card.wide{grid-column:1/-1}
  .cls-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 11px;border-radius:999px;margin-bottom:6px}
  .cls-badge.cls-off{background:rgba(239,68,68,.16);color:#f87171}
  .cls-badge.cls-def{background:rgba(34,197,94,.16);color:#4ade80}
  .cls-badge.cls-bal{background:rgba(59,130,246,.16);color:#60a5fa}
  .cls-wrap{position:relative}
  .cls-hit{cursor:help}
  /* Erklaer-Tooltip der Achsen: hier laeuft Fliesstext, daher kein nowrap wie bei den Zahlen-Tooltips */
  #clsTip{max-width:min(300px,74vw);white-space:normal;transform:none}
  #clsTip .tt-desc{color:#c9cfda;line-height:1.45}
  #clsTip .tt-scale{margin-top:6px;padding-top:5px;border-top:1px solid #30363d;color:#7a8190;font-size:11px;line-height:1.4}
  body.light #clsTip .tt-desc{color:#3a4252}
  body.light #clsTip .tt-scale{border-top-color:#dfe3ea;color:#5b6478}
  .cls-svg{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
  .cls-axis{font-size:13px;font-weight:600;fill:#9aa3b2}
  .cls-axval{font-size:11px;font-weight:700;fill:#6b7280}
  body.light .cls-axis{fill:#5a6376}
  body.light .cls-axval{fill:#9aa3b2}
  .card-grid{display:flex;gap:20px;flex-wrap:wrap}
  .card-grid .dp{display:flex;flex-direction:column;line-height:1.25}
  .card-grid .dp span{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a8190}
  .card-grid .dp b{font-size:18px;font-weight:700}
  .card-grid .dp small{font-size:12px;font-weight:600}
  .masked{color:#8a92a0}
  /* Theme-Umschalter */
  .theme-btn{background:#161b22;border:1px solid #21262d;color:#aab2c0;padding:7px 12px;border-radius:8px;font-size:12px;cursor:pointer}
  #alertBellBtn .btn-label{display:none}
  .theme-btn:hover{border-color:#3b82f6;color:#e6e9ef}
  .settings-menu{position:relative;display:inline-block}
  .settings-menu>summary{list-style:none;cursor:pointer;user-select:none}
  .settings-menu>summary::-webkit-details-marker{display:none}
  .settings-menu>summary::marker{content:""}
  .settings-menu>summary .btn-label{display:none}
  .settings-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;display:flex;flex-direction:column;gap:8px;background:#161b22;border:1px solid #21262d;border-radius:10px;padding:10px;min-width:205px;box-shadow:0 10px 28px rgba(0,0,0,.45)}
  .settings-pop .theme-btn{width:100%;text-align:left}
  /* Auswahlfelder im Einstellungsmenü sehen aus wie die übrigen Einträge: gleiche Höhe,
     gleicher Rahmen, Icon links, einheitlicher Aufklapp-Pfeil rechts (statt Browser-Chrome) */
  .settings-pop .sel-field{position:relative;display:block;width:100%;padding:0;overflow:hidden}
  .settings-pop .sel-field>.ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}
  .settings-pop .sel-field>select{display:block;width:100%;padding:7px 28px 7px 29px;background:transparent;border:0;border-radius:8px;color:inherit;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none}
  .settings-pop .sel-field>select:disabled{cursor:progress;opacity:.6}
  .settings-pop .sel-field>select option{background:#161b22;color:#e6e9ef}
  body.light .settings-pop .sel-field>select option{background:#fff;color:#3a4150}
  /* Gemeinsamer Aufklapp-Pfeil für Auswahlfeld und Untermenü */
  .settings-pop .sel-field::after,.passkey-menu>summary::after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.55;pointer-events:none;transition:transform .15s}
  /* Monatsreport-Umschalter mit angedocktem Icon-Vorschau-Button (ein Segment, nur wenn „An") */
  .mreport-seg{display:flex;flex-direction:row;width:100%;border:1px solid #21262d;border-radius:8px;overflow:hidden}
  .settings-pop .mreport-seg .theme-btn{border:none;border-radius:0}
  .mreport-seg .mreport-toggle{flex:1 1 auto;min-width:0;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mreport-seg .mreport-preview{flex:0 0 auto;width:auto;border-left:1px solid #3a4250;padding:7px 12px;color:#6ea8ff;background:rgba(110,168,255,.07);display:flex;align-items:center}
  .mreport-seg .mreport-preview:hover{background:rgba(110,168,255,.16)}
  /* Kein Anheben (translateY) beim Hovern innerhalb des Segments – sonst blitzt durch das
     overflow:hidden 1px Hintergrund als heller Balken auf. Auch keine Rahmenfarbe/Textfarbe-
     Änderung, die den nahtlosen Segment-Look aufbrechen würde. */
  .mreport-seg:not(.off) .theme-btn:hover{transform:none;border-color:transparent}
  .mreport-seg:not(.off) .mreport-toggle:hover{color:inherit}
  .mreport-seg .mreport-preview .ic{margin:0;color:#6ea8ff}
  .mreport-seg.off{border:none}
  .settings-pop .mreport-seg.off .mreport-toggle{border:1px solid #21262d;border-radius:8px;width:100%}
  .mreport-seg.off .mreport-preview{display:none}
  body.light .settings-pop .mreport-seg{border-color:#c3ccd8}
  body.light .settings-pop .mreport-seg .mreport-preview{border-left:1px solid #8ba6d6;color:#1f6feb;background:#d3e4fc}
  body.light .settings-pop .mreport-seg .mreport-preview .ic{color:#1f6feb}
  body.light .settings-pop .mreport-seg .mreport-preview:hover{background:#bcd6fa}
  body.light .settings-pop .mreport-seg.off .mreport-toggle{border-color:#dfe3ea}
  body.light .settings-pop{background:#fff;border-color:#dfe3ea;box-shadow:0 10px 28px rgba(0,0,0,.12)}
  .passkey-menu{width:100%}
  .passkey-menu>summary{list-style:none;cursor:pointer;user-select:none;position:relative;padding-right:24px}
  .passkey-menu>summary::-webkit-details-marker{display:none}
  .passkey-menu>summary::marker{content:""}
  .passkey-menu[open]>summary::after{transform:translateY(-30%) rotate(225deg)}
  #passkeyCountBadge{color:#8b949e;font-size:11px;margin-left:4px}
  .passkey-menu-body{display:flex;flex-direction:column;gap:6px;padding:8px 2px 2px}
  .passkey-menu-body .theme-btn{width:100%;text-align:left}
  .passkey-list:empty{display:none}
  .passkey-list{display:flex;flex-direction:column;gap:5px}
  .passkey-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid #21262d;border-radius:8px;font-size:11.5px;color:#aab2c0}
  .passkey-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .passkey-del{flex:0 0 auto;background:none;border:none;color:#8b949e;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;border-radius:4px}
  .passkey-del:hover{color:#f87171;background:rgba(248,113,113,.12)}
  body.light .passkey-row{border-color:#dfe3ea;color:#3a4150}
  body.light .passkey-del{color:#6b7280}
  body.light .passkey-del:hover{color:#dc2626;background:rgba(220,38,38,.1)}
  /* ===== Hell-Modus ===== */
  body.light{background:#f4f6fa;color:#1f2430;color-scheme:light}
  body.light .topbar{background:#f4f6fa}
  body.light .toolbar{background:#f4f6fa}
  body.light header,body.light footer,body.light .depot,body.light .toolbar{border-color:#e1e5ec}
  body.light .scenario{background:#f3f5f9;border-color:#e1e5ec}
  body.light .scn-title{color:#1a1f29}
  body.light .scn-table th,body.light .scn-table td{border-color:#e1e5ec}
  body.light .card,body.light .modal-box{background:#ffffff;border-color:#e1e5ec}
  body.light .kpi,body.light .badge,body.light .fld,body.light .pos-edit,body.light .pl,body.light .pos-sum,body.light .wl-item{background-color:#eff2f7;border-color:#e1e5ec}
  /* Eingabefelder muessen als solche erkennbar sein: weisser Grund und ein Rahmen mit
     genug Kontrast gegen die helle Leiste, in der sie stehen. */
  body.light .fld{background-color:#fff;border-color:#c8d0dc}
  body.light .fld:hover{border-color:#a9b4c4}
  body.light .fld::placeholder{color:#8b93a3}
  body.light .ps-line,body.light .ps-cell{border-color:#e1e5ec}
  body.light .sort-btn,body.light .btn.ghost,body.light .modal-close,body.light .theme-btn{background:#eff2f7;border-color:#dfe3ea;color:#3a4150}
  body.light .sort-btn.active{background:#1f6feb;border-color:#1f6feb;color:#fff}
  body.light .range-btn{background:#eff2f7;border-color:#dfe3ea;color:#3a4150}
  body.light .range-btn.active{background:#1f6feb;border-color:#1f6feb;color:#fff}
  body.light .chart-tip{background:#fff;border-color:#dfe3ea;color:#1f2430;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  body.light .sub,body.light .status,body.light .muted,body.light .tb-label,body.light .fc-head,body.light .sort-btn,body.light .chk,body.light .pe-lbl{color:#46506b}
  body.light .tsym,body.light .price span,body.light .kpi span,body.light .depot .dp span,body.light .fc th,body.light .fc td:first-child,body.light .ms,body.light .ps-cell span,body.light .ps-line>span,body.light .pe-cap{color:#6b7480}
  body.light .fld{color:#1f2430}
  body.light .fc .med,body.light .modal-head .mt,body.light .kpi b{color:#1f2430}
  body.light .stat.neutral,body.light .verdict.hold{background:#eef1f6;color:#46506b}
  body.light .verdict.strong{background:rgba(34,197,94,.12);color:#15803d;border-color:rgba(34,197,94,.45);box-shadow:0 0 0 1px rgba(34,197,94,.25) inset}
  body.light .verdict.buy{background:rgba(34,197,94,.1);color:#16a34a;border-color:rgba(34,197,94,.35)}
  body.light .verdict.watch{background:rgba(234,179,8,.14);color:#a16207;border-color:rgba(234,179,8,.4)}
  body.light .verdict.hold{border-color:#dbe1ea;box-shadow:none}
  body.light .verdict.avoid{background:rgba(239,68,68,.12);color:#b91c1c;border-color:rgba(239,68,68,.4)}
  body.light .table-wrap{background:#fff;border-color:#e1e5ec}
  body.light table.tbl thead th{background:#fff;color:#6b7480;border-color:#e1e5ec}
  body.light table.tbl tbody td{border-color:#eef1f6}
  body.light table.tbl tbody tr:hover{background:#f4f6fa}
  body.light table.tbl tbody tr.grp-row:hover{background:transparent}
  body.light table.tbl tbody tr.grp-row:hover td{background:#e4e9f0}
  body.light table.tbl tbody tr.grp-row td{background:#eef1f6;color:#0d1117;border-bottom-color:#dfe3ea}
  body.light table.tbl tbody tr.grp-row td .grp-tg{color:#55607a}
  body.light table.tbl tbody tr.grp-row td .grp-n{background:#eff2f7;border-color:#cfd6e2;color:#3a4358}
  body.light table.tbl .t-name{color:#1f2430}
  /* ===== Tabelle als Karten auf schmalen Geräten (Handy / Tablet hochkant) ===== */
  @media(max-width:820px){
    #tableWrap table.tbl{font-size:13px}
    #tableWrap thead{display:none}
    #tableWrap .col-rz{display:none!important}
    #tableWrap table.tbl,#tableWrap tbody{display:block;width:100%}
    #tableWrap tr.grp-row{display:block}
    #tableWrap tr.grp-row td{display:block!important;width:auto!important;max-width:none!important;border-radius:10px 10px 0 0;margin:14px 10px 0}
    #tableWrap tr[data-ticker]{display:block;width:auto;margin:10px;padding:6px 12px 10px;border:1px solid #21262d;border-radius:12px;background:#0d1117;box-shadow:0 1px 4px rgba(0,0,0,.28)}
    #tableWrap tr[data-ticker]:hover{background:#0d1117}
    #tableWrap tr[data-ticker] td{display:flex;align-items:center;justify-content:space-between;gap:14px;width:auto!important;min-width:0!important;max-width:none!important;overflow:visible!important;white-space:normal;text-align:right;padding:6px 0;border-bottom:1px solid #161b22}
    #tableWrap tr[data-ticker] td:last-child{border-bottom:none}
    #tableWrap tr[data-ticker] td::before{content:attr(data-label);flex:none;margin-right:auto;color:#8b949e;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}
    #tableWrap tr[data-ticker] td.t-name-cell{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 8px;text-align:left;padding:4px 0 9px;margin-bottom:4px;border-bottom:1px solid #21262d}
    #tableWrap tr[data-ticker] td.t-name-cell::before{display:none}
    #tableWrap tr[data-ticker] td .t-trend{width:auto;align-items:flex-end;flex:none}
    #tableWrap tr[data-ticker] td .t-spark{display:block;width:128px;min-width:0}
    #tableWrap tr[data-ticker] td .t-daypl{margin-left:0;min-width:62px;text-align:right;flex:none}
    #tableWrap tr[data-ticker] .t-drag{display:none}
    body.light #tableWrap tr[data-ticker]{background:#fff}
    body.light #tableWrap tr[data-ticker]:hover{background:#fff}
    body.light #tableWrap tr[data-ticker] td{border-bottom-color:#eef1f6}
    body.light #tableWrap tr[data-ticker] td::before{color:#6b7480}
  }
  /* ===== Visuelle Aufwertung ===== */
  body{background:#0d1117}
  body.light{background:#f4f6fa}
  .topbar{background:#0d1117;box-shadow:0 8px 24px -12px rgba(0,0,0,.55)}
  body.light .topbar{background:#f4f6fa;box-shadow:0 8px 24px -14px rgba(31,55,99,.22)}
  h1{background:linear-gradient(90deg,#7dd3fc,#a78bfa 55%,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.2px}
  body.light h1{background:linear-gradient(90deg,#1f6feb,#7c3aed 55%,#c026d3);-webkit-background-clip:text;background-clip:text;color:transparent}
  .card{background:linear-gradient(180deg,#171d26,#12161d);transition:transform .18s ease,box-shadow .25s ease,border-color .25s ease}
  .card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.45);border-color:#30425e}
  body.light .card{background:linear-gradient(180deg,#ffffff,#f6f9fd)}
  body.light .card:hover{box-shadow:0 14px 30px rgba(31,55,99,.14);border-color:#c5d3e8}
  .kpi{transition:background .15s ease}
  .card:hover .kpi{background:#0b0f15}
  body.light .card:hover .kpi{background:#e9eef6}
  .sort-btn,.theme-btn,.range-btn,.bench-btn{transition:all .15s ease}
  .sort-btn:hover,.theme-btn:hover{transform:translateY(-1px)}
  .sort-btn.active{background:linear-gradient(180deg,#388bfd,#1f6feb);box-shadow:0 4px 12px rgba(31,111,235,.35)}
  .reload{background:linear-gradient(180deg,#388bfd,#1f6feb);box-shadow:0 4px 12px rgba(31,111,235,.35);transition:all .15s ease}
  .reload:hover{background:linear-gradient(180deg,#4c9bff,#2b7bf5);transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,111,235,.45)}
  .ins-card{transition:transform .18s ease,box-shadow .25s ease}
  .ins-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.4)}
  body.light .ins-card:hover{box-shadow:0 12px 26px rgba(31,55,99,.12)}
  .verdict.strong{box-shadow:0 0 0 1px #1f7a47 inset,0 0 18px rgba(34,197,94,.18)}
  *::-webkit-scrollbar{width:11px;height:11px}
  *::-webkit-scrollbar-track{background:transparent}
  *::-webkit-scrollbar-thumb{background:#30363d;border-radius:8px;border:2px solid #0d1117}
  *::-webkit-scrollbar-thumb:hover{background:#3b82f6}
  html.light{scrollbar-color:#cdd5e0 transparent;scrollbar-width:thin}
  html.light::-webkit-scrollbar,body.light *::-webkit-scrollbar{width:12px;height:12px}
  html.light::-webkit-scrollbar-track,body.light *::-webkit-scrollbar-track{background:transparent}
  html.light::-webkit-scrollbar-thumb,body.light *::-webkit-scrollbar-thumb{background:#dbe1ea;border-radius:9px;border:3px solid #f4f6fa}
  html.light::-webkit-scrollbar-thumb:hover,body.light *::-webkit-scrollbar-thumb:hover{background:#c6cedb}
  /* ===== Markt-Tab (Glas-Segment-Pille) ===== */
  .main-tabs{display:flex;gap:4px;align-self:flex-end;margin-bottom:12px;padding:4px;border:1px solid rgba(127,140,160,.18);border-radius:13px;background:rgba(127,140,160,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 10px rgba(0,0,0,.18)}
  .main-tab{position:relative;z-index:1;background:transparent;border:none;color:#9aa3b2;padding:7px 20px;border-radius:9px;font-size:13.5px;font-weight:700;cursor:pointer;transition:color .25s ease,transform .15s ease}
  .main-tab:hover{color:#e6e9ef}
  .main-tab:active{transform:scale(.97)}
  .main-tab.active{color:#fff;background:linear-gradient(180deg,#388bfd,#1f6feb);box-shadow:0 3px 12px rgba(31,111,235,.42),inset 0 1px 0 rgba(255,255,255,.18);animation:tabPop .28s ease}
  @keyframes tabPop{0%{transform:scale(.94)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
  .main-tab.pulse-hint{color:#fff;animation:mgPulse 1.4s ease-out infinite}
  @media (prefers-reduced-motion: reduce){ .main-tab.pulse-hint{animation:none} }
  body.light .main-tabs{border-color:rgba(31,55,99,.14);background:rgba(31,55,99,.05)}
  body.light .main-tab{color:#5a6376}
  body.light .main-tab:hover{color:#1a1f29}
  body.light .main-tab.active{color:#fff}
  .market-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 28px 0}
  /* News-Feed: Filterleiste + Kategorie-/Quellen-Buttons bleiben beim Scrollen oben angedockt,
     direkt unter dem Header (--head-h). */
  #marketView > .news-filter{position:sticky;top:var(--head-h,0px);z-index:29;background:#0d1117;padding-top:18px;padding-bottom:12px}
  body.light #marketView > .news-filter{background:#f4f6fa}
  .hist-sec{min-width:0;margin-bottom:14px;position:relative}
  .hist-sec .market-bar{padding-left:38px}
  .hist-sec .hist-summary,.hist-sec .hist-chart-wrap,.hist-sec .hist-monthly{padding-left:38px}
  /* Ab genug Breite zwei Spalten im Masonry-Stil (CSS-Columns statt Grid) – jede Spalte
     füllt sich unabhängig von oben nach unten, unterschiedlich hohe Sektionen müssen sich
     dadurch nicht zu gleich hohen Zeilenpaaren zwingen. Hauptchart & Monatstabelle bleiben
     spaltenübergreifend volle Breite. */
  @media(min-width:1300px){
    #historyView{column-count:2;column-gap:14px}
    #historyView .hist-sec{display:inline-block;width:100%;vertical-align:top;break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:14px}
    #historyView .hist-sec[data-sec="value"],#historyView .hist-sec[data-sec="monthly"]{column-span:all}
    #histSubtabsBar,#histPaneTx{column-span:all}
  }
  .hist-sec.sec-dragging{opacity:.4}
  .hist-sec.sec-drag-over-top{box-shadow:inset 0 3px 0 0 #1f6feb}
  .hist-sec.sec-drag-over-bottom{box-shadow:inset 0 -3px 0 0 #1f6feb}
  .hist-sec-drag{position:absolute;left:8px;top:12px;display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:#5a6577;opacity:.5;padding:2px}
  .hist-sec-drag svg{fill:currentColor;stroke:none}
  .hist-sec-drag:hover{opacity:1;color:#9aa3b2}
  .hist-sec-drag:active{cursor:grabbing}
  body.light .hist-sec-drag{color:#9aa1ad}
  body.light .hist-sec-drag:hover{color:#5a6376}
  .hist-summary{display:flex;flex-wrap:wrap;gap:10px 26px;padding:16px 28px 2px}
  .hist-chip{display:flex;flex-direction:column;gap:2px}
  .hist-chip span{font-size:11px;color:#7a8190;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
  .hist-chip b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
  .hist-chip b.pos{color:#22c55e}
  .hist-chip b.neg{color:#ef4444}
  .hist-chart-wrap{position:relative;padding:10px 28px 28px}
  #historyChart svg:not(.ic){display:block;width:100%;height:auto}
  #historyChart .hg-line{stroke:#21262d;stroke-width:1}
  #historyChart .hg-lbl{fill:#7a8190;font-size:10px;font-variant-numeric:tabular-nums}
  #historyChart .hc-cost{fill:none;stroke:#7a8190;stroke-width:1.4;stroke-dasharray:4 4;opacity:.85}
  #historyChart .hist-prevclose{stroke:#5b6478;stroke-width:1.2;stroke-dasharray:3 3;opacity:.8}
  #historyChart .hist-breakeven{stroke:#f59e0b;stroke-width:1.2;stroke-dasharray:5 3;opacity:.85}
  #historyChart .hist-breakeven-lbl{fill:#f59e0b}
  #historyChart .hist-hilo-mark{stroke-width:2;fill:none}
  #historyChart .hist-hilo-mark.hi{stroke:#f5c451}
  #historyChart .hist-hilo-mark.lo{stroke:#60a5fa}
  #historyChart .hist-hilo-vline{stroke-width:1;stroke-dasharray:2 2}
  #historyChart .hist-hilo-vline.hi{stroke:#f5c451}
  #historyChart .hist-hilo-vline.lo{stroke:#60a5fa}
  #historyChart .hist-hilo-lbl{font-weight:700}
  #historyChart .hist-hilo-lbl.hi{fill:#f5c451}
  #historyChart .hist-hilo-lbl.lo{fill:#60a5fa}
  .hist-weekend-note{padding:8px 28px 0;font-size:12px;color:#d8a32a;display:flex;align-items:center;gap:6px}
  .hist-weekend-note svg{width:15px;height:15px;flex:none}
  #historyChart .hist-hit{cursor:default}
  .hist-empty{padding:54px 16px;text-align:center;color:#7a8190;font-size:14px;line-height:1.7}
  .hist-empty svg{width:30px;height:30px;opacity:.5}
  #historyEmptyAll:not([hidden]){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:56vh}
  @media(min-width:1300px){ #historyView #historyEmptyAll{column-span:all} }
  body.light #historyChart .hg-line{stroke:#e3e7ee}
  body.light #historyChart .hg-lbl{fill:#5b6478}
  #historyChart .hg-zero{stroke:#3f4856;stroke-width:1}
  body.light #historyChart .hg-zero{stroke:#c3cad8}
  #historyCompareChart svg:not(.ic){display:block;width:100%;height:auto}
  #historyCompareChart .hg-line{stroke:#21262d;stroke-width:1}
  #historyCompareChart .hg-lbl{fill:#7a8190;font-size:10px;font-variant-numeric:tabular-nums}
  #historyCompareChart .hist-hit{cursor:default}
  #historyCompareChart .hg-zero{stroke:#3f4856;stroke-width:1}
  body.light #historyCompareChart .hg-line{stroke:#e3e7ee}
  body.light #historyCompareChart .hg-lbl{fill:#5b6478}
  body.light #historyCompareChart .hg-zero{stroke:#c3cad8}
  .hist-chart-wrap .hist-vline{stroke:rgba(230,233,239,.45);stroke-width:1;pointer-events:none}
  body.light .hist-chart-wrap .hist-vline{stroke:rgba(31,36,48,.4)}
  .hist-cmp-empty{color:#7a8190;font-size:13px;text-align:center;padding:34px 12px;line-height:1.5}
  body.light .hist-cmp-empty{color:#5b6478}
  .hist-risk .hist-chip{cursor:help}
  .hist-risk .hist-chip b.warn{color:#f59e0b}
  .hist-risk .hist-chip b.mut{color:#8b93a1}
  .hist-chip b.mut{color:#8b93a1}
  .hist-chip small{display:block;font-size:10.5px;color:#7a8190;font-weight:600;text-transform:none;letter-spacing:0}
  /* ===== Steuer & Haltefristen (Verlauf-Sektion + Verkaufsdialog) ===== */
  .tax-cfg{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 18px;padding:12px 28px 4px}
  .tax-cf{display:flex;flex-direction:column;gap:3px;font-size:11px;cursor:help}
  .tax-cf>span{color:#7a8190;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
  .tax-cf input,.tax-cf select{width:92px;background:#0d1117;border:1px solid #21262d;border-radius:6px;color:#c2c9d6;padding:4px 6px;font-size:12px;font-variant-numeric:tabular-nums}
  .tax-cf select{width:118px}
  .tax-cf input:focus,.tax-cf select:focus{outline:none;border-color:#1f6feb}
  .tax-cf i{display:none}
  .tax-eff{align-self:flex-end;font-size:11px;color:#7a8190;text-transform:uppercase;letter-spacing:.4px;font-weight:600;cursor:help;padding-bottom:5px}
  .tax-eff b{color:#c2c9d6;font-size:13px;margin-left:4px;font-variant-numeric:tabular-nums}
  .tax-lots{padding:8px 28px 22px}
  .tax-warn{margin:6px 0 12px;padding:8px 11px;border-radius:8px;font-size:12px;line-height:1.5;
            background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.34);color:#e3b062}
  .tax-tbl tr.tax-grp>td{padding-top:13px;border-bottom:1px solid #21262d}
  .tax-tbl tr.tax-grp:first-child>td{padding-top:2px}
  .tax-tbl tr.tax-grp b{font-size:12.5px}
  .tax-tbl tr.tax-grp .muted{font-size:11px;margin-left:5px}
  .tax-tbl tr.tax-lot td{color:#c2c9d6}
  .tax-tbl tr.tax-lot td.l{padding-left:16px}
  .tax-tbl td.pos{color:#22c55e}
  .tax-tbl td.neg{color:#ef4444}
  .tax-date{cursor:default;font-variant-numeric:tabular-nums}
  .tax-date-in{background:#0d1117;border:1px solid rgba(245,158,11,.5);border-radius:5px;color:#e3b062;
               padding:2px 5px;font-size:11.5px;font-family:inherit}
  .tax-date-in:focus{outline:none;border-color:#1f6feb;color:#c2c9d6}
  /* Teilfreistellung: Schalter statt Anzeige - 0 % vs. 30 % ist eine Entscheidung des Nutzers */
  .tax-tf{background:transparent;border:1px solid #30363d;border-radius:20px;color:#8b93a1;
          padding:2px 10px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
  .tax-tf:hover{border-color:#1f6feb;color:#c2c9d6}
  .tax-tf.on{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.5);color:#22c55e}
  .tax-tf-na{color:#5b6478;cursor:help}
  .tax-st{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;font-size:11.5px;font-weight:600;cursor:help}
  .tax-st.free{color:#22c55e}
  .tax-st.wait{color:#e3b062}
  .tax-st.unk{color:#f59e0b}
  .tax-st.na{color:#5b6478;font-weight:400}
  .tax-bar{display:inline-block;width:44px;height:5px;border-radius:3px;background:rgba(127,140,160,.22);overflow:hidden}
  .tax-bar i{display:block;height:100%;background:#e3b062;border-radius:3px}
  /* Steuer-Vorschau im Verkaufsdialog */
  .sell-tax{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
  .sell-tax:empty{display:none}
  .sell-tax .st-split{font-size:12px;color:#8b93a1}
  .sell-tax .st-split b{font-weight:700}
  .sell-tax .st-split b.pos{color:#22c55e}
  .sell-tax .st-split b.neg{color:#ef4444}
  .sell-tax .st-nums{display:flex;gap:22px;flex-wrap:wrap}
  .sell-tax .st-nums span{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#7a8190;
                          text-transform:uppercase;letter-spacing:.4px;font-weight:600;cursor:help}
  .sell-tax .st-nums b{font-size:16px;font-weight:700;color:#c2c9d6;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
  .sell-tax .st-nums b.neg{color:#ef4444}
  .sell-tax .st-nums b.mut{color:#8b93a1}
  .sell-tax .st-hint{font-size:11.5px;line-height:1.45;padding:6px 9px;border-radius:7px}
  .sell-tax .st-hint.wait{background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.3);color:#e3b062}
  .sell-tax .st-hint.unk{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.28);color:#e08585}
  .sell-tax .st-foot{font-size:10.5px;color:#7a8190;line-height:1.4}
  body.light .tax-cf input,body.light .tax-cf select,body.light .tax-date-in{background:#fff;border-color:#d5dae2;color:#3a4150}
  body.light .tax-cf>span,body.light .tax-eff,body.light .sell-tax .st-nums span,body.light .sell-tax .st-foot{color:#6b7280}
  body.light .tax-eff b,body.light .tax-tbl tr.tax-lot td,body.light .sell-tax .st-nums b{color:#3a4150}
  body.light .tax-tbl tr.tax-grp>td{border-color:#e1e5ec}
  body.light .tax-tf{border-color:#d5dae2;color:#6b7280}
  body.light .tax-warn{background:rgba(245,158,11,.10);color:#9a6b12}
  /* "Werte verbergen" greift ueber die Blur-Liste weiter oben (body.private #historyView ...):
     die Chips sind .hist-chip b, die Lot-Tabelle ist dort als .tax-tbl td.r eingetragen. */
  /* Transaktionen: Filterleiste und Summenzeile bleiben beim Scrollen stehen, damit Suche,
     Filter und die Summen immer erreichbar sind - nur die Liste darunter laeuft durch.
     Der Tabellenkopf dockt eine Ebene tiefer an (Hoehen kommen aus updateHeadHeight). */
  #histPaneTx > .hist-sec{position:sticky;top:calc(var(--head-h,0px) + var(--histsub-h,0px));z-index:28;
                          background:#0d1117;margin-bottom:0;padding-bottom:6px}
  #txTableHost table.tbl thead th{top:calc(var(--head-h,0px) + var(--histsub-h,0px) + var(--txhead-h,0px))}
  body.light #histPaneTx > .hist-sec{background:#f4f6fa}
  .hist-contrib-wrap{position:relative}
  .hist-contrib{display:flex;flex-direction:column;gap:8px;padding:14px 28px 22px}
  .hc-row{display:grid;grid-template-columns:130px 1fr 140px;align-items:center;gap:10px}
  .hc-name-grip{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;cursor:col-resize;z-index:2}
  .hc-name-grip:hover{background:rgba(31,111,235,.18)}
  .hc-name{font-size:12.5px;color:#c9cfda;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hc-bar-wrap{height:16px;border-radius:5px;background:#161b22;overflow:hidden;position:relative}
  .hc-bar{position:absolute;top:0;bottom:0;left:0;border-radius:5px;min-width:2px}
  .hc-bar.pos{background:#22c55e}
  .hc-bar.neg{background:#ef4444}
  .hc-val{font-size:12.5px;font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
  .hc-val small{display:block;font-size:10.5px;font-weight:600;opacity:.85}
  body.light .hc-name{color:#1f2430}
  body.light .hc-bar-wrap{background:#eef1f6}
  @media(max-width:640px){ .hc-row{grid-template-columns:82px 1fr 92px;gap:6px} .hc-name{font-size:11.5px} .hc-val{font-size:11.5px} .hc-name-grip{display:none} }
  /* --- Woher der Depotwert kommt (Wasserfall) --- */
  #historyWaterfall svg:not(.ic),#historyStack svg:not(.ic),#historyRiskRet svg:not(.ic){display:block;width:100%;height:auto}
  #historyWaterfall .hg-line,#historyStack .hg-line,#historyRiskRet .hg-line{stroke:#21262d;stroke-width:1}
  #historyWaterfall .hg-lbl,#historyStack .hg-lbl,#historyRiskRet .hg-lbl{fill:#7a8190;font-size:10px;font-variant-numeric:tabular-nums}
  #historyRiskRet .hg-zero{stroke:#3f4856;stroke-width:1}
  body.light #historyWaterfall .hg-line,body.light #historyStack .hg-line,body.light #historyRiskRet .hg-line{stroke:#e3e7ee}
  body.light #historyWaterfall .hg-lbl,body.light #historyStack .hg-lbl,body.light #historyRiskRet .hg-lbl{fill:#5b6478}
  body.light #historyRiskRet .hg-zero{stroke:#c3cad8}
  .wf-link{stroke:#7a8190;stroke-width:1;stroke-dasharray:3 3;opacity:.7}
  .wf-bar{cursor:default}
  .wf-val{fill:#c9cfda;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}
  .wf-val.pos{fill:#22c55e}.wf-val.neg{fill:#ef4444}
  .wf-name{fill:#7a8190;font-size:10.5px}
  body.light .wf-val{fill:#3a4252}
  body.light .wf-name{fill:#5b6478}
  /* --- Zusammensetzung im Verlauf: Legende --- */
  .stk-lg{display:inline-flex;align-items:center;gap:6px;background:#0d1117;border:1px solid #21262d;border-radius:8px;padding:4px 9px;font-size:11.5px;color:#c9cfda}
  .stk-lg i{width:9px;height:9px;border-radius:2px;display:inline-block;flex:none}
  .stk-lg b{font-variant-numeric:tabular-nums}
  .stk-lg small{font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}
  body.light .stk-lg{background:#eff2f7;border-color:#e1e5ec;color:#1f2430}
  /* --- Risiko/Ertrag-Blasen --- */
  .rr-pt{cursor:default}
  .rr-name{fill:#9aa3b2;font-size:10px}
  .rr-axis{fill:#7a8190;font-size:10.5px;font-weight:600}
  .rr-med{stroke:#7a8190;stroke-width:1;stroke-dasharray:4 4;opacity:.55}
  body.light .rr-name{fill:#5b6478}
  /* --- Positionen je Monat --- */
  .pm-table th.l{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pm-table tr.pm-total th,.pm-table tr.pm-total td{border-top:2px solid #30363d;font-weight:700}
  body.light .pm-table tr.pm-total th,body.light .pm-table tr.pm-total td{border-top-color:#d8dee9}
  /* --- Monatsrückblick --- */
  .rc-row{display:flex;gap:12px;align-items:baseline;padding:8px 28px;border-bottom:1px solid #21262d;font-size:12.5px;line-height:1.5}
  .rc-row:last-child{border-bottom:none}
  .rc-mon{flex:none;width:120px;color:#7a8190;font-weight:600}
  .rc-txt{color:#c9cfda}
  .rc-abs{font-variant-numeric:tabular-nums}
  body.light .rc-row{border-bottom-color:#e6eaf1}
  body.light .rc-mon{color:#5b6478}
  body.light .rc-txt{color:#1f2430}
  /* --- Entnahme-Kachel im Depot --- */
  .inc-ctl{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
  .inc-slider{display:flex;align-items:center;gap:10px;font-size:12px}
  .inc-slider input[type=range]{flex:1;min-width:120px;max-width:240px;accent-color:#1f6feb}
  .inc-slider b{font-variant-numeric:tabular-nums;min-width:44px}
  #historyDdChart svg:not(.ic),#historyHisto svg:not(.ic),#historyProj svg:not(.ic){display:block;width:100%;height:auto}
  #historyDdChart .hg-line,#historyHisto .hg-line,#historyProj .hg-line{stroke:#21262d;stroke-width:1}
  #historyDdChart .hg-lbl,#historyHisto .hg-lbl,#historyProj .hg-lbl{fill:#7a8190;font-size:10px;font-variant-numeric:tabular-nums}
  #historyDdChart .hg-zero,#historyHisto .hg-zero,#historyProj .hg-zero{stroke:#3f4856;stroke-width:1}
  body.light #historyDdChart .hg-line,body.light #historyHisto .hg-line,body.light #historyProj .hg-line{stroke:#e3e7ee}
  body.light #historyDdChart .hg-lbl,body.light #historyHisto .hg-lbl,body.light #historyProj .hg-lbl{fill:#5b6478}
  body.light #historyDdChart .hg-zero,body.light #historyHisto .hg-zero,body.light #historyProj .hg-zero{stroke:#c3cad8}
  .hist-monthly{padding:6px 28px 12px;overflow-x:auto}
  .mon-table{border-collapse:collapse;font-size:11px}
  .mon-table th,.mon-table td{padding:5px 7px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
  .mon-table th{color:#7a8190;font-weight:600}
  .mon-table th.l,.mon-table td.l{text-align:left;color:#c9cfda;font-weight:700}
  .mon-table td.cc{color:#e6e9ef;font-weight:600;border-radius:4px;min-width:44px}
  .mon-table td.cc[data-month]{cursor:pointer;transition:filter .15s}
  .mon-table td.cc[data-month]:hover{filter:brightness(1.35)}
  .mon-table th.yr,.mon-table td.yr{font-weight:700;border-left:2px solid #21262d;color:#e6e9ef;border-radius:4px}
  /* Kopfzelle der Summenspalte ("Jahr"/"Gesamt") wie die uebrigen Kopfzeilen faerben - der helle
     Zellenton von td.yr wuerde im hellen Design hell auf hell stehen und waere unlesbar. */
  .mon-table th.yr{color:#c9cfda}
  .mon-table td.empty{color:#3a4150}
  .mon-back{background:none;border:none;padding:0;font:inherit;font-weight:700;color:#c9cfda;cursor:pointer}
  .mon-back:hover{color:#3b82f6}
  body.light .mon-table th.l,body.light .mon-table td.l{color:#3a4150}
  body.light .mon-table td.cc,body.light .mon-table td.yr{color:#1f2430}
  body.light .mon-table th.yr,body.light .mon-table td.yr{border-left-color:#e3e7ee}
  body.light .mon-table th.yr{color:#3a4150}
  body.light .mon-back{color:#3a4150}
  body.light .mon-back:hover{color:#1f6feb}
  .mon-daily-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px}
  .mon-nav-bar{display:flex;align-items:center;gap:10px;width:200px}
  .mon-daily-label{flex:1;font-weight:700;color:#c9cfda;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mon-nav{flex:0 0 26px;background:none;border:1px solid #21262d;color:#aab2c0;width:26px;height:26px;border-radius:6px;font-size:15px;line-height:1;cursor:pointer;transition:.15s}
  .mon-nav:hover:not(:disabled){border-color:#3b82f6;color:#e6e9ef}
  .mon-nav:disabled{opacity:.3;cursor:not-allowed}
  body.light .mon-daily-label{color:#3a4150}
  body.light .mon-nav{border-color:#dfe3ea;color:#3a4150}
  .mon-week-head{display:flex;gap:5px;margin-bottom:4px}
  .mon-week-head span{width:46px;text-align:center;font-size:10px;font-weight:600;color:#7a8190}
  .mon-weeks{display:flex;flex-direction:column;gap:5px}
  .mon-week{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:6px;padding:4px}
  .mon-week-days{display:flex;gap:5px;flex-wrap:wrap}
  .mon-week-info{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:56px;padding-right:4px}
  .mon-week-kw{font-size:10px;font-weight:600;color:#7a8190;white-space:nowrap}
  .mon-week-ret{font-size:12px;font-weight:700;white-space:nowrap}
  .mon-week.w0{background:rgba(59,130,246,.07)}
  .mon-week.w1{background:rgba(255,255,255,.03)}
  .mon-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:46px;height:36px;border-radius:5px;font-size:11px;font-weight:600;color:#e6e9ef;font-variant-numeric:tabular-nums}
  .mon-day b{font-size:9px;font-weight:600;opacity:.65}
  .mon-day.empty{color:#3a4150;background:transparent;border:1px dashed #21262d}
  .mon-day.holiday{box-shadow:inset 0 0 0 2px #f59e0b}
  .mon-day.empty.holiday{border:1px solid #f59e0b}
  .mon-day.pad{visibility:hidden}
  body.light .mon-day{color:#1f2430}
  body.light .mon-day.empty{border-color:#d7dce5}
  body.light .mon-week.w0{background:rgba(31,111,235,.06)}
  body.light .mon-week.w1{background:rgba(0,0,0,.025)}
  .hist-bench{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
  .hist-bench .hb-cap{font-size:11.5px;color:#7a8190;font-weight:600}
  .hist-chip.perf{flex-direction:row;align-items:center;gap:8px;cursor:pointer;user-select:none;border-radius:8px;padding:3px 7px;transition:.12s}
  .hist-chip.perf:hover{background:rgba(255,255,255,.06)}
  .hist-chip.perf.off{opacity:.45}
  .hist-chip.perf.off .hc-dot{background:transparent!important;box-shadow:inset 0 0 0 2px #7a8190}
  .hist-chip.perf.off b,.hist-chip.perf.off span{text-decoration:line-through;text-decoration-thickness:1px}
  .hist-chip.perf .hc-dot{width:10px;height:10px;border-radius:50%;flex:none}
  .hist-chip.perf span{text-transform:none;font-size:13px;color:#c9cfda;font-weight:600;letter-spacing:0}
  .hist-chip.perf b{font-size:15px}
  body.light .hist-chip.perf span{color:#3a4150}
  body.light .hist-chip.perf:hover{background:rgba(0,0,0,.05)}
  /* Depot-Heatmap */
  .heatmap-wrap{padding:24px 28px}
  .hm-ranges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
  .hm-breadth{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
  .hm-group .hm-breadth{margin:13px 2px 1px}
  /* Heatmap: Zeitraum-Buttons + Gesamt-Marktbreite + Legende bleiben beim Scrollen oben angedockt,
     direkt unter der Toolbar (--head-h + --bar-h), gestapelt anhand ihrer gemessenen Höhen. */
  #heatmapWrap > .hm-ranges{position:sticky;top:calc(var(--head-h,0px) + var(--bar-h,0px));z-index:25;background:#0d1117;padding-top:14px}
  #heatmapWrap > .hm-breadth{position:sticky;top:calc(var(--head-h,0px) + var(--bar-h,0px) + var(--hm-r-h,0px));z-index:24;background:#0d1117}
  #heatmapWrap > .hm-scale{position:sticky;top:calc(var(--head-h,0px) + var(--bar-h,0px) + var(--hm-r-h,0px) + var(--hm-b-h,0px));z-index:23;background:#0d1117;padding-bottom:10px}
  body.light #heatmapWrap > .hm-ranges,body.light #heatmapWrap > .hm-breadth,body.light #heatmapWrap > .hm-scale{background:#f4f6fa}
  #hmTip{z-index:50}
  .hm-group{margin-bottom:0}
  .hm-group:last-child{margin-bottom:0}
  .hm-group h3{display:flex;align-items:center;flex-wrap:wrap;background:#11161d;font-size:13px;font-weight:700;color:#e6e9ef;padding:9px 14px;margin:0 -28px;border-bottom:1px solid #21262d;cursor:pointer;user-select:none}
  .hm-group h3:hover{filter:brightness(1.15)}
  .hm-group h3 .hm-tg{display:inline-block;width:11px;text-align:center;margin-right:8px;color:#7a8190;transition:transform .15s ease;font-size:11px}
  .hm-group.collapsed h3 .hm-tg{transform:rotate(-90deg)}
  .hm-group.collapsed .hm-breadth{display:none}
  .hm-group h3 .hm-n{font-size:12px;font-weight:600;color:#7a8190;background:#0d1117;border:1px solid #21262d;border-radius:20px;padding:2px 9px;margin-left:8px}
  .hm-board{position:relative;width:100%;border-radius:10px;overflow:hidden;background:#0d1117;border:1px solid #21262d;margin-top:14px}
  .hm-cell{position:absolute;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;box-sizing:border-box;border:1px solid rgba(13,17,23,.85);transition:filter .1s ease}
  .hm-cell:hover{filter:brightness(1.14);z-index:6;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
  .hm-cell .hm-c-sym{font-weight:800;line-height:1;letter-spacing:-.5px;text-shadow:1px 1px 0 rgba(0,0,0,.7),-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.5)}
  .hm-cell .hm-c-chg{font-weight:700;opacity:.98;margin-top:3px;text-shadow:1px 1px 0 rgba(0,0,0,.7),-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.5);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .hm-cell .hm-c-abs{font-weight:600;opacity:.92;margin-top:1px;text-shadow:1px 1px 0 rgba(0,0,0,.7),-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7)}
  .hm-cell .hm-c-px{opacity:.85;margin-top:1px;text-shadow:1px 1px 0 rgba(0,0,0,.65),-1px -1px 0 rgba(0,0,0,.65),1px -1px 0 rgba(0,0,0,.65),-1px 1px 0 rgba(0,0,0,.65)}
  .hm-scale{display:flex;align-items:center;gap:0;margin:2px 0 2px;font-size:11px}
  .hm-scale .hm-l-lbl{font-weight:700;color:#7a8190;margin-right:12px}
  .hm-scale .hm-l-step{flex:0 0 44px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.7),-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7)}
  .hm-scale .hm-l-step:first-of-type{border-radius:5px 0 0 5px}
  .hm-scale .hm-l-step:last-child{border-radius:0 5px 5px 0}
  body.light .hm-board{background:#e7ebf1;border-color:#dfe3ea}
  body.light .hm-cell{border-color:rgba(255,255,255,.9)}
  body.light .hm-group h3{background:#eef1f6;color:#0d1117;border-bottom-color:#dfe3ea}
  body.light .hm-group h3 .hm-tg{color:#55607a}
  body.light .hm-group h3 .hm-n{background:#eff2f7;border-color:#cfd6e2;color:#3a4358}
  .news-list{padding:12px 28px 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:11px}
  .news-item{display:flex;gap:13px;align-items:flex-start;padding:12px 13px;border-radius:12px;border:1px solid #21262d;background:#13181f;text-decoration:none;transition:.14s}
  .news-item:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
  .news-thumb{width:66px;height:66px;border-radius:10px;flex-shrink:0;object-fit:cover;background:#0d1117;border:1px solid #21262d}
  .news-thumb.fav{object-fit:contain;padding:13px}
  .news-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
  .news-tag{font-size:10px;font-weight:700;color:#9aa3b2;background:#1c2330;border:1px solid #21262d;border-radius:6px;padding:2px 7px}
  body.light .news-tag{background:#eef2f8;border-color:#dfe3ea;color:#55607a}
  .news-tag.held{color:#4ade80;background:#123922;border-color:#22c55e55}
  body.light .news-tag.held{color:#15803d;background:#dcfce7;border-color:#86efac}
  .news-item.held{border-color:#22c55e55}
  .news-body{flex:1;min-width:0}
  .news-item .nh{font-size:13.5px;font-weight:700;color:#e6e9ef;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .news-item .nd{font-size:11.5px;color:#9aa3b2;margin-top:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .news-item .nm{font-size:10.5px;color:#7a8190;margin-top:6px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
  .news-item.read{opacity:.55}
  .news-item.read:hover{opacity:.8}
  .news-item.read .nh{color:#9aa3b2;font-weight:600}
  .news-item.read .nm::before{content:"\2713 gelesen \00b7 ";color:#22c55e}
  body.light .news-item{background:#fff}
  body.light .news-item:hover{box-shadow:0 8px 20px rgba(31,55,99,.12)}
  body.light .news-item .nh{color:#1f2430}
  body.light .news-thumb{background:#f4f6fa}
  .news-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 28px 0}
  .news-filter #newsSearch{min-width:230px}
  .news-fbtns{display:inline-flex;gap:4px;background:#13181f;border:1px solid #21262d;border-radius:9px;padding:3px}
  .news-fbtn{background:transparent;border:0;color:#aab2c0;padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer;transition:.13s}
  .news-fbtn:hover{color:#e6e9ef}
  .news-fbtn.active{background:#3b82f6;color:#fff}
  body.light .news-fbtns{background:#fff;border-color:#dfe3ea}
  body.light .news-fbtn{color:#55607a}
  body.light .news-fbtn.active{color:#fff}
  .news-src{min-width:150px;padding:7px 10px;cursor:pointer}
  .news-progress{display:flex;align-items:center;gap:12px;padding:12px 28px 0}
  .news-progress[hidden]{display:none}
  .news-progress-bar{flex:1;height:6px;background:#1c2330;border-radius:6px;overflow:hidden}
  .news-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#3b82f6,#22c55e);transition:width .25s ease}
  .news-progress-lbl{font-size:11.5px;color:#9aa3b2;font-weight:700;white-space:nowrap}
  body.light .news-progress-bar{background:#e7ebf1}
  /* Schmale Screens: weniger Seitenabstand, News einspaltig */
  @media (max-width:640px){
    .heatmap-wrap,.news-list,.news-filter,.news-progress{padding-left:14px;padding-right:14px}
    .news-list{grid-template-columns:1fr}
  }
  @keyframes pulseUp{0%{background:rgba(34,197,94,0)}8%{background:rgba(34,197,94,.5)}45%{background:rgba(34,197,94,.45)}100%{background:rgba(34,197,94,0)}}
  @keyframes pulseDown{0%{background:rgba(239,68,68,0)}8%{background:rgba(239,68,68,.5)}45%{background:rgba(239,68,68,.45)}100%{background:rgba(239,68,68,0)}}
  .pulse-up{animation:pulseUp 1.2s ease-out}
  .pulse-down{animation:pulseDown 1.2s ease-out}
  /* Live-Kurs zählt beim Update sanft hoch/runter – feste Ziffernbreite gegen Springen */
  .tbl tbody td{font-variant-numeric:tabular-nums}
  .card .px-val{font-variant-numeric:tabular-nums}
  .card .px-val{border-radius:5px;padding:0 3px;margin:0 -3px}
  @keyframes glowUp{0%{box-shadow:0 0 0 0 rgba(34,197,94,0)}10%{box-shadow:0 0 0 3px rgba(34,197,94,.95)}45%{box-shadow:0 0 0 3px rgba(34,197,94,.8)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
  @keyframes glowDown{0%{box-shadow:0 0 0 0 rgba(239,68,68,0)}10%{box-shadow:0 0 0 3px rgba(239,68,68,.95)}45%{box-shadow:0 0 0 3px rgba(239,68,68,.8)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
  .glow-up{animation:glowUp 2.6s ease-out;z-index:2}
  .glow-down{animation:glowDown 2.6s ease-out;z-index:2}
  .t-daypl{display:block;font-size:11px;font-weight:700;margin-top:1px}
  .t-totret{display:block;font-size:11px;font-weight:700;margin-top:1px}
  .t-totret.pos{color:#22c55e}
  .t-totret.neg{color:#ef4444}
  .t-stack{display:inline-flex;flex-direction:column;align-items:flex-end;gap:0}
  .t-avg{display:block;font-size:10.5px;font-weight:600;color:#8b949e;margin-top:1px}
  .t-be{display:block;margin-top:3px;text-align:right}
  .t-pos-btns{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:5px 0 0 auto}
  .t-pos-lbl{font-size:10.5px;font-weight:600;color:#8b949e;margin-right:1px}
  body.light .t-pos-lbl{color:#6b7480}
  .t-pos-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:13px;font-weight:800;font-family:inherit;line-height:1;padding:0;background:#161b22;border:1.5px solid #2a3340;color:#9aa4b2;transition:background .12s,border-color .12s,color .12s,transform .1s}
  .t-pos-btn:hover{transform:scale(1.12)}
  .t-pos-btn.t-pos-minus:hover{background:#ef444422;border-color:#ef4444aa;color:#ff8a8a}
  .t-pos-btn.t-pos-plus:hover{background:#22c55e22;border-color:#22c55eaa;color:#7ee2a8}
  body.light .t-pos-btn{background:#fff;border-color:#d0d7de;color:#57606a}
  body.light .t-pos-btn.t-pos-minus:hover{background:#ef444414;border-color:#ef4444aa;color:#c23636}
  body.light .t-pos-btn.t-pos-plus:hover{background:#22c55e14;border-color:#22c55eaa;color:#1a8245}
  .t-be-bar{display:block;height:3px;width:84px;max-width:100%;border-radius:2px;background:rgba(139,148,165,.2);overflow:hidden;margin-left:auto}
  .t-be-bar i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#e0a02a,#f5c451)}
  .t-be-pos .t-be-bar i{background:linear-gradient(90deg,#16a34a,#22c55e)}
  .t-be-txt{display:block;font-size:10px;font-weight:600;color:#8b93a0;margin-top:2px;white-space:nowrap}
  .t-be-near .t-be-txt{color:#d8a32a}
  .t-be-pos .t-be-txt{color:#22c55e}
  .t-be-badge{font-size:10px;font-weight:600;color:#d8a32a}
  .t-be-badge::before{content:"· ";opacity:.55}
  body.light .t-avg{color:#6b7480}
  body.light .t-be-near .t-be-txt,body.light .t-be-badge{color:#b45309}
  @keyframes beFlash{0%{background:rgba(34,197,94,0)}25%{background:rgba(34,197,94,.32)}100%{background:rgba(34,197,94,0)}}
  .be-flash{animation:beFlash 1.5s ease-out}
  /* Innertages-Chart: kurze Zeichen-Animation, wenn ein neuer Server-Punkt eintrifft (siehe renderHistoryValue) */
  @keyframes histLineDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  .hist-line-anim{stroke-dasharray:1;animation:histLineDraw .9s ease-out}
  @keyframes histDotPulse{0%{r:3.5;opacity:1}50%{r:7;opacity:.35}100%{r:3.5;opacity:1}}
  .hist-dot-anim{animation:histDotPulse 1s ease-out}
  .live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-left:7px;vertical-align:middle;animation:liveBlink 1.6s ease-in-out infinite}
  @keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.25}}
  /* Monochrome line icons (currentColor) */
  svg.ic{width:1.12em;height:1.12em;flex:none;display:inline-block;vertical-align:-0.16em;stroke:currentColor;fill:none}
  i.ic{display:inline-flex;align-items:center;font-style:normal}
  h1 svg.ic,h2 svg.ic,h3 svg.ic,.tb-title svg.ic{vertical-align:-0.12em;margin-right:.12em}
  .main-tab svg.ic{vertical-align:-0.16em}
  /* Larger icons in small/uppercase label areas */
  .dp span svg.ic,.ps-line span svg.ic,.pe-lbl svg.ic,.flag svg.ic,.pl-line svg.ic{width:15px;height:15px;vertical-align:-0.22em}
  .ds-title svg.ic,.grid-sep svg.ic,.grp-row svg.ic{vertical-align:-0.14em}
  .has-search-ic{background-repeat:no-repeat;background-position:11px center;background-size:14px 14px;padding-left:32px;
    background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b93a3'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cline%20x1='21'%20y1='21'%20x2='16.65'%20y2='16.65'/%3E%3C/svg%3E")}
  /* ===== Handy Hochkant: nur das Depot (Zusammenfassung + Tabelle) ===== */
  @media (max-width:540px) and (orientation:portrait){
    /* Tabs und Zusatzbereiche ausblenden */
    .main-tabs{display:none!important}
    .toolbar{display:none!important}
    #insights{display:none!important}
    #heatmapWrap{display:none!important}
    /* Von den Bedienelementen nur die Einstellungen behalten */
    #importCsvBtn,#exportCsvBtn,#alertBellWrap,#reloadBtn{display:none!important}
    /* Verkaufen-Button aus Karten und Tabelle - auf dem Handy nur zum Ansehen gedacht */
    .t-pos-btns{display:none!important}
    .status-line{display:none!important}
    .status{position:absolute;top:9px;right:12px;z-index:30;min-width:0}
    .status-row{gap:7px}
    .theme-btn{padding:6px 9px;font-size:11.5px}
    .settings-pop .sel-field>select{padding:6px 26px 6px 26px}
    .settings-pop .sel-field>.ic{left:9px}
    /* Einstellungsknopf nur als Icon (Text ausblenden) – spart Platz auf dem Handy */
    .settings-menu>summary .btn-label{display:none}
    .settings-menu>summary{padding:7px 9px}
    .settings-menu>summary .ic{margin:0}
    /* Kompakte Titelzeile: Marke + Einstellungen (oben rechts) + Depot-Zusammenfassung */
    header{position:relative;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:9px 12px}
    .head-left{width:100%;align-items:center}
    .brand{gap:9px;padding-bottom:0}
    .head-avatar{width:30px;height:30px}
    .head-title h1{font-size:17px}
    .head-title .sub{display:none}
    .head-right{width:100%;padding-bottom:0;margin-top:2px;justify-content:flex-start}
    #depotBar{width:100%;gap:8px 18px;font-size:12px;padding-bottom:0}
    .depot .dp b{font-size:15px}
    /* Gruppen-Kopfzeile (Summen) sauber untereinander statt überlaufen */
    #tableWrap tr.grp-row td{padding:11px 13px}
    #tableWrap tr.grp-row td .grp-tot{float:none;display:grid;grid-template-columns:1fr;gap:6px;width:100%;margin-top:9px;white-space:normal}
    #tableWrap tr.grp-row td .grp-tot .gt-i{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding:0;border-left:none;font-size:11.5px}
    #tableWrap tr.grp-row td .grp-tot .gt-i b{font-size:12.5px;text-align:right}
    /* Mehr Platz für die Tabellenkarten */
    #tableWrap tr[data-ticker]{margin:8px 6px}
    /* Nur ansehen: Karten/Badges anzeigen, aber Detail-/Limit-Dialoge nicht öffnen
       (Limits etc. lassen sich auf dem Handy ohnehin nicht sinnvoll anpassen) */
    #tableWrap tr[data-ticker]{cursor:default;pointer-events:none}
    #grid{padding:10px 6px}
    .grid-sep{margin:0 -6px}
  }

  /* ===== Anmeldung (#authGate) — eigener Namensraum "auth-", damit nichts mit
     bestehenden generischen Klassen (.err, .chk, ...) kollidiert. ===== */
  #authGate{display:none}
  html.needs-auth body > *:not(#authGate){display:none !important}
  html.needs-auth #authGate{display:flex}
  #authGate{
    position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;overflow:hidden;
    font-family:-apple-system,Segoe UI,Roboto,sans-serif;color:#e6e9ef;
    background:radial-gradient(120% 120% at 50% 30%,#272b31 0%,#14161a 72%);
  }
  .auth-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
  .auth-glow{position:absolute;top:50%;left:50%;width:70vmax;height:70vmax;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0 28%,rgba(150,160,175,.12) 42%,transparent 58%,rgba(120,130,145,.10) 78%,transparent 100%);animation:authBgRotate 34s linear infinite}
  .auth-blob{position:absolute;border-radius:50%;filter:blur(64px);opacity:.55;mix-blend-mode:screen}
  .auth-blob.b1{width:50vmax;height:50vmax;background:radial-gradient(circle,#3a4048,transparent 68%);top:-16vmax;left:-12vmax;animation:authBgDrift1 15s ease-in-out infinite}
  .auth-blob.b2{width:44vmax;height:44vmax;background:radial-gradient(circle,#2c3137,transparent 68%);bottom:-18vmax;right:-14vmax;animation:authBgDrift2 19s ease-in-out infinite}
  .auth-blob.b3{width:38vmax;height:38vmax;background:radial-gradient(circle,#454b54,transparent 70%);top:36%;left:54%;animation:authBgDrift3 17s ease-in-out infinite}
  .auth-grid{position:absolute;inset:-2px;background-image:linear-gradient(rgba(127,140,160,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,140,160,.07) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 68%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 68%)}
  .auth-sym{position:absolute;bottom:-6%;font-weight:800;font-family:Arial,Helvetica,sans-serif;line-height:1;opacity:0;text-shadow:0 0 10px currentColor;will-change:transform,opacity;animation:authBgRise 10s linear infinite}
  .auth-sym.s1{left:8%;font-size:40px;color:rgba(63,176,255,.5);animation-duration:5.5s}
  .auth-sym.s2{left:20%;font-size:56px;color:rgba(246,185,59,.55);animation-duration:4.6s;animation-delay:.8s}
  .auth-sym.s3{left:34%;font-size:36px;color:rgba(73,242,107,.45);animation-duration:6.2s;animation-delay:1.7s}
  .auth-sym.s4{left:48%;font-size:50px;color:rgba(120,160,255,.5);animation-duration:5s;animation-delay:.3s}
  .auth-sym.s5{left:62%;font-size:34px;color:rgba(73,242,107,.45);animation-duration:6.6s;animation-delay:2.5s}
  .auth-sym.s6{left:76%;font-size:52px;color:rgba(246,185,59,.5);animation-duration:5.3s;animation-delay:1.2s}
  .auth-sym.s7{left:88%;font-size:38px;color:rgba(63,176,255,.45);animation-duration:6.1s;animation-delay:3.1s}
  .auth-ticker{position:absolute;left:0;right:0;bottom:22px;height:26px;display:flex;align-items:center;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
  .auth-track{display:flex;gap:28px;width:max-content;white-space:nowrap;animation:authBgTape 28s linear infinite}
  @keyframes authBgRotate{to{transform:translate(-50%,-50%) rotate(360deg)}}
  @keyframes authBgDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(7vmax,5vmax)}}
  @keyframes authBgDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-6vmax,-5vmax)}}
  @keyframes authBgDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(-5vmax,4vmax)}}
  @keyframes authBgRise{0%{transform:translateY(0) scale(.85);opacity:0}12%{opacity:.42}88%{opacity:.42}100%{transform:translateY(-118vh) scale(1.05);opacity:0}}
  @keyframes authBgTape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){.auth-glow,.auth-blob,.auth-sym,.auth-track{animation:none}}

  .auth-card{
    position:relative;z-index:2;
    width:380px;max-width:calc(100vw - 32px);background:#161b22;border:1px solid #21262d;
    border-radius:16px;padding:44px 42px 38px;box-shadow:0 20px 60px rgba(0,0,0,.45);
    animation:authCardIn .55s cubic-bezier(.16,1,.3,1) both;
  }
  @property --auth-ring-a{syntax:'<angle>';inherits:false;initial-value:0deg}
  .auth-card::before{
    content:"";position:absolute;inset:-1px;border-radius:17px;z-index:-1;opacity:.6;
    background:conic-gradient(from var(--auth-ring-a),#1e90ff,#38d67a,#fc6d26,#1e90ff);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;padding:1px;
    animation:authRingSpin 7s linear infinite;
  }
  @keyframes authCardIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes authRingSpin{to{--auth-ring-a:360deg}}
  @media (prefers-reduced-motion:reduce){.auth-card,.auth-card::before{animation:none}}
  .auth-brand{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:32px}
  .auth-brand-logo{
    position:relative;width:56px;height:56px;border-radius:50%;
    background:linear-gradient(135deg,#1e90ff,#38d67a);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 20px rgba(31,111,235,.35);
    animation:authLogoFloat 2.6s ease-in-out infinite;
  }
  .auth-brand-logo::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(64,150,255,.55);animation:authLogoPulse 2.4s ease-out infinite}
  .auth-brand-logo{overflow:hidden}
  .auth-brand-logo svg{width:100%;height:100%;display:block}
  @keyframes authLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  @keyframes authLogoPulse{0%{transform:scale(.92);opacity:.7}100%{transform:scale(1.55);opacity:0}}
  .auth-brand h1{
    font-size:17px;font-weight:700;margin:0;background-size:200% 100%;
    background-image:linear-gradient(90deg,#e6e9ef,#9fd7ff 50%,#e6e9ef);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:authTitleShine 5s ease-in-out infinite;
  }
  @keyframes authTitleShine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
  .auth-brand p{font-size:12px;color:#7a8190;margin:2px 0 0}

  .auth-tabs{position:relative;display:flex;background:#0d1117;border:1px solid #21262d;border-radius:10px;padding:3px;margin-bottom:22px}
  .auth-tab-indicator{position:absolute;top:3px;bottom:3px;left:3px;border-radius:8px;background:#1f6feb;box-shadow:0 2px 10px rgba(31,111,235,.4);transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s;z-index:0}
  .auth-tab{position:relative;z-index:1;flex:1;text-align:center;padding:8px 0;font-size:13px;font-weight:600;color:#7a8190;border-radius:8px;cursor:pointer;user-select:none;transition:color .15s}
  .auth-tab.active{color:#fff}

  #authGate form{display:none;flex-direction:column;gap:14px}
  #authGate form.active{display:flex}

  .auth-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#9aa4b2;font-weight:600}
  .auth-input-wrap{position:relative;display:flex;align-items:center}
  .auth-field-ic{position:absolute;left:12px;color:#5b6472;display:flex;pointer-events:none}
  .auth-field-ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  #authGate input{
    width:100%;background:#0d1117;border:1px solid #21262d;color:#e6e9ef;
    border-radius:9px;padding:10px 12px;font-size:14px;outline:none;
    transition:border-color .15s,box-shadow .15s;
  }
  #authGate .auth-input-wrap input{padding-left:36px}
  #authGate input:focus{border-color:#1f6feb;box-shadow:0 0 0 3px rgba(31,111,235,.15)}
  #authGate input::placeholder{color:#4b5563}
  .auth-toggle-pw{
    position:absolute;right:10px;background:none;border:none;color:#7a8190;
    cursor:pointer;padding:4px;display:flex;align-items:center;
  }
  .auth-toggle-pw:hover{color:#aab2c0}
  .auth-toggle-pw svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

  .auth-row-between{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:-4px}
  .auth-chk{display:flex;align-items:center;gap:6px;color:#9aa4b2;cursor:pointer}
  #authGate .auth-chk input{width:auto;padding:0;background:none;border:none;border-radius:0;accent-color:#1f6feb}
  .auth-link{color:#4f9dff;text-decoration:none;cursor:pointer}
  .auth-link:hover{text-decoration:underline}

  .auth-btn-primary{
    margin-top:6px;background:#1f6feb;border:none;color:#fff;font-size:14px;font-weight:700;
    padding:11px 0;border-radius:9px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;
  }
  .auth-btn-primary:hover{background:#388bfd;transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,111,235,.35)}
  .auth-btn-primary:active{transform:translateY(0)}
  .auth-btn-primary:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}

  .auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0 2px;color:#6e7681;font-size:11px}
  .auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:#30363d}
  .auth-btn-secondary{
    margin-top:2px;background:transparent;border:1px solid #30363d;color:#c9d1d9;font-size:13px;font-weight:600;
    padding:9px 0;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;
    transition:background .15s,border-color .15s;
  }
  .auth-btn-secondary .ic{width:16px;height:16px}
  .auth-btn-secondary:hover{background:#1c2128;border-color:#484f58}
  .auth-btn-secondary:disabled{opacity:.6;cursor:default}
  body.light .auth-divider{color:#6b7280}
  body.light .auth-divider::before,body.light .auth-divider::after{background:#dfe3ea}
  body.light .auth-btn-secondary{border-color:#dfe3ea;color:#3a4150}
  body.light .auth-btn-secondary:hover{background:#eff2f7;border-color:#c3ccd8}

  .auth-err{display:none;background:#3a1212;border:1px solid #5a1f1f;color:#f87171;font-size:12px;border-radius:8px;padding:8px 10px;margin-bottom:14px}

  .auth-pw-strength{display:flex;align-items:center;gap:8px;margin-top:7px}
  .auth-pw-strength-bar{flex:1;height:4px;border-radius:3px;background:#21262d;overflow:hidden}
  .auth-pw-strength-bar span{display:block;height:100%;width:0%;border-radius:3px;background:#ff6b66;transition:width .2s,background-color .2s}
  .auth-pw-strength-label{font-size:11px;font-weight:600;color:#7a8190;white-space:nowrap}

  /* --- Kalender der Tagesrenditen --- */
  .cal-scroll{overflow-x:auto;padding-bottom:4px}
  .cal-scroll svg{display:block}
  .cal-cell{stroke:rgba(127,140,160,.16);stroke-width:.6;cursor:default}
  .cal-cell.off{stroke-dasharray:2 2}
  /* --- Monatsspannen --- */
  #historyMCandles svg:not(.ic),#historyBeta svg:not(.ic),#historyCalendar svg:not(.ic){display:block;width:100%;height:auto}
  #historyMCandles .hg-line,#historyBeta .hg-line{stroke:#21262d;stroke-width:1}
  #historyMCandles .hg-lbl,#historyBeta .hg-lbl,#historyCalendar .hg-lbl{fill:#7a8190;font-size:10px;font-variant-numeric:tabular-nums}
  #historyBeta .hg-zero{stroke:#3f4856;stroke-width:1}
  body.light #historyMCandles .hg-line,body.light #historyBeta .hg-line{stroke:#e3e7ee}
  body.light #historyMCandles .hg-lbl,body.light #historyBeta .hg-lbl,body.light #historyCalendar .hg-lbl{fill:#5b6478}
  body.light #historyBeta .hg-zero{stroke:#c3cad8}
  .mc-body{cursor:default}
  /* --- Depot gegen Markt --- */
  .bt-pt{cursor:default}
  .bt-fit{stroke:#f59e0b;stroke-width:2;stroke-dasharray:6 4;opacity:.9}
  /* --- Kursziel-Bullet --- */
  .blt{display:flex;flex-direction:column;gap:7px;padding:8px 28px 16px}
  .blt-row{display:grid;grid-template-columns:150px 1fr 108px;align-items:center;gap:10px}
  .blt-name{font-size:12.5px;color:#c9cfda;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .blt-track{position:relative;height:16px;border-radius:5px;background:#161b22}
  .blt-zero{position:absolute;top:-2px;bottom:-2px;width:1px;background:#7a8190;opacity:.7}
  .blt-bar{position:absolute;top:3px;bottom:3px;border-radius:4px}
  .blt-bar.pos{background:#22c55e}.blt-bar.neg{background:#ef4444}
  .blt-tgt{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;background:linear-gradient(#f5c451,#f5c451) center/2px 100% no-repeat}
  .blt-tgt::after{content:"";position:absolute;left:1px;top:3px;width:8px;height:8px;background:#f5c451;transform:rotate(45deg)}
  .blt-val{font-size:12px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
  .blt-val small{display:block;font-size:10px;font-weight:600;opacity:.7}
  body.light .blt-name{color:#1f2430}
  body.light .blt-track{background:#eef1f6}
  @media(max-width:640px){ .blt-row{grid-template-columns:92px 1fr 74px;gap:6px} }
  /* --- Dividenden je Monat --- */
  .dvm{margin-top:12px}
  .dvm-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:#7a8190;margin-bottom:4px}
  .dvm-head b{font-size:13px;color:#22c55e;font-variant-numeric:tabular-nums}
  .dvm-chart{display:flex;align-items:flex-end;gap:4px;height:74px}
  .dvm-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
  .dvm-stack{width:100%;display:flex;flex-direction:column-reverse;border-radius:3px;overflow:hidden;min-height:1px}
  .dvm-seg{display:block;width:100%}
  .dvm-lbl{font-size:9.5px;color:#7a8190;margin-top:3px;white-space:nowrap}
  body.light .dvm-lbl,body.light .dvm-head{color:#5b6478}
  /* --- Struktur-Treemap --- */
  .tm-wrap{position:relative}
  .tm-host{height:300px;min-height:180px}
  .card-body.h-fixed .tm-host{height:100%}
  .tm-svg{display:block}
  .tm-grp{fill:rgba(127,140,160,.10);stroke:rgba(127,140,160,.22);stroke-width:1}
  .tm-glbl{fill:#9aa3b2;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
  .tm-lbl{fill:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.55)}
  .tm-sub{fill:rgba(255,255,255,.85);font-size:10px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.55)}
  .tm-cell{cursor:pointer}
  .tm-cell:hover rect{filter:brightness(1.2)}
  body.light .tm-glbl{fill:#5b6478}

  /* ===== Erklaer-Tooltips ====================================================================
     Ersetzt die nativen title-Kaestchen des Browsers: die erscheinen erst nach ~1 s, brechen
     lange Texte nicht um, ignorieren das Farbschema und lassen sich nicht positionieren. Der
     Inhalt kommt weiterhin aus dem title-Attribut (siehe bindAppTips() in app.js), damit die
     bestehenden ~250 Tooltips unveraendert weiterfunktionieren und applyLang() sie uebersetzt. */
  .app-tip{
    /* ueber allem, auch ueber Modal (10000) und dessen Kopfzeile (10001) - sonst verschwaende der
       Tooltip ausgerechnet im Detailfenster hinter dem Dialog, wo die Chart-Legende sitzt */
    position:fixed;z-index:10050;pointer-events:none;
    max-width:min(340px,86vw);
    background:#1c2230;color:#e6e9ef;
    border:1px solid #38405230;border-radius:10px;
    padding:9px 12px;font-size:12.5px;line-height:1.5;
    box-shadow:0 10px 30px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);
    white-space:normal;overflow-wrap:anywhere;
    opacity:0;transform:translateY(3px) scale(.985);
    transition:opacity .13s ease,transform .13s ease;
  }
  .app-tip.show{opacity:1;transform:translateY(0) scale(1)}
  /* Pfeil: eigenes Element, damit er unabhaengig von der Box waagerecht wandern kann, wenn die
     Box am Bildschirmrand verschoben werden musste. */
  .app-tip::after{
    content:"";position:absolute;left:var(--tip-ax,50%);width:9px;height:9px;
    background:inherit;border:1px solid #38405230;transform:translateX(-50%) rotate(45deg);
  }
  .app-tip[data-pos="top"]::after{bottom:-5.5px;border-top:0;border-left:0}
  .app-tip[data-pos="bottom"]::after{top:-5.5px;border-bottom:0;border-right:0}
  /* Erste Zeile bis zum ersten " - " wird als Titelzeile gesetzt (siehe bindAppTips) */
  .app-tip .tip-h{display:block;font-weight:650;margin-bottom:3px;color:#fff}
  .app-tip .tip-k{color:#9aa3b2}
  body.light .app-tip{
    background:#fff;color:#28303f;border-color:#e2e6ee;
    box-shadow:0 10px 30px rgba(20,28,45,.16),0 2px 6px rgba(20,28,45,.08);
  }
  body.light .app-tip::after{border-color:#e2e6ee}
  body.light .app-tip .tip-h{color:#111827}
  body.light .app-tip .tip-k{color:#6b7480}
  /* Erklaerte Elemente als solche kenntlich machen - ohne den Cursor ueberall zu aendern, wo
     title nur eine Kurzbeschriftung ist (Buttons mit Icon o.ae.). */
  .tb-label[title],.depot .dp[title],.hist-chip[title],.range-btn[title],
  .detail-legend span[title],.main-tab[title]{cursor:help}
  @media (prefers-reduced-motion: reduce){
    .app-tip{transition:none}
  }
