/* Klarfranken Precision UI
   A calm Swiss financial instrument: content first, motion with purpose. */

:root {
  --bg: #080b10;
  --panel: #101620;
  --panel2: #151d29;
  --panel-raised: #182231;
  --line: rgba(207, 225, 244, 0.12);
  --line-strong: rgba(207, 225, 244, 0.22);
  --text: #f4f7fa;
  --soft: #a4afbc;
  --muted: #788797;
  --acid: #63c7c0;
  /* Akzent als RGB-Kanäle, damit Glows/Hover/Focus konsistent Teal sind
     (statt der früheren hartcodierten Hellblau-Werte). */
  --acid-rgb: 99, 199, 192;
  --blue: #79a8ff;
  --blue-rgb: 121, 168, 255;
  --red: #ff7d75;
  --amber: #f3ba63;
  --positive: #8ed6b3;
  --chart-1: #9ed7ff;
  --chart-2: #79a8ff;
  --chart-3: #7bd6c4;
  --chart-4: #bd9cff;
  --chart-5: #f0c979;
  --chart-6: #7f91a8;
  --surface-glass: rgba(17, 23, 32, .78);
  --surface-solid: #111821;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --motion-response: 360ms;
  --radius-sm: 0.75rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --shadow-1: 0 1px 0 rgba(255,255,255,.04) inset, 0 18px 50px rgba(0,0,0,.18);
  --shadow-2: 0 1px 0 rgba(255,255,255,.06) inset, 0 30px 80px rgba(0,0,0,.34);
  --spring: linear(0, .014, .053 2.4%, .184 5.4%, .475 10.8%, .708 16.6%, .846 22.4%, .928 28.5%, .973 35.5%, .993 45%, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --max: 1200px;
  color-scheme: dark;
}

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: kf-page-out 140ms ease-in both; }
::view-transition-new(root) { animation: kf-page-in 360ms var(--ease-out) both; }

html { background: var(--bg); }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% -10%, rgba(121,168,255,.11), transparent 32rem),
    radial-gradient(circle at -12% 34%, rgba(var(--acid-rgb),.05), transparent 28rem),
    var(--bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  font-optical-sizing: auto;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}

