/* Nur /mobile/: Proportionen, Farben und Navigation der SwiftUI-App. */
html { color-scheme: dark; background: #0A1428; }
html.portfolio-mobile-root { overflow-x: hidden; overscroll-behavior: none; width: 100%; max-width: 100%; }
body.portfolio-mobile {
  --vp-navy: #0A1428; --vp-navy-2: #0F1B33; --vp-navy-3: #15263F;
  --vp-gold: #D4A84B; --vp-gold-ink: #F5DFA0; --vp-ink-dim: #94A6C8;
  --vp-font-display: -apple-system, BlinkMacSystemFont, sans-serif;
  --vp-font-body: -apple-system, BlinkMacSystemFont, sans-serif;
  --vp-font-mono: -apple-system, BlinkMacSystemFont, sans-serif;
  margin: 0; background: #0A1428; color: white;
  font: 15px -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-text-size-adjust: 100%; overflow-x: clip; overscroll-behavior: none; width: 100%; max-width: 100%; min-width: 0;
}
#mobileApp { width: 100%; min-width: 0; }
/* Separates the password-manager username from the one-time code. The value
   stays local to the browser and is never part of the login API request. */
.credential-username { position: absolute; width: 1px !important; height: 1px; min-height: 0 !important; padding: 0 !important; border: 0 !important; clip-path: inset(50%); overflow: hidden; }
.portfolio-mobile *, .portfolio-mobile *::before, .portfolio-mobile *::after { box-sizing: border-box; }
.portfolio-mobile [hidden], .mobile-locked #mobileApp { display: none !important; }
#mobileLock {
  min-height: 100svh; max-width: 440px; margin: auto; padding: max(70px, env(safe-area-inset-top)) 28px max(32px, env(safe-area-inset-bottom));
  display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 16px;
}
.mobile-app-icon { border-radius: 23px; box-shadow: 0 12px 40px #0006; }
#mobileLock h1 { font-size: 28px; margin: 12px 0 0; letter-spacing: -.6px; }
#mobileLock p { line-height: 1.5; color: #94A6C8; margin: 0; }
#mobileUnlock { width: 100%; min-height: 52px; border: 1px solid #D4A84B88; border-radius: 15px; background: #15263F; color: #F5DFA0; font: 600 17px -apple-system, sans-serif; margin-top: 16px; cursor: pointer; }
#mobileUnlock:disabled { opacity: .5; cursor: wait; }
#mobileAuthMessage { min-height: 44px; font-size: 13px; }
#mobileInstall { font-size: 12px; color: #94A6C8; line-height: 1.6; border-top: 1px solid #1E3357; padding-top: 18px; margin-top: 26px; }
#mobilePermanentAddress { color: #F5DFA0; overflow-wrap: anywhere; }
#mobileLock .mobile-address-label { width: 100%; font-size: 13px; }
#mobileTotp { width: 100%; text-align: left; }
#mobileTotp summary { min-height: 44px; padding: 12px 0; cursor: pointer; color: #F5DFA0; }
#mobileTotpForm { display: grid; gap: 10px; padding-top: 10px; }
#mobileTotpForm input, #mobileTotpSubmit { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #385176; border-radius: 10px; color: white; background: #15263F; font: inherit; }
#mobileTotpSubmit { white-space: normal; color: #F5DFA0; }
#mobilePasskeyDialog { color: white; }
#mobilePasskeyDialog p { line-height: 1.5; color: #94A6C8; }
#mobilePasskeyConfirm, #mobilePasskeyCreateStep { display: grid; gap: 10px; margin-top: 14px; }
#mobilePasskeyConfirm[hidden], #mobilePasskeyCreateStep[hidden] { display: none; }
#mobilePasskeyDialog input:not(.credential-username), #mobilePasskeyDialog form button, #mobilePasskeyCreate {
  width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #385176; border-radius: 10px;
  color: white; background: #15263F; font: inherit; }
#mobilePasskeyDialog form button, #mobilePasskeyCreate { color: #F5DFA0; border-color: #D4A84B88; font-weight: 600; cursor: pointer; white-space: normal; }
#mobilePasskeyDialog button:disabled { opacity: .5; cursor: wait; }
#mobilePasskeyMessage { min-height: 22px; font-size: 14px; }
#mobileRememberChoice { width: 100%; text-align: left; }
#mobileRememberChoice p { margin-top: 5px; font-size: 12px; }
.mobile-remember { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.portfolio-mobile #mobileRemember { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; margin: 0; padding: 0; accent-color: #D4A84B; }
.portfolio-mobile .app-header, .portfolio-mobile .app-header.scrolled {
  padding: max(8px, env(safe-area-inset-top)) 16px 8px; min-height: calc(52px + env(safe-area-inset-top));
  background: #0A1428f5; box-shadow: none; border: 0; gap: 12px; z-index: 50; flex-wrap: nowrap;
}
#mobileTitle { flex: 1; text-align: center; font-size: 17px; font-weight: 600; margin: 0; }
.portfolio-mobile .app-header button { flex: 0 0 44px; border: 0; color: #94A6C8; background: transparent; font-size: 24px; width: 44px; height: 44px; cursor: pointer; }
#mobileBack { font-size: 34px; }
.portfolio-mobile #main { padding: 12px 16px calc(92px + env(safe-area-inset-bottom)); max-width: 700px; margin: auto; }
.portfolio-mobile .app-header { padding-left: max(16px,env(safe-area-inset-left)); padding-right: max(16px,env(safe-area-inset-right)); }
.portfolio-mobile #main { padding-left: max(16px,env(safe-area-inset-left)); padding-right: max(16px,env(safe-area-inset-right)); }
.portfolio-mobile #tabs {
  position: fixed; inset: auto 0 0; z-index: 60; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0; padding: 8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  background: #0F1B33f5; border-top: 1px solid #1E3357; backdrop-filter: blur(20px); overflow: visible;
}
.portfolio-mobile #tabs .tab { min-width: 0; display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center;
  padding: 4px 1px; min-height: 45px; border: 0; background: transparent; border-radius: 0; color: #94A6C8; box-shadow: none; }
.portfolio-mobile #tabs .tab.active { color: #D4A84B; }
.portfolio-mobile #tabs .tab span { font-size: 10px; font-weight: 500; white-space: nowrap; }
.portfolio-mobile #tabs svg { width: 24px; height: 24px; }
.portfolio-mobile .vp-head, .portfolio-mobile .vp-eyebrow { font-family: -apple-system, sans-serif; letter-spacing: 0; text-transform: none; }
.portfolio-mobile .vp-head-l { font-size: 30px; }
.portfolio-mobile .card, .portfolio-mobile .kpi { background: #0F1B33; border: 1px solid #1E3357; border-radius: 15px; padding: 16px; box-shadow: none; }
.portfolio-mobile .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.portfolio-mobile .kpi .num { font-size: 20px; }
.portfolio-mobile .report-head { flex-wrap: wrap; gap: 12px; }
.portfolio-mobile .report-actions { flex-wrap: wrap; gap: 8px; }
.portfolio-mobile #view-overview > .report-head:first-child { flex-direction: column; align-items: stretch; }
.portfolio-mobile #view-overview > .report-head:first-child > div:first-child { text-align: center; }
.portfolio-mobile #view-overview .report-actions { justify-content: center; }
.portfolio-mobile #totalValue { font-size: clamp(30px, 8vw, 38px); font-weight: 700; font-variant-numeric: tabular-nums; }
.portfolio-mobile #historyBtn { font-size: 12px; width: 100%; }
.portfolio-mobile .pc-grid, .portfolio-mobile .xpie-grid, .portfolio-mobile .asset-grid { grid-template-columns: minmax(0, 1fr); }
.portfolio-mobile .grid-2, .portfolio-mobile .form-grid { grid-template-columns: minmax(0,1fr); }
.portfolio-mobile .grid-2 > *, .portfolio-mobile .field-wrap, .portfolio-mobile .form-grid > * { min-width: 0; }
.portfolio-mobile .report-head > *, .portfolio-mobile .form-row > * { min-width: 0; max-width: 100%; }
.portfolio-mobile .report-actions { width: 100%; }
.portfolio-mobile .report-actions > * { min-width: 0; max-width: 100%; }
.portfolio-mobile button, .portfolio-mobile input, .portfolio-mobile select { min-height: 44px; }
.portfolio-mobile .vp-pill-gold, .portfolio-mobile .vp-pill-ghost, .portfolio-mobile .form-row button { white-space: normal; overflow-wrap: anywhere; }
.portfolio-mobile input, .portfolio-mobile select, .portfolio-mobile textarea { min-width: 0; max-width: 100%; }
.portfolio-mobile input[type=file] { width: 100%; }
.portfolio-mobile .card, .portfolio-mobile .card-sub, .portfolio-mobile .intro-dialog { min-width: 0; overflow-wrap: anywhere; }
.portfolio-mobile .form-row { align-items: stretch; }
.portfolio-mobile .form-row > input, .portfolio-mobile .form-row > select, .portfolio-mobile .form-row > button { flex: 1 1 100%; width: 100%; }
.portfolio-mobile .act-modal-card { min-width: 0; max-width: calc(100vw - 24px); }
.portfolio-mobile .act-modal-close { min-width: 44px; min-height: 44px; }
.portfolio-mobile .table-wrap:has(.mobile-card-table) { overflow: visible; max-height: none; }
.portfolio-mobile .mobile-card-table { display: block; width: 100%; }
.portfolio-mobile .mobile-card-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.portfolio-mobile .mobile-card-table tbody { display: grid; gap: 14px; }
.portfolio-mobile .mobile-card-table tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px; border: 1px solid #1E3357; border-radius: 12px; }
.portfolio-mobile .mobile-card-table td, .portfolio-mobile .mobile-card-table td.num { display: flex; flex-direction: column; align-items: flex-start; padding: 0; min-width: 0; border: 0; white-space: normal; overflow-wrap: anywhere; text-align: left; }
.portfolio-mobile .mobile-card-table td::before { content: attr(data-label); color: #94A6C8; font: 11px -apple-system,sans-serif; margin-bottom: 5px; }
.portfolio-mobile .mobile-card-table .mobile-wide-cell { grid-column: 1 / -1; }
.portfolio-mobile .mobile-card-table .pos-name { max-width: 100%; }
.portfolio-mobile .mobile-card-table .pos-name b { white-space: normal; overflow: visible; }
.portfolio-mobile .mobile-card-table .row-del { min-width: 44px; min-height: 44px; }
.portfolio-mobile .pc-card { padding: 14px; }
.portfolio-mobile .row { gap: 8px; }
.portfolio-mobile .row .r-asset { font-size: 14px; }
.portfolio-mobile .row .r-value { font-size: 13px; }
.portfolio-mobile .act-modal { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
.portfolio-mobile .act-modal-card { max-height: 85svh; overflow: auto; }
.portfolio-mobile input, .portfolio-mobile select, .portfolio-mobile textarea { font-size: 16px; } /* Safari: kein Zoom beim Tippen. */
.portfolio-mobile .view { min-width: 0; }
.portfolio-mobile .table-wrap { overflow-x: auto; }
.portfolio-mobile .reveal { opacity: 1; transform: none; }
.portfolio-mobile #view-more { text-align: center; padding-top: 14px; overflow: hidden; overflow: clip; }
.portfolio-mobile .app-footer { display: none; }
.mobile-more-figs { display: flex; justify-content: center; gap: 28px; height: min(96px, 11svh); }
.mobile-more-figs img { width: 34%; height: 100%; object-fit: contain; }
.mobile-compass { position: relative; width: 93%; aspect-ratio: 1; margin: 16px auto; border-radius: 50%; border: 1.8px solid #D4A84B8c; isolation: isolate; }
.mobile-compass::before { content: ""; position: absolute; inset: 2%; border: .7px solid #D4A84B4c; border-radius: 50%; }
.mobile-cover { position: absolute; width: 166.67%; height: 166.67%; top: -33.33%; left: -33.33%; object-fit: contain; opacity: .09; z-index: -1;
  -webkit-mask-image: radial-gradient(circle, #000 25%, transparent 68%); mask-image: radial-gradient(circle, #000 25%, transparent 68%); }
.portfolio-mobile .mobile-diamond { position: absolute; width: 22.5%; height: 22.5%; padding: 0; border: 1.2px solid #D4A84B; border-radius: 18%; background: #15263F; transform: translate(-50%, -50%) rotate(45deg); box-shadow: none; }
.mobile-diamond > span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; transform: rotate(-45deg); }
.mobile-diamond svg { width: 32px; height: 32px; color: #F5DFA0; }
.mobile-diamond b { font-size: 12px; font-weight: 600; color: white; }
.portfolio-mobile .mobile-diamond { width: 19%; height: 19%; }
.mobile-tax { left: 50%; top: 17.5%; } .mobile-analysis { left: 17.5%; top: 50%; }
.mobile-news { left: 82.5%; top: 50%; } .mobile-crypto { left: 50%; top: 82.5%; }
/* Dividenden: goldene Münze in der Mitte des Kompasses. */
.portfolio-mobile .mobile-coin { position: absolute; left: 50%; top: 50%; width: 31%; height: 31%; padding: 0; border: 0; border-radius: 50%;
  transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; color: #0A1428;
  background: radial-gradient(circle at 35% 30%, #F5DFA0, #D4A84B 45%, #A88239);
  box-shadow: inset 0 0 0 4px #E8C76B, inset 0 0 0 5.5px #A88239, 0 0 0 6px #0A1428, 0 0 0 7px #D4A84B55, 0 0 30px #D4A84B44; }
.portfolio-mobile .mobile-coin:active { filter: brightness(.92); }
.mobile-coin > span { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.mobile-coin svg { width: 34px; height: 34px; color: #0A1428; }
.mobile-coin b { font-size: 12.5px; font-weight: 700; color: #0A1428; }
.mobile-btc { width: min(130px, 15svh); height: min(130px, 15svh); object-fit: contain; mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(circle, #000 40%, transparent 71%); mask-image: radial-gradient(circle, #000 40%, transparent 71%); }
.portfolio-mobile .mobile-tools { display: block; margin: 12px auto 0; min-height: 44px; width: 100%; color: #94A6C8; border: 1px solid #1E3357; background: #0F1B33; }
@media (max-width: 380px) { .mobile-diamond svg { width: 24px; height: 24px; } .mobile-diamond b { font-size: 10.5px; } .mobile-coin svg { width: 30px; height: 30px; } }
@media (prefers-reduced-motion: reduce) { .portfolio-mobile * { animation: none !important; scroll-behavior: auto !important; } }

/* SwiftUI reference: Theme.swift and the individual *View.swift files.
   Geometry is expressed in CSS points; iOS supplies its own status/home bars. */
.portfolio-mobile.ios-design { --vp-navy-2:#15263F; --vp-ink:#fff; --vp-ink-2:#fff; --vp-ink-mute:#94A6C8; --ios-left:max(16px,env(safe-area-inset-left)); --ios-right:max(16px,env(safe-area-inset-right)); }
.ios-design #main { max-width:700px; padding:16px var(--ios-right) calc(76px + env(safe-area-inset-bottom)) var(--ios-left); }
.ios-design .app-header,.ios-design .app-header.scrolled { position:sticky; top:0; display:flex; justify-content:space-between; min-height:calc(44px + env(safe-area-inset-top)); padding:max(0px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left)); gap:0; background:#0A1428f5; border:0; box-shadow:none; }
.ios-design .ios-leading,.ios-design .ios-trailing { display:flex; align-items:center; gap:0; min-width:0; }
.ios-design .ios-leading { margin-right:auto; }
.ios-design .ios-trailing { margin-left:auto; }
.ios-design #mobileTitle { position:absolute; left:50%; transform:translateX(-50%); max-width:calc(100% - 200px); margin:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:600 17px/1.2 -apple-system,BlinkMacSystemFont,sans-serif; pointer-events:none; outline:none; }
.ios-design:not(.ios-inline-title):not(.ios-scrolled) #mobileTitle { opacity:0; }
.ios-design .app-header button { width:32px; min-width:32px; min-height:44px; height:44px; flex:0 0 32px; padding:4px; border-radius:0; color:#94A6C8; }
.ios-design .app-header svg { width:22px; height:22px; }
.ios-design #mobileSettings,.ios-design #mobileBack { width:40px; flex-basis:40px; text-align:left; padding:4px 0; }
.ios-design #mobileBack { font-size:28px; color:#F5DFA0; }
.ios-design #mobileCurrency { font:700 19px -apple-system,sans-serif; }
.ios-design #mobilePeriod { position:relative; }
.ios-design #periodSelect { position:absolute; inset:0; opacity:0; width:100%; height:100%; min-width:0; margin:0; padding:0; cursor:pointer; }
.ios-design #privacyBtn { background:transparent; box-shadow:none; border:0; }
.ios-design #mobileAdd { display:flex; width:100%; justify-content:center; margin:0 0 20px; }
.ios-design #activityManualAdd { display:none; }
.ios-design #yearSelect { appearance:none; border:0; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4A84B' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center / 12px; color:#D4A84B; max-width:92px; min-width:0; padding:0 18px 0 0; font:400 17px -apple-system,sans-serif; }
.ios-design .ios-large-title { margin:4px 0 20px; font:700 34px/1.12 -apple-system,BlinkMacSystemFont,sans-serif; letter-spacing:.3px; color:white; }
.ios-design .card,.ios-design .kpi { border-radius:18px; padding:16px; background:#15263F; border:1px solid #1E3357; margin:0 0 16px; box-shadow:none; backdrop-filter:none; }
.ios-design .card-title,.ios-design .ios-card h3 { font:600 17px/1.25 -apple-system,sans-serif; margin:0; }
.ios-design .card-sub { font:400 12px/1.4 -apple-system,sans-serif; margin:4px 0 14px; }
.ios-design .kpis { gap:12px; margin:0 0 16px; }
.ios-design .kpi { margin:0; padding:14px; min-width:0; }
.ios-design .k-label { font:400 12px/1.3 -apple-system,sans-serif; text-transform:none; letter-spacing:0; }
.ios-design .k-value { margin-top:6px; font:600 20px/1.2 ui-rounded,-apple-system,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ios-design .k-sub { font:400 11px/1.3 -apple-system,sans-serif; color:#94A6C8; margin-top:5px; }
.ios-design .val-gain { color:#3DDC97; }.ios-design .val-loss { color:#E5544E; }
.ios-design .ios-brand { display:flex; align-items:center; gap:10px; min-width:0; margin:2px 0 16px; }
.ios-brand > div:first-child { min-width:0; flex:1; }
.ios-brand b { display:block; font:700 clamp(10px,3.33vw,13px)/1.2 Georgia,'Times New Roman',serif; white-space:nowrap; }
.ios-brand small { display:block; font:600 8px/1.3 -apple-system,sans-serif; letter-spacing:2.5px; color:#F5DFA0; margin-top:1px; }
.ios-brand-figures { display:flex; align-items:flex-end; gap:6px; height:60px; width:52%; max-width:186px; flex:0 1 52%; }
.ios-brand-figures img { height:60px; width:auto; max-width:52%; min-width:0; flex:0 1 auto; object-fit:contain; }
.ios-design .ios-headline { display:block; border:1px solid #1E3357; border-radius:18px; background:#15263F; padding:20px 12px; margin:0 0 16px; text-align:center; }
.ios-design .ios-headline .vp-eyebrow { font:400 12px/1.3 -apple-system,sans-serif; color:#94A6C8; }
.ios-design #totalValue { font:700 40px/1.2 ui-rounded,-apple-system,sans-serif; margin:6px 0; letter-spacing:0; }
.ios-design #periodGain { font:700 20px/1.3 -apple-system,sans-serif; margin:0; }
.ios-design #periodGain .pg-pct { font:500 13px/1.3 -apple-system,sans-serif; opacity:.85; }
.ios-design #periodGain .pg-label { display:block; margin-top:2px; font:400 11px/1.3 -apple-system,sans-serif; }
.ios-design #view-overview > .report-head:not(.ios-headline) { display:none; }
.ios-design .holdings-chart-card { position:relative; }
.ios-design .holdings-chart-card > .card-sub { display:none; }
.ios-design #allocChart .alloc-layout { display:block; }
.ios-design #allocChart .donut-wrap { display:block; width:100%; max-width:100%; margin:8px 0 0; }
.ios-design #allocChart .pie3d { width:100%; height:auto; }
.ios-design #allocChart .legend { display:none; }
.ios-design #allocChart .alloc-bars { display:grid; }
.ios-design .ios-class-row { display:flex; align-items:flex-start; gap:12px; margin-top:18px; }
.ios-class-row > div { flex:1; min-width:0; }
.ios-class-symbol { display:flex; width:42px; height:42px; flex:0 0 42px; align-items:center; justify-content:center; border-radius:50%; color:var(--accent); background:color-mix(in srgb,var(--accent) 20%,transparent); font-size:21px; font-weight:600; }
.ios-class-line { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:15px; }
.ios-class-row small { display:block; margin-top:6px; color:#94A6C8; font-size:12px; }
.ios-progress { height:4px; border-radius:4px; background:#ffffff16; overflow:hidden; margin-top:6px; min-width:0; }
.ios-progress i { display:block; height:100%; border-radius:4px; background:#D4A84B; }
.ios-design .ios-position-card { margin-bottom:16px; }
.ios-position-class { display:flex; justify-content:space-between; gap:12px; margin-bottom:18px; font-size:17px; }
.ios-position-class > div:last-child { text-align:right; }
.ios-position-class small { display:block; font-size:12px; font-weight:400; margin-top:4px; color:#94A6C8; }
.ios-design .ios-position { display:block; background:transparent; border:0; padding:2px 0; margin-top:18px; }
.ios-position-head { display:flex; gap:12px; align-items:flex-start; }
.ios-position .tok-wrap,.ios-cash-row .tok-wrap { width:44px; height:44px; flex:0 0 44px; }
.ios-design .tok-wrap .tok { background:#fff !important; color:#0A1428; border:0; }
.ios-design .tok-wrap .tok-img { border:0; background:white; }
.ios-position-name { min-width:0; flex:1; }
.ios-position-name b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; line-height:1.3; }
.ios-position-name small { display:block; color:#94A6C8; font-size:12px; margin-top:3px; }
.ios-position-return { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none; }
.ios-position-return > b { font-size:12px; line-height:1.3; white-space:nowrap; }
.ios-gain-badge { font-size:12px; font-weight:600; padding:3px 7px; border-radius:99px; background:#3DDC9729; white-space:nowrap; }
.ios-gain-badge.val-loss { background:#E5544E29; }
.ios-position-foot { display:flex; align-items:center; gap:10px; margin-top:9px; }
.ios-position-foot .ios-progress { flex:1; margin:0; }
.ios-position-foot small { font-size:10px; color:#94A6C8; white-space:nowrap; }
.ios-cash-row { display:flex; align-items:center; gap:12px; margin-top:18px; font-size:13px; }
.ios-cash-row > b { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ios-cash-row > strong { white-space:nowrap; }
.ios-design .ios-summary { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:16px 12px; }
.ios-summary > small { color:#94A6C8; font-size:12px; line-height:1.3; }
.ios-summary > strong { font:700 34px/1.2 ui-rounded,-apple-system,sans-serif; }
.ios-design #iosDivHeadline > strong { font-size:36px; }
.ios-design #view-tax > .report-head,.ios-design #view-dividends > .report-head,.ios-design #view-crypto > .report-head { display:none; }
.ios-design #view-analysis > .report-head { background:#15263F; border:1px solid #1E3357; border-radius:18px; padding:16px; margin-bottom:16px; align-items:center; flex-wrap:nowrap; }
.ios-design #view-analysis > .report-head h1 { font:600 17px -apple-system,sans-serif; }
.ios-design #view-analysis > .report-head h1::before { content:'ETF-Durchleuchtung'; }
.ios-design #view-analysis > .report-head h1 { font-size:0; }.ios-design #view-analysis > .report-head h1::before { font-size:17px; }
.ios-design #view-analysis > .report-head .vp-eyebrow { display:none; }
.ios-design #view-news > .report-head { display:none; }
.ios-design #view-news .card { padding:0; border:0; background:transparent; }
.ios-design .row.news-row { padding:12px 0; background:transparent; border-radius:0; border-bottom:1px solid #1E3357; }
.ios-design #view-activity > .card { padding:0; background:transparent; border:0; }
.ios-design #view-activity .report-head { display:none; }
.ios-design #actSearch { width:100%; margin:0 0 16px; min-height:36px; border:0; background:#15263F; border-radius:10px; padding:8px 12px; font-size:17px; }
.ios-design .ios-original-activities { display:none; }
.ios-design .ios-activity-list { background:#15263F; margin:0; width:100%; min-width:0; border:1px solid #1E3357; border-radius:14px; overflow:hidden; }
.ios-design .ios-activity { display:flex; align-items:flex-start; gap:12px; width:100%; min-height:66px; margin:0; padding:12px 16px; border:0; border-bottom:1px solid #1E3357; border-radius:0; background:transparent; color:white; text-align:left; box-shadow:none; font-family:-apple-system,sans-serif; cursor:pointer; }
.ios-activity .tok-wrap { width:34px; height:34px; flex:0 0 34px; }
.ios-activity-name { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.ios-activity-name > b { font-size:13px; font-weight:600; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ios-activity-name > small { display:flex; align-items:center; gap:6px; color:#94A6C8; font-size:11px; }
.ios-type { padding:2px 6px; font-size:10px; font-weight:600; border-radius:99px; white-space:nowrap; color:var(--tone); background:color-mix(in srgb,var(--tone) 14%,transparent); }
.ios-activity-value { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none; }
.ios-activity-value b { font-size:13px; font-weight:600; white-space:nowrap; }
.ios-activity-value small { font-size:11px; color:#94A6C8; white-space:nowrap; }
.ios-design .ios-activity { padding-left:var(--ios-left); padding-right:var(--ios-right); }
.ios-design #actCount,.ios-empty { text-align:center; color:#94A6C8; font-size:12px; margin:14px 0; }
.ios-design #tabs { background:#0F1B33; padding-top:5px; padding-bottom:max(5px,env(safe-area-inset-bottom)); min-height:54px; border-top:1px solid #1E3357; backdrop-filter:none; }
.ios-design #tabs svg { width:25px; height:25px; }
.ios-design #tabs .tab { min-height:44px; gap:3px; transition:none; }
.ios-design #tabs .tab span { font-size:10px; }
.ios-design .subtabs,.ios-design .range-tabs { overflow-x:auto; overscroll-behavior-x:contain; }
.ios-design .subtab { border-radius:99px; padding:9px 12px; background:transparent; border:1px solid #ffffff59; color:#fff; font-size:15px; font-weight:600; text-transform:none; letter-spacing:0; }
.ios-design .subtab.active { background:#fff; color:#0A1428; }
.ios-design .range-btn { border-radius:99px; font-size:11px; color:#fff; padding:7px 8px; min-height:30px; }
.ios-design .range-btn.active { background:#D4A84B; color:#0A1428; }
.ios-design .table-wrap { overscroll-behavior-x:contain; }
.ios-design #view-history .hist-controls { display:flex; flex-direction:column; gap:12px; }
.ios-design #view-history #historyCard > .report-head > div:first-child { display:none; }
.ios-design #view-history #historyCard { padding:14px; }
.ios-design #view-history #historyTabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ios-design #historyTabs .subtab { min-width:0; font-size:clamp(11px,3.33vw,13px); padding:9px 2px; white-space:nowrap; }
.ios-design #view-history > #historyTabs { margin:0 0 16px; }
.ios-design #view-history > #historyRange { display:flex; flex-wrap:nowrap; gap:6px; margin:0 0 18px; }
.ios-design #historyRange .range-btn { flex:1; min-width:0; white-space:nowrap; letter-spacing:0; padding:8px 2px; min-height:38px; font-size:13px; }
/* Kennzahl kommt hier aus der nativen Kopfzeile (#iosHistoryHeadline) */
.ios-design #historyHeadline { display:none; }
.ios-design #historyRange .range-btn.active { background:#fff; color:#0A1428; }
.ios-design #historyCard > .report-head { display:none; }
.ios-design #classPerf:empty { display:none; }
.ios-design #classPerf:not(:empty) { background:#15263F; border:1px solid #1E3357; border-radius:18px; padding:16px; margin:0 0 16px; }
.ios-comparisons { display:flex; gap:10px; margin-top:12px; }
.ios-comparisons > div { display:flex; flex-direction:column; align-items:center; flex:1; min-width:0; padding:10px 4px; border-radius:12px; background:#0F1B33; gap:6px; }
.ios-comparisons small { font-size:11px; color:#94A6C8; white-space:nowrap; }
.ios-comparisons .ios-comparison-depot { background:#D4A84B1f; }.ios-comparison-depot small { color:#F5DFA0; }
.ios-comparisons .ios-gain-badge { font-size:11px; max-width:100%; }
.ios-design .ios-year-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.ios-year-table th,.ios-year-table td { padding:7px 3px; border-bottom:1px solid #1E3357; text-align:right; font-weight:400; white-space:nowrap; }
.ios-year-table th:first-child { width:52px; text-align:left; }
.ios-year-table thead th { color:#94A6C8; font-size:11px; font-weight:600; }
.ios-year-table tbody th { font-size:15px; font-weight:600; }
.ios-design .ios-more-stage { padding-left:env(safe-area-inset-left); padding-right:env(safe-area-inset-right); }
.ios-design .ios-more-stage { height:calc(100svh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); min-height:300px; padding:46px 0 8px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:8px; }
.ios-design[data-ios-view="more"] .app-header { position:absolute; left:0; right:0; background:transparent; }
.ios-design[data-ios-view="more"] #mobileTitle { opacity:0; }
.ios-design[data-ios-view="more"] #mobileBack { width:40px; height:40px; min-height:40px; border-radius:50%; text-align:center; font-size:24px; background:#15263F; border:1px solid #1E3357; margin-top:6px; }
.ios-design[data-ios-view="more"] #main { padding:0 0 calc(76px + env(safe-area-inset-bottom)); }
.ios-design #view-more { padding-top:0; overflow:clip; }
.ios-design .mobile-more-figs { height:min(96px,11svh); width:100%; flex:none; }
.ios-design .mobile-more-figs img { width:calc((100% - 28px)/2); max-width:none; height:100%; object-fit:contain; }
.ios-design .mobile-compass { width:min(93%,calc(100svh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - min(96px,11svh) - min(130px,15svh) - 86px)); flex:none; margin:8px auto; }
.ios-design .mobile-btc { flex:none; }
.ios-design .ios-more-tools { padding-top:28px; }
.ios-design .ios-sheet { position:fixed; inset:auto 0 0; width:min(700px,100%); max-width:100%; max-height:90svh; margin:0 auto; padding:16px 16px max(24px,env(safe-area-inset-bottom)); border:1px solid #1E3357; border-radius:20px 20px 0 0; background:#0A1428; color:white; overflow:auto; }
.ios-sheet::backdrop { background:#0008; }
.ios-sheet-head { display:flex; justify-content:space-between; align-items:center; padding:0 0 20px; font-size:17px; }
.ios-sheet-head button { width:auto; min-width:44px; min-height:44px; border:0; background:transparent; color:#D4A84B; font-size:17px; }
.ios-design #iosSettingsTools { display:flex; flex-wrap:wrap; gap:12px; }
.ios-design #iosSettingsTools > * { width:100%; margin:0; }
.ios-design .act-modal { align-items:flex-end; padding:0; }
.ios-design .act-modal-card { border-radius:20px 20px 0 0; width:100%; max-width:700px; max-height:90svh; background:#0A1428; padding:20px 16px max(24px,env(safe-area-inset-bottom)); margin:0 auto; }
@media (orientation:landscape) and (max-height:500px) {
  .ios-design .ios-more-stage { display:grid; grid-template-columns:1fr minmax(150px,220px) 1fr; align-items:center; justify-content:center; gap:16px; height:calc(100svh - 60px); min-height:0; padding-top:40px; }
  .ios-design .mobile-compass { width:min(100%,calc(100svh - 110px)); margin:auto; }
  .ios-design .mobile-more-figs { height:90px; gap:8px; }
  .ios-design .mobile-more-figs img { max-width:45%; height:90px; }
  .ios-design .mobile-btc { margin:auto; }
}

.portfolio-mobile #recentCard, .portfolio-mobile #assetBack { display: none; }
.portfolio-mobile .asset-topbar { justify-content: flex-end; }
.portfolio-mobile .asset-chart-controls button { min-height: 44px; }