/* Floating navigation material */
.topbar {
  width: min(calc(100% - 2rem), var(--max));
  height: 4rem;
  top: .75rem;
  margin: 0 auto;
  padding: 0 .875rem 0 1rem;
  gap: 1.75rem;
  border: 1px solid var(--line);
  border-radius: 1.125rem;
  background: rgba(13, 18, 26, .76);
  box-shadow: 0 1px 0 rgba(255,255,255,.045) inset, 0 12px 40px rgba(0,0,0,.22);
  backdrop-filter: blur(24px) saturate(140%);
}
.topbar::after {
  content: "";
  position: absolute;
  inset: auto 8% -1.25rem;
  height: 1.25rem;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(8,11,16,.5), transparent);
  filter: blur(8px);
}
.brand { gap: .625rem; font-size: .98rem; letter-spacing: -.025em; font-weight: 540; }
.brand b { color: var(--text); font-weight: 720; }
.brand-mark { width: 1.125rem; height: 1.125rem; border-color: var(--acid); box-shadow: 0 0 0 .25rem rgba(var(--acid-rgb),.06); }
.brand-mark::after { background: var(--acid); }
.topbar nav { gap: .2rem; }
.topbar nav a { padding: .57rem .72rem; color: var(--soft); font-size: .75rem; font-weight: 550; border-radius: .65rem; transition: color 160ms ease, background 160ms ease, transform 100ms ease; }
.topbar nav a:hover { color: var(--text); background: rgba(255,255,255,.045); }
.topbar nav a.active { color: var(--text); background: rgba(var(--acid-rgb),.1); box-shadow: 0 0 0 1px rgba(var(--acid-rgb),.07) inset; }
.profile { min-width: 2.75rem; min-height: 2.75rem; margin-left:0; border-radius: .875rem; justify-content: center; transition: background 160ms ease, transform 100ms ease; }
.profile:hover { background: rgba(255,255,255,.05); }
.profile span { width: 2rem; height: 2rem; background: linear-gradient(145deg,#263344,#17202c); box-shadow: 0 1px 0 rgba(255,255,255,.08) inset; }
.profile i { background: var(--positive); box-shadow: 0 0 0 .2rem rgba(142,214,179,.1); }

/* Two-level finance navigation */
.global-search{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;margin-left:auto;padding:.45rem .55rem .45rem .75rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(5,9,14,.5);color:var(--soft);text-decoration:none;transition:color 160ms ease,border-color 160ms ease,background 160ms ease,transform 100ms ease}.global-search:hover{color:var(--text);border-color:var(--line-strong);background:rgba(var(--acid-rgb),.055)}.global-search span{color:var(--acid);font-size:1rem}.global-search b{font-size:.68rem;font-weight:570;white-space:nowrap}.global-search kbd{display:grid;min-width:1.45rem;height:1.45rem;place-items:center;border:1px solid var(--line);border-radius:.4rem;background:rgba(255,255,255,.035);color:var(--muted);font:600 .62rem ui-monospace,"SFMono-Regular",Consolas,monospace}.context-navigation{position:sticky;z-index:18;top:5.15rem;display:flex;width:min(calc(100% - 2rem),var(--max));min-height:2.85rem;margin:.95rem auto 0;padding:.32rem .4rem .32rem .85rem;align-items:center;gap:1rem;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:.9rem;background:rgba(10,15,22,.78);box-shadow:0 .8rem 2rem rgba(0,0,0,.16);backdrop-filter:blur(20px) saturate(135%)}.context-navigation>span{padding-right:.85rem;border-right:1px solid var(--line);color:var(--muted);font:650 .57rem/1 ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.context-navigation>div{display:flex;min-width:0;gap:.1rem;overflow:auto;scrollbar-width:none}.context-navigation>div::-webkit-scrollbar{display:none}.context-navigation a{min-height:2.15rem;padding:.55rem .72rem;border-radius:.6rem;color:var(--muted);font-size:.67rem;font-weight:590;white-space:nowrap}.context-navigation a:hover{color:var(--text);background:rgba(255,255,255,.04)}.context-navigation a[aria-current="page"]{color:var(--text);background:rgba(var(--acid-rgb),.1);box-shadow:0 0 0 1px rgba(var(--acid-rgb),.07) inset}.context-navigation+main{padding-top:3.5rem}#positionen,#watchlist,#news{scroll-margin-top:9rem}
.pricing-link{margin-left:auto;padding:.65rem .25rem;color:var(--muted);font-size:.67rem;font-weight:600;text-decoration:none;white-space:nowrap}.pricing-link:hover{color:var(--text)}.public-site-link{margin-left:.45rem;padding:.65rem .2rem;color:var(--muted);font-size:.67rem;font-weight:600;text-decoration:none;white-space:nowrap}.public-site-link:hover{color:var(--text)}.public-site-link+.global-search{margin-left:.35rem}

/* Type is the hierarchy */
h1, h2, h3, strong { text-wrap: balance; }
h1 {
  font-size: clamp(3.45rem, 6.5vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.068em;
  font-weight: 690;
}
h1 em { color: var(--acid); }
.page-intro h1 { max-width: 11ch; font-size: clamp(3.2rem, 6vw, 5.25rem); }
.lead { color: #b7c1cc; font-size: clamp(1rem, 1.5vw, 1.125rem); line-height: 1.6; letter-spacing: -.012em; }
.kicker { color: #8291a1; font: 650 .66rem/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .12em; }
.live-dot { background: var(--positive); box-shadow: 0 0 0 .3rem rgba(142,214,179,.08); }

/* Primary layout */
main { overflow: clip; }
.hero { min-height: 42rem; padding-top: 7rem; gap: clamp(2.5rem, 7vw, 6rem); }
.hero-copy { position: relative; z-index: 2; }
.hero-actions { margin-top: 2rem; }
.page-main { padding-top: 4.75rem; }
.page-intro { gap: clamp(2.5rem, 7vw, 6rem); padding-bottom: 4.5rem; }
.workspace, .split { padding-top: 7.5rem; }
.section-title { margin-bottom: 2rem; }

/* Controls: immediate, restrained physical feedback */
button, a { -webkit-tap-highlight-color: transparent; }
.primary, .quiet, .icon-button, .card-foot a, .flow-item button {
  min-height: 2.75rem;
  transition: transform 100ms ease-out, background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .8rem;
  background: linear-gradient(180deg, #8adcd5, #57bcb4);
  color: #04211f;
  box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, 0 .5rem 1.5rem rgba(var(--acid-rgb),.22);
}
.primary:hover { background: linear-gradient(180deg, #9ce6df, #66c9c1); box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 .7rem 2rem rgba(var(--acid-rgb),.3); }
.quiet, .icon-button { color: #c3ccd6; border-color: var(--line-strong); background: rgba(255,255,255,.018); }
.quiet:hover, .icon-button:hover { color: var(--text); border-color: rgba(var(--acid-rgb),.3); background: rgba(var(--acid-rgb),.055); }
.primary:active, .quiet:active, .icon-button:active, .profile:active, .card-foot a:active, .flow-item button:active { transform: scale(.97); transition-duration: 70ms; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: .125rem solid var(--acid); outline-offset: .2rem; }

/* Instrument surface, not card soup */
.instrument, .surface, .panel, .hero-metric, .metric-list, .context-note, .market-tile {
  border-color: var(--line);
  background: linear-gradient(145deg, rgba(22,30,42,.94), rgba(13,18,26,.97));
  box-shadow: var(--shadow-1);
}
.instrument {
  min-height: 30rem;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2);
  isolation: isolate;
}
.instrument::before { background: radial-gradient(circle, rgba(var(--acid-rgb),.13), transparent 65%); }
.instrument::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(255,255,255,.045), transparent 28%, transparent 72%, rgba(var(--acid-rgb),.025));
  pointer-events: none;
}
.status { color: var(--acid); border-color: rgba(var(--acid-rgb),.25); background: rgba(var(--acid-rgb),.05); }
.instrument > p b { color: var(--positive); }
.wealth-line .line { stroke: var(--acid); filter: drop-shadow(0 0 .5rem rgba(var(--acid-rgb),.25)); }
.wealth-line circle { fill: var(--acid); filter: drop-shadow(0 0 .5rem rgba(var(--acid-rgb),.5)); }
.coverage-matrix { display: grid; gap: 1.1rem; margin-top: 6.5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.coverage-matrix > div { display: grid; grid-template-columns: 5.5rem 1fr 3.5rem; gap: .9rem; align-items: center; }
.coverage-matrix span, .coverage-matrix em { color: var(--soft); font-size: .67rem; font-style: normal; }
.coverage-matrix em { text-align: right; }
.coverage-matrix i { height: .3rem; overflow: hidden; border-radius: 1rem; background: rgba(255,255,255,.08); }
.coverage-matrix i b { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue),var(--acid)); transform: scaleX(.08); transform-origin: left; transition: transform 650ms var(--spring); }
.instrument-deep-link { display:inline-flex; margin-top:1.4rem; color:var(--acid); font-size:.72rem; font-weight:650; text-decoration:none; }

.surface, .panel, .hero-metric, .metric-list { border-radius: var(--radius-lg); }
.surface { overflow: clip; }
.surface-head { padding: 1.5rem 1.65rem; border-color: var(--line); }
.surface-head h2 { font-size: 1.35rem; letter-spacing: -.035em; }
.surface-head p { color: var(--soft); line-height: 1.45; }
.context-note { padding: 1.25rem; border-radius: var(--radius-md); line-height: 1.55; }
.context-note b { letter-spacing: -.015em; }
.hero-metric { position: relative; overflow: hidden; }
.hero-metric::after {
  content: "";
  position: absolute;
  width: 13rem;
  height: 13rem;
  right: -6rem;
  top: -7rem;
  border-radius: 50%;
  background: rgba(var(--acid-rgb),.1);
  filter: blur(2rem);
}
.hero-metric strong { font-variant-numeric: tabular-nums; }
.hero-metric small { color: var(--acid); }

/* Forms */
.entry-form { background: rgba(7,10,15,.42); border-color: var(--line); }
.field-grid input, .field-grid select, .calc-form input, .pension-fields input, .pension-fields select, .import-controls select, .review-row input:not([type=checkbox]) {
  min-height: 2.75rem;
  padding: .75rem .8rem;
  border-color: var(--line-strong);
  border-radius: .75rem;
  background: rgba(6,10,15,.58);
  transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}
.field-grid input:hover, .field-grid select:hover, .calc-form input:hover, .pension-fields input:hover, .pension-fields select:hover { border-color: rgba(207,225,244,.3); }
.field-grid input:focus, .field-grid select:focus, .calc-form input:focus, .pension-fields input:focus, .pension-fields select:focus {
  border-color: var(--acid);
  background: rgba(12,18,26,.92);
  box-shadow: 0 0 0 .2rem rgba(var(--acid-rgb),.08);
}

/* Decision trail */
.action-grid { gap: .75rem; }
.action-card {
  min-height: 19rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(155deg, rgba(20,28,39,.96), rgba(12,17,24,.98));
  box-shadow: var(--shadow-1);
  transition: border-color 180ms ease, background 180ms ease;
}
.action-card:hover { transform: none; border-color: rgba(var(--acid-rgb),.25); background: linear-gradient(155deg, rgba(24,34,47,.98), rgba(13,19,27,.98)); }
.action-card.priority { color: var(--text); border-color: rgba(var(--acid-rgb),.28); background: linear-gradient(145deg, rgba(48,75,102,.72), rgba(15,24,34,.98)); }
.action-card.completed { border-color: rgba(142,214,179,.2); }
.action-card.completed.priority { background: linear-gradient(145deg, rgba(29,53,54,.68), rgba(14,23,29,.98)); border-color: rgba(142,214,179,.28); }
.priority .card-top i, .priority p, .priority .card-foot small { color: #b9c8d6; }
.progress { background: rgba(255,255,255,.09); }
.progress span { background: linear-gradient(90deg, var(--blue), var(--acid)); transform-origin: left; }
.card-foot a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.card-foot a::after, .knowledge-card b::after { content: ""; width: 1rem; height: 1px; margin-left: .45rem; background: currentColor; transform-origin: left; transition: transform 180ms var(--ease-out); }
.card-foot a:hover::after, .knowledge-card:hover b::after { transform: scaleX(1.45); }

/* Data visualisation */
.up { color: var(--positive); }
.down { color: var(--red); }
.coverage-track, .risk-meter, .allocation-row i { background: rgba(255,255,255,.08); }
.coverage-track span, .risk-meter span, .allocation-row i span { background: linear-gradient(90deg, var(--blue), var(--acid)); }
.coverage-track span, .risk-meter span { transition: width 650ms var(--spring); }
.donut { background: conic-gradient(var(--acid) 0 54%,var(--blue) 54% 82%,#617083 82% 94%,#2d3947 94%); }

/* Knowledge and market */
.news-card, .knowledge-card { min-height: 16rem; border-radius: var(--radius-lg); background: linear-gradient(150deg, rgba(18,25,35,.96), rgba(11,16,23,.98)); box-shadow: var(--shadow-1); transition: border-color 180ms ease, background 180ms ease; }
.news-card:hover, .knowledge-card:hover { transform: none; border-color: rgba(var(--acid-rgb),.24); background: linear-gradient(150deg, rgba(23,33,46,.98), rgba(12,18,25,.98)); }
.news-card b, .knowledge-card b { color: var(--acid); display: inline-flex; align-items: center; }
.news-grid > .empty-state { grid-column: 1 / -1; min-height: 12rem; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(16,22,32,.55); }
.news-disclaimer { max-width: 22rem; margin: 0; color: var(--soft); font-size: .75rem; line-height: 1.5; text-align: right; }
.bridge { border-color: rgba(var(--acid-rgb),.22); background: linear-gradient(125deg, rgba(27,44,61,.9), rgba(12,18,26,.96)); box-shadow: var(--shadow-1); }
.market-tile { transition: border-color 180ms ease, background 180ms ease; }
.market-tile:hover { transform: none; border-color: rgba(var(--acid-rgb),.27); background: linear-gradient(145deg, rgba(26,37,51,.97), rgba(14,20,28,.98)); }
.market-tile footer > span { display:grid; gap:.28rem; }
.market-tile .market-provider { color:var(--muted); font-size:.58rem; }
.market-tile[data-freshness="cached"],.market-tile[data-freshness="stale"] { border-color:rgba(243,186,99,.24); }
.market-tile[data-freshness="cached"] .market-session,.market-tile[data-freshness="stale"] .market-session { color:var(--amber); }
.market-source-note { margin:1rem 0 0; color:var(--soft); font-size:.68rem; line-height:1.5; }
.market-health #marketNextRefresh { color:var(--muted); font-variant-numeric:tabular-nums; }
.market-health>span.cached i { background:var(--amber); }

/* Klarfranken score: beginner summary, expert transparency one level deeper */
@property --score-progress { syntax: '<number>'; inherits: false; initial-value: 0; }
.score-workspace { max-width: var(--max); margin: 0 auto; padding: 7.5rem 1.5rem 0; }
.score-stage { display: grid; grid-template-columns: 15rem 1fr; gap: clamp(2.5rem,7vw,6rem); align-items: center; padding: 2rem 0 3rem; }
.score-ring { position: relative; width: 15rem; aspect-ratio: 1; padding: 1px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--acid) calc(var(--score-progress) * 1%), rgba(255,255,255,.075) 0); box-shadow: 0 0 4rem rgba(121,168,255,.08); transition: --score-progress 850ms var(--spring); }
.score-ring::before { content: ''; position: absolute; width: 12.25rem; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(145deg,rgba(21,30,42,.98),rgba(10,15,22,.99)); box-shadow: 0 1px 0 rgba(255,255,255,.05) inset; }
.score-ring > div { position: relative; z-index: 1; text-align: center; }
.score-ring strong { display: block; font-size: 4.3rem; line-height: .9; letter-spacing: -.075em; font-variant-numeric: tabular-nums; }
.score-ring span { display: block; margin-top: .55rem; color: var(--soft); font: .68rem ui-monospace,monospace; }
.score-intro h2 { max-width: 13ch; margin: 0; font-size: clamp(2.65rem,5vw,4.65rem); line-height: .95; letter-spacing: -.065em; }
.score-intro > p:not(.kicker) { max-width: 37rem; margin: 1.5rem 0 0; color: var(--soft); line-height: 1.6; }
.score-meta { display: flex; gap: .5rem; margin-top: 1.5rem; }
.score-meta span { padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 999px; color: #c8d2dc; background: rgba(255,255,255,.025); font-size: .68rem; }
.score-breakdown { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: clip; background: rgba(13,19,27,.78); box-shadow: var(--shadow-1); }
.score-category { border-bottom: 1px solid var(--line); }
.score-category:last-child { border-bottom: 0; }
.score-category summary { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .75rem 2rem; padding: 1.35rem 1.5rem 1.55rem; cursor: pointer; list-style: none; transition: background 160ms ease; }
.score-category summary::-webkit-details-marker { display: none; }
.score-category summary:hover { background: rgba(var(--acid-rgb),.035); }
.score-category summary > div:first-child span,.score-category summary > div:first-child small { display: block; }
.score-category summary > div:first-child span { font-weight: 660; letter-spacing: -.015em; }
.score-category summary > div:first-child small { max-width: 47rem; margin-top: .35rem; color: var(--soft); font-size: .71rem; line-height: 1.45; }
.score-category__value { display: flex; align-items: baseline; gap: .25rem; font-variant-numeric: tabular-nums; }
.score-category__value b { font-size: 1.35rem; }
.score-category__value span { color: var(--soft); font-size: .7rem; }
.score-category summary > i { grid-column: 1 / -1; height: .25rem; border-radius: 1rem; overflow: hidden; background: rgba(255,255,255,.07); }
.score-category summary > i b { display: block; width: 100%; height: 100%; transform-origin: left; border-radius: inherit; background: linear-gradient(90deg,var(--blue),var(--acid)); transition: transform 650ms var(--spring); }
.score-category__detail { display: flex; justify-content: space-between; gap: 2rem; padding: 0 1.5rem 1.35rem; color: var(--soft); animation: kf-fade-in 180ms ease both; }
.score-category__detail p { margin: 0; font-size: .73rem; line-height: 1.55; }
.score-category__detail p b { display: block; color: var(--text); }
.score-category__detail a { flex: 0 0 auto; color: var(--acid); font-size: .74rem; text-decoration: none; }
.score-next { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: 1.4rem 1.5rem; border: 1px solid rgba(var(--acid-rgb),.22); border-radius: var(--radius-lg); background: linear-gradient(120deg,rgba(29,48,66,.88),rgba(13,20,28,.96)); }
.score-next h3 { margin: 0; font-size: 1.35rem; letter-spacing: -.035em; }
.score-next p:not(.kicker) { margin: .35rem 0 0; color: var(--soft); font-size: .75rem; }
.score-next a { flex: 0 0 auto; text-decoration: none; }
.score-disclaimer { margin: .85rem 0 0; color: var(--muted); font-size: .65rem; text-align: right; }

/* Modal materials */
dialog, .local-data-sheet {
  border-color: var(--line-strong);
  border-radius: 1.65rem;
  background: rgba(16,22,32,.9);
  box-shadow: 0 2.5rem 8rem rgba(0,0,0,.58), 0 1px 0 rgba(255,255,255,.06) inset;
  backdrop-filter: blur(2rem) saturate(140%);
}
dialog[open] { animation: kf-materialize 360ms var(--spring) both; }
dialog::backdrop { background: rgba(3,6,10,.72); backdrop-filter: blur(.5rem); animation: kf-fade-in 200ms ease both; }
.choice-grid button { min-height: 4.5rem; border-color: var(--line); background: rgba(255,255,255,.025); transition: transform 100ms ease, border-color 180ms ease, background 180ms ease; }
.choice-grid button:hover { background: rgba(var(--acid-rgb),.045); }
.choice-grid button:active { transform: scale(.985); }
.choice-grid button.selected { border-color: var(--acid); background: rgba(var(--acid-rgb),.08); box-shadow: 0 0 0 1px rgba(var(--acid-rgb),.12) inset; }
.ready-mark { background: var(--acid); animation: none; box-shadow: 0 0 0 .65rem rgba(var(--acid-rgb),.06); }

/* Local data sheet injected by experience.js */
.local-data-sheet { width: min(31rem, calc(100% - 1.5rem)); padding: 0; color: var(--text); }
.local-data-sheet__inner { padding: 1.5rem; }
.local-data-sheet__head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.local-data-sheet__head h2 { margin: .35rem 0 0; font-size: 1.65rem; letter-spacing: -.045em; }
.local-data-sheet__close { width: 2.75rem; height: 2.75rem; border: 1px solid var(--line); border-radius: .8rem; background: rgba(255,255,255,.025); color: var(--text); font-size: 1.25rem; }
.local-data-sheet__copy { margin: 1rem 0 1.35rem; color: var(--soft); font-size: .85rem; line-height: 1.55; }
.data-health { border-block: 1px solid var(--line); }
.data-health__row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.data-health__row:last-child { border-bottom: 0; }
.data-health__row span { color: var(--soft); font-size: .78rem; }
.data-health__row b { font-size: .8rem; }
.local-data-sheet__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: 1.25rem; }
.local-data-sheet__actions a { text-decoration: none; }

/* Mobile wayfinding */
.mobile-dock { display: none; }

/* Orchestrated motion: one entrance, not dozens of tricks */
.page-enter, .hero-copy, .instrument { animation: none; }
body.motion-ready .hero-copy, body.motion-ready .page-intro > div:first-child { animation: kf-page-in 500ms var(--ease-out) both; }
body.motion-ready .instrument, body.motion-ready .page-intro > :last-child { animation: kf-materialize 560ms 70ms var(--spring) both; }
.reveal { transform: translateY(.85rem); transition: opacity 420ms ease, transform 520ms var(--ease-out); }
.reveal.visible { transform: none; }

@keyframes kf-page-in { from { opacity: 0; transform: translateY(.75rem); } to { opacity: 1; transform: none; } }
@keyframes kf-page-out { to { opacity: 0; transform: translateY(-.25rem); } }
@keyframes kf-materialize { from { opacity: 0; transform: scale(.975) translateY(.6rem); filter: blur(.4rem); } to { opacity: 1; transform: none; filter: none; } }
@keyframes kf-fade-in { from { opacity: 0; } }

@media (max-width: 900px) {
  body { padding-bottom: 5.5rem; }
  .topbar { width: calc(100% - 1rem); top: .5rem; }
  .topbar nav { display: none; }
  .hero { padding-top: 6rem; }
  .page-main { padding-top: 6rem; }
  .mobile-dock {
    position: fixed;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    width: min(calc(100% - 1rem), 34rem);
    left: 50%;
    bottom: max(.5rem, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    padding: .35rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: rgba(14,20,29,.88);
    box-shadow: 0 1rem 3rem rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.05) inset;
    backdrop-filter: blur(1.5rem) saturate(145%);
  }
  .mobile-dock a { display:flex;min-width:0;min-height:3.2rem;padding:.38rem .1rem;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:.7rem;color:var(--muted);text-align:center;text-decoration:none;font-size:clamp(.48rem,2vw,.57rem);font-weight:650;white-space:nowrap; }
  .mobile-dock a i{height:.9rem;color:inherit;font:normal .82rem/1 system-ui,sans-serif}.mobile-dock a span{display:block}
  .mobile-dock a[aria-current="page"] { color: var(--text); background: rgba(var(--acid-rgb),.1); }
  .score-stage { grid-template-columns: 1fr; }
  .score-ring { width: 12rem; }
  .score-ring::before { width: 9.75rem; }
  .score-ring strong { font-size: 3.4rem; }
}

@media (max-width: 600px) {
  .topbar { height: 3.7rem; overflow: visible; }
  .pricing-link,.public-site-link,.global-search{display:none}.context-navigation{width:calc(100% - 1rem);top:4.7rem;margin-top:.7rem;padding-left:.45rem}.context-navigation>span{display:none}.context-navigation+main{padding-top:3rem}
  .topbar .profile { display: flex; margin-left: auto; }
  .hero { min-height: auto; padding-top: 5.75rem; }
  h1, .page-intro h1, .hero-copy h1 { font-size: clamp(3rem, 15.5vw, 4.15rem); }
  .page-main { padding: 4.5rem 1rem 5rem; }
  .page-intro { padding-bottom: 3rem; }
  .context-note { padding: 1rem; }
  .surface, .panel, .hero-metric, .metric-list { border-radius: 1.15rem; }
  .instrument { min-height: 24rem; border-radius: 1.4rem; }
  .coverage-matrix { margin-top: 4.25rem; }
  .action-grid { gap: .7rem; }
  .action-card { min-width: 88vw; }
  .local-data-sheet__actions { grid-template-columns: 1fr; }
  .score-workspace { padding: 5.5rem 1rem 0; }
  .score-stage { gap: 2rem; padding-bottom: 2.25rem; }
  .score-intro h2 { font-size: 2.75rem; }
  .score-category summary { padding: 1.15rem; }
  .score-category__detail { display: block; padding: 0 1.15rem 1.2rem; }
  .score-category__detail a { display: inline-block; margin-top: .8rem; }
  .score-next { display: block; padding: 1.2rem; }
  .score-next a { margin-top: 1rem; width: 100%; }
  .score-disclaimer { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root), body.motion-ready .hero-copy, body.motion-ready .instrument, body.motion-ready .page-intro > * { animation: kf-fade-in 160ms ease both; transform: none; filter: none; }
  .reveal { transform: none; transition: opacity 160ms ease; }
}
@media (prefers-reduced-transparency: reduce) {
  .topbar, .mobile-dock, dialog, .local-data-sheet { background: #111822; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  :root { --line: rgba(255,255,255,.32); --line-strong: rgba(255,255,255,.55); --soft: #c4ccd5; }
  .topbar, .mobile-dock, .surface, .panel, .context-note { background: #0d131c; }
}

/* Übersicht: Arbeitsoberfläche statt Landingpage. */
.cockpit-hero {
  min-height: auto;
  padding-top: 4.6rem;
  padding-bottom: 2.75rem;
  display: block;
}
.cockpit-hero__head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(22rem,.72fr);
  gap: clamp(2rem,6vw,5.5rem);
  align-items: end;
  margin-bottom: 2rem;
}
.cockpit-hero__head h1 {
  max-width: 14ch;
  font-size: clamp(3.35rem,5.1vw,4.75rem);
}
.cockpit-hero__intro { padding-bottom: .35rem; }
.cockpit-hero__intro .lead { margin: 0; max-width: 32rem; font-size: clamp(1.08rem,1.7vw,1.24rem); line-height: 1.55; }
.cockpit-hero__intro .hero-actions { margin-top: 1.65rem; }
.cockpit-hero__intro .quiet { color: var(--text); background: rgba(255,255,255,.025); }
.cockpit-balance {
  min-height: 0;
  padding: 1.65rem;
  border-radius: 1.7rem;
}
.cockpit-balance::before {
  inset: -95% -10% auto 42%;
  height: 28rem;
}
.cockpit-balance__body {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(21rem,.65fr);
  gap: clamp(2rem,6vw,5rem);
  align-items: end;
  padding: 2.6rem 0 2.35rem;
}
.cockpit-balance__primary > span,
.cockpit-balance__metrics dt {
  color: var(--soft);
  font-size: .84rem;
  line-height: 1.4;
}
.cockpit-balance__primary > strong {
  display: block;
  margin-top: .7rem;
  font-size: clamp(3rem,6vw,5.25rem);
  font-weight: 650;
  line-height: .95;
  letter-spacing: -.067em;
  font-variant-numeric: tabular-nums;
}
.cockpit-balance__primary > p {
  max-width: 39rem;
  margin: 1.1rem 0 0;
  color: var(--soft);
  font-size: 1rem;
  line-height: 1.6;
}
.cockpit-balance__metrics {
  margin: 0;
  border-top: 1px solid var(--line);
}
.cockpit-balance__metrics > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 0;
  border-bottom: 1px solid var(--line);
}
.cockpit-balance__metrics dd {
  margin: 0;
  color: var(--text);
  font-size: 1.15rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.cockpit-balance .coverage-matrix {
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
  margin-top: 0;
  padding-top: 1.35rem;
}
.cockpit-balance .coverage-matrix > div {
  grid-template-columns: 6rem 1fr 3.5rem;
  gap: .7rem;
}
.cockpit-balance .coverage-matrix span,
.cockpit-balance .coverage-matrix em { font-size: .75rem; }
.cockpit-balance__actions {
  display: flex;
  gap: 1.35rem;
  margin-top: 1.35rem;
}
.cockpit-balance__actions a {
  color: var(--acid);
  font-size: .88rem;
  font-weight: 650;
  text-decoration: none;
}
.cockpit-balance__actions a:last-child { color: var(--soft); }
.cockpit-map { padding-top: 3rem; }
.cockpit-map .section-title h2 { max-width: 18ch; font-size: clamp(2.4rem,4.2vw,3.8rem); }
.cockpit-grid { grid-template-columns: repeat(3,1fr); gap: .7rem; }
.cockpit-card {
  min-height: 11.5rem;
  padding: 1.35rem;
  border-radius: 1.15rem;
  transition: border-color 180ms ease, background 180ms ease, transform 160ms var(--ease-out), box-shadow 180ms ease;
}
.cockpit-card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--acid-rgb),.26);
  background: linear-gradient(145deg,rgba(22,31,43,.98),rgba(13,19,27,.98));
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18);
}
.cockpit-card:active { transform: scale(.985); }
.cockpit-card__icon { width: 2.25rem; height: 2.25rem; }
.cockpit-card h3 { margin: 1rem 0 .45rem; font-size: 1.35rem; letter-spacing: -.03em; }
.cockpit-card p { max-width: 31rem; font-size: .86rem; line-height: 1.5; }
.cockpit-card__foot { padding-top: .9rem; }
.cockpit-card__foot span { font-size: .7rem; }
.cockpit-card.is-pressed,
.action-card a.is-pressed,
.score-category summary.is-pressed { transform: scale(.985); transition-duration: 70ms; }

/* Home typography: important finance data never lives at caption size. */
.cockpit-home .topbar nav a { font-size: .8rem; }
.cockpit-home .instrument-head { font-size: .78rem; }
.cockpit-home .status { padding: .38rem .55rem; font-size: .66rem; }
.cockpit-home .market-rail span { font-size: .69rem; }
.cockpit-home .market-rail b { font-size: 1rem; }
.cockpit-home .market-rail em,
.cockpit-home .market-rail p { font-size: .69rem; }
.cockpit-home .score-intro > p:not(.kicker) { font-size: .98rem; }
.cockpit-home .score-meta span { font-size: .78rem; }
.cockpit-home .score-category summary > div:first-child span { font-size: 1rem; }
.cockpit-home .score-category summary > div:first-child small { font-size: .82rem; line-height: 1.55; }
.cockpit-home .score-category__value span { font-size: .78rem; }
.cockpit-home .score-category__detail p,
.cockpit-home .score-category__detail a { font-size: .82rem; }
.cockpit-home .score-next p:not(.kicker) { font-size: .84rem; }
.cockpit-home .score-disclaimer { font-size: .72rem; line-height: 1.5; }
.cockpit-home .action-card { min-height: 15rem; padding: 1.45rem; }
.cockpit-home .card-top { font-size: .68rem; }
.cockpit-home .action-card h3 { margin: 2.25rem 0 .75rem; font-size: 1.45rem; line-height: 1.08; }
.cockpit-home .action-card p { font-size: .86rem; line-height: 1.55; }
.cockpit-home .card-foot a { font-size: .84rem; font-weight: 650; }
.cockpit-home .panel { min-height: 32rem; }
.cockpit-home .donut strong { font-size: 1.65rem; }
.cockpit-home .donut span,
.cockpit-home .allocation li { font-size: .8rem; }
.cockpit-home .flow-item b { font-size: .88rem; }
.cockpit-home .flow-item small { font-size: .76rem; line-height: 1.45; }
.cockpit-home .security { font-size: .7rem; line-height: 1.5; }

@media (max-width: 900px) {
  .cockpit-hero__head { grid-template-columns: 1fr; gap: 1.5rem; }
  .cockpit-balance__body { grid-template-columns: 1fr; gap: 1.5rem; }
  .cockpit-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .cockpit-hero { padding-top: 4.75rem; padding-bottom: 2rem; }
  .cockpit-hero__head { margin-bottom: 1.75rem; }
  .cockpit-hero__head h1 { font-size: clamp(3.1rem,15vw,4.15rem); }
  .cockpit-hero__intro .hero-actions { display: grid; gap: .6rem; }
  .cockpit-hero__intro .hero-actions > * { width: 100%; justify-content: center; }
  .cockpit-balance { padding: 1.2rem; }
  .cockpit-balance__body { padding: 2rem 0 1.5rem; }
  .cockpit-balance__primary > strong { font-size: clamp(2.55rem,12vw,3.45rem); }
  .cockpit-balance .coverage-matrix { grid-template-columns: 1fr; gap: .85rem; }
  .cockpit-balance__actions { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .cockpit-map { padding-top: 2.25rem; }
  .cockpit-map .section-title h2 { font-size: 2.35rem; }
  .cockpit-grid { grid-template-columns: 1fr; }
  .cockpit-card { min-height: 9.5rem; }
  .cockpit-home .panel { min-height: auto; }
}

/* Finanzbild: one balance sheet, then the ledger behind it. */
.wealth-intro h1 { max-width: 13ch; }
.wealth-stage { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(20rem,.65fr); min-height: 35rem; border: 1px solid var(--line); border-radius: var(--radius-xl); overflow: clip; background: linear-gradient(145deg,rgba(20,28,39,.96),rgba(9,14,20,.99)); box-shadow: var(--shadow-2); }
.wealth-balance { position: relative; min-width: 0; padding: clamp(2rem,5vw,4.5rem); isolation: isolate; }
.wealth-balance::after { content:""; position:absolute; z-index:-1; width:28rem; aspect-ratio:1; left:-12rem; bottom:-18rem; border-radius:50%; background:rgba(121,168,255,.1); filter:blur(4rem); }
.wealth-balance__head { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.wealth-balance__head .kicker { margin:0; }
.wealth-balance > strong { display:block; margin-top:clamp(4rem,9vw,7rem); font-size:clamp(4rem,8vw,7.5rem); line-height:.86; letter-spacing:-.08em; font-weight:620; font-variant-numeric:tabular-nums; }
.wealth-balance > p { margin:1.25rem 0 0; color:var(--soft); font-size:.82rem; }
.balance-track { position:relative; height:.55rem; margin-top:clamp(3rem,6vw,5rem); border-radius:1rem; background:rgba(255,255,255,.07); overflow:hidden; }
.balance-track span,.balance-track i { position:absolute; inset:0; display:block; transform:scaleX(0); transition:transform 700ms var(--spring); }
.balance-track span { transform-origin:left; background:linear-gradient(90deg,var(--blue),var(--acid)); }
.balance-track i { transform-origin:right; background:linear-gradient(90deg,transparent,var(--red)); opacity:.9; }
.wealth-totals { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.2rem 0 0; }
.wealth-totals div { display:flex; justify-content:space-between; gap:1rem; }
.wealth-totals dt { color:var(--soft); font-size:.7rem; }
.wealth-totals dd { margin:0; font-size:.74rem; font-weight:650; font-variant-numeric:tabular-nums; }
.wealth-composition { border-left:1px solid var(--line); background:rgba(6,10,15,.32); }
.composition-list { padding:.75rem 1.6rem 1.75rem; }
.composition-row { display:grid; grid-template-columns:1fr 2.2rem; column-gap:1rem; padding:1rem 0; color:inherit; text-decoration:none; border-bottom:1px solid var(--line); }
.composition-row div { display:flex; justify-content:space-between; gap:1rem; }
.composition-row span,.composition-row b,.composition-row em { font-size:.72rem; font-style:normal; }
.composition-row span { color:#c5ced8; }
.composition-row b { font-variant-numeric:tabular-nums; }
.composition-row i { align-self:end; height:.24rem; margin-top:.55rem; overflow:hidden; border-radius:1rem; background:rgba(255,255,255,.07); }
.composition-row i span { display:block; width:100%; height:100%; transform-origin:left; background:var(--acid); transition:transform 650ms var(--spring); }
.composition-row em { grid-column:2; grid-row:1/3; align-self:center; color:var(--soft); text-align:right; }
.wealth-ledger { margin-top:8rem; }
.ledger-note { max-width:22rem; margin:0; color:var(--soft); font-size:.74rem; line-height:1.55; text-align:right; }
.wealth-ledger__grid { display:grid; grid-template-columns:1fr 1fr; gap:.875rem; align-items:start; }
.ledger-count { display:grid; place-items:center; min-width:2rem; height:2rem; border:1px solid var(--line-strong); border-radius:.65rem; color:var(--soft); font:.7rem ui-monospace,monospace; }
.ledger-form { display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:.75rem; padding:1.25rem 1.65rem; border-bottom:1px solid var(--line); background:rgba(6,10,15,.32); }
.ledger-form label { color:var(--soft); font-size:.68rem; }
.ledger-form input,.ledger-form select { width:100%; min-height:2.75rem; margin-top:.45rem; padding:.7rem .75rem; border:1px solid var(--line-strong); border-radius:.75rem; background:rgba(6,10,15,.58); color:var(--text); font:inherit; }
.ledger-form button { grid-column:1/-1; justify-self:end; }
.ledger-form__pair { display:grid; grid-template-columns:1fr .7fr; gap:.75rem; }
.ledger-list { padding:.5rem 1.65rem 1.4rem; }
.ledger-row { display:grid; grid-template-columns:1fr auto 1.7rem; gap:1rem; align-items:center; min-height:4.4rem; border-bottom:1px solid var(--line); }
.ledger-row b,.ledger-row small { display:block; }
.ledger-row b { font-size:.78rem; }
.ledger-row small { margin-top:.25rem; color:var(--soft); font-size:.62rem; }
.ledger-row strong { font-size:.78rem; font-variant-numeric:tabular-nums; }
.liability-panel .ledger-row strong { color:#ffaaa4; }
.wealth-message { min-height:3rem; padding:1rem .25rem; color:var(--soft); font-size:.72rem; }
.wealth-message button { margin-left:.5rem; padding:.25rem .5rem; border:0; border-radius:.4rem; color:var(--acid); background:rgba(var(--acid-rgb),.08); }

@media(max-width:900px){.wealth-stage,.wealth-ledger__grid{grid-template-columns:1fr}.wealth-composition{border-left:0;border-top:1px solid var(--line)}.ledger-note{text-align:left}.ledger-form{grid-template-columns:1fr 1fr}.ledger-form>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wealth-stage{border-radius:var(--radius-lg)}.wealth-balance{padding:1.5rem}.wealth-balance>strong{margin-top:4rem;font-size:clamp(3.2rem,16vw,5rem)}.wealth-totals{grid-template-columns:1fr}.wealth-totals div{padding-top:.55rem;border-top:1px solid var(--line)}.ledger-form{grid-template-columns:1fr;padding:1.15rem}.ledger-form>div:first-child{grid-column:auto}.ledger-form__pair{grid-template-columns:1fr}.ledger-list{padding-inline:1.15rem}.wealth-ledger{margin-top:5rem}.ledger-row{grid-template-columns:1fr auto 1.5rem}}

/* One calm, functional motion language across the cockpit. */
.interface-progress{position:fixed;z-index:100;inset:0 0 auto;height:2px;background:var(--acid);box-shadow:0 0 16px rgba(var(--acid-rgb),.28);transform:scaleX(0);transform-origin:left;pointer-events:none}
.topbar.is-scrolled{border-color:rgba(var(--acid-rgb),.18);background:rgba(8,12,18,.9);box-shadow:0 1.25rem 3.5rem rgba(0,0,0,.28)}
.brand-mark{transition:transform 320ms var(--spring),border-color 180ms ease}.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.04);border-color:#d4e4ff}
.hero-copy h1,.page-intro h1{text-wrap:balance}.hero-copy .lead,.page-intro>div:first-child>p:last-child{text-wrap:pretty}
.instrument,.surface,.panel,.score-workspace{isolation:isolate}.instrument::after,.surface::after,.panel::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(var(--acid-rgb),.025));pointer-events:none}
.surface,.panel{position:relative;box-shadow:0 1rem 3rem rgba(0,0,0,.12);transition:border-color 200ms ease,box-shadow 260ms ease,background 200ms ease}.surface:hover,.panel:hover{border-color:rgba(var(--acid-rgb),.18);box-shadow:0 1.4rem 3.8rem rgba(0,0,0,.17)}
.reveal{transition-delay:var(--reveal-delay,0ms)}.context-navigation{transition:border-color 180ms ease,background 180ms ease,box-shadow 220ms ease}.context-navigation:hover{border-color:rgba(var(--acid-rgb),.16)}
.primary,.quiet,.icon-button,.global-search,.profile{-webkit-tap-highlight-color:transparent}.primary:active,.quiet:active,.icon-button:active,.global-search:active{transform:scale(.975)}
@media(max-width:600px){.interface-progress{bottom:0;top:auto;height:2px}.surface:hover,.panel:hover{box-shadow:0 1rem 3rem rgba(0,0,0,.12)}}
@media(prefers-reduced-motion:reduce){.interface-progress{display:none}.brand-mark,.surface,.panel,.context-navigation{transition:none}}

/* Vorsorge-Eingabemaske: groesser, klarer, ruhiger (Design-Konsolidierung) */
.pension-inputs legend { font-size: 14px; letter-spacing: -.01em; margin-bottom: 2px; }
.pension-fields { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px 20px; margin-top: 18px; }
.pension-fields label { display: flex; flex-direction: column; color: var(--text); font-size: 13px; font-weight: 550; line-height: 1.3; }
.pension-fields input, .pension-fields select { margin-top: 8px; padding: 13px 14px; font-size: 16px; font-variant-numeric: tabular-nums; border-radius: 12px; border: 1px solid var(--line-strong); background: rgba(6,10,15,.55); }
.pension-fields input:focus, .pension-fields select:focus { border-color: var(--acid); box-shadow: 0 0 0 3px rgba(99,199,192,.16); }
.pension-fields .field-hint { margin-top: 7px; font-size: 11.5px; font-weight: 400; color: var(--muted); line-height: 1.4; }

/* ═══════════════════════════════════════════════════════════════════════
   PREMIUM-REFINEMENT — folgt dem Design-Brief (keine Glows, keine
   Farbverläufe auf Akzentflächen, wenige starke Akzente, Apple-ruhig).
   Bewusst am Dateiende: gewinnt per Kaskade über die obigen Regeln.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --acid:#5fb1a3;            /* ruhiger, entsättigter Teal statt Neon-Mint */
  --acid-rgb:95,177,163;
}
/* Überschriften bleiben monochrom – kein eingefärbter Zweitteil */
h1 em{color:var(--text)}
/* Kicker: ruhige Satz-Labels statt Uppercase-Mono-Technik */
.kicker{font-family:inherit;text-transform:none;letter-spacing:.005em;font-weight:600;color:var(--soft)}
/* Primärbutton: flach und solide, ohne Glow/Verlauf */
.primary{background:var(--acid);color:#05130f;box-shadow:none}
.primary:hover{background:#6cbfb1;box-shadow:none;transform:none}
/* Akzent-Glows entfernen */
.brand-mark,.live-dot,.profile i,.topbar nav a.active,.context-navigation a[aria-current="page"],.score-ring{box-shadow:none}
.profile i{background:var(--muted)}.profile[data-authenticated="true"] i{background:var(--acid)}.profile[aria-current="page"] span{box-shadow:0 0 0 1px rgba(var(--acid-rgb),.45) inset}.pricing-link[aria-current="page"]{color:var(--text);text-decoration:underline;text-decoration-color:var(--acid);text-underline-offset:.35rem}
.instrument::before{display:none}
/* Meter/Fortschritt: flache Akzentfläche statt Blau/Rot→Teal-Verlauf
   (semantische data-level-Farben behalten höhere Spezifität und bleiben) */
.coverage-matrix i b,.progress span,.coverage-track span,.risk-meter span,.allocation-row i span,.score-category summary>i b,.balance-track span{background:var(--acid)}
/* Aufgaben-Karten: neutrale erhöhte Fläche statt akzentgetöntem Verlauf */
.action-card.priority{background:var(--panel-raised);border-color:var(--line-strong);color:var(--text)}
.action-card.priority p,.action-card.priority .card-top i,.action-card.priority .card-foot small,.action-card.priority small{color:var(--soft)}
.action-card:hover{background:var(--panel2)}
/* Statuslabels ruhiger: Sentence-Case statt Uppercase-Mono */
.cockpit-card__foot span,.card-top,.market-rail span,.planning-tiles span,.wealth-trend__head,.tax-result-hero span,.status{text-transform:none;letter-spacing:.005em;font-family:inherit}
/* ── Struktur-Refinement: dunkel edler, Übersicht entschlackt, Score entschärft ── */
/* Completion-Meter neutral – Teal bleibt CTA/Semantik vorbehalten */
.coverage-matrix i b,.progress span,.coverage-track span,.score-category summary>i b,.balance-track span,.allocation-row i span{background:rgba(207,225,244,.5)}
/* Score entschärfen: kompakt, nicht der Held der Seite */
.score-workspace{padding-top:4.25rem}
.score-stage{grid-template-columns:9rem 1fr;gap:clamp(1.5rem,4vw,3rem);padding:1rem 0 2rem}
.score-ring{width:9rem}
.score-ring::before{width:7.2rem}
.score-ring strong{font-size:2.5rem}
.score-intro h2{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.08;letter-spacing:-.03em;max-width:26ch}
.score-intro>p:not(.kicker){margin-top:.7rem;font-size:.82rem}
@media(max-width:900px){.score-stage{grid-template-columns:1fr}}
/* Übersicht: Allokation ohne redundantes Start-Panel, volle Breite */
.split.single{grid-template-columns:1fr}
/* Charts: ruhige Palette, kein Linien-/Donut-Glow (Design-Brief: keine Glows) */
:root{ --chart-1: #5fb1a3; }
.chart-market-line{ filter: none; }
.portfolio-donut-wrap svg{ filter: none; }
