/* Julian Platform v1.0.105
   Canonical UI clarity layer. Loaded after styles.css so future global
   refinements stay separate from historical release overrides. */

:root {
  --ui-bg: #f3f6fa;
  --ui-surface: #ffffff;
  --ui-surface-soft: #f8fafc;
  --ui-surface-raised: #fbfdff;
  --ui-text: #16243a;
  --ui-heading: #102d5a;
  --ui-muted: #63748a;
  --ui-faint: #8795a7;
  --ui-line: #dbe4ed;
  --ui-line-soft: #e9eef3;
  --ui-accent: #287a70;
  --ui-accent-soft: #e7f4f1;
  --ui-navy: #14366d;
  --ui-blue-soft: #edf4ff;
  --ui-radius: 14px;
  --ui-radius-sm: 10px;
  --ui-shadow: 0 7px 24px rgba(20, 45, 82, .07);
  --ui-shadow-soft: 0 2px 9px rgba(20, 45, 82, .045);
}

html,
body {
  background:
    radial-gradient(circle at 12% -10%, rgba(46, 117, 148, .08), transparent 28rem),
    var(--ui-bg);
  color: var(--ui-text);
}

body {
  font-variant-numeric: tabular-nums;
}

button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(47, 124, 177, .24);
  outline-offset: 2px;
}

.pageShell {
  width: min(1420px, calc(100% - 32px));
  padding-top: 14px;
}

.desktopHeader.hero {
  min-height: 62px;
  padding: 13px 18px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background:
    radial-gradient(circle at 92% 12%, rgba(65, 169, 155, .24), transparent 28%),
    linear-gradient(125deg, #102e61, #16457a 62%, #176b70 130%);
  box-shadow: 0 9px 25px rgba(13, 40, 84, .19);
}

.hero h1 {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  letter-spacing: -.02em;
}

.heroTitleMeta,
.heroMeta {
  color: rgba(224, 235, 247, .78);
}

.sourcePill,
.refreshButton,
.userMenuTrigger {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}

.tabBar {
  top: 8px;
  gap: 3px;
  margin-top: 9px;
  padding: 5px;
  border-color: rgba(207, 218, 229, .88);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 5px 18px rgba(21, 48, 84, .08);
}

.tabButton {
  min-height: 35px;
  padding: 0 12px;
  border-radius: 8px;
  color: #55687e;
  font-size: 12.5px;
  font-weight: 680;
}

.tabButton:hover {
  color: var(--ui-heading);
  background: #edf3f8;
}

.tabButton.isActive {
  color: #fff;
  background: linear-gradient(135deg, #173b73, #23656c);
  box-shadow: 0 3px 9px rgba(22, 61, 105, .2);
}

.tabButton small {
  min-width: 18px;
  height: 18px;
  background: #e8eef4;
  font-size: 10.5px;
}

.tabPanel {
  margin-top: 10px;
  padding: 17px;
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow);
}

.panelHeader {
  min-height: 38px;
  margin-bottom: 13px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--ui-line-soft);
}

.panelTitle {
  gap: 9px;
}

.panelTitle > span:first-child {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 8px;
  background: var(--ui-accent-soft);
  color: #286960;
  font-size: 14px;
}

.panelTitle h2 {
  color: var(--ui-heading);
  font-size: 18px;
  letter-spacing: -.012em;
}

.panelTitleMeta,
.panelMeta {
  color: var(--ui-faint);
  font-size: 11.5px;
  font-weight: 600;
}

.panelTitleAction,
.overviewHeaderLink,
.secondaryButton {
  border-color: #ccd9e5;
  border-radius: 8px;
  color: #225d79;
  background: #f6f9fc;
  font-weight: 750;
}

/* Shared scan surfaces */
.kpiCard,
.homeKpiCard,
.miniKpi,
.financeOverviewMetric,
.mobileReportKpi,
.actionSummaryGrid article,
.statusSummaryGrid article,
.wealthTotalPanel,
.wealthMixCard {
  border-color: var(--ui-line);
  border-radius: 11px;
  background: linear-gradient(180deg, #fff, #fbfcfe);
  box-shadow: var(--ui-shadow-soft);
}

.kpiCard,
.homeKpiCard,
.financeOverviewMetric {
  min-height: 88px;
}

.kpiTop,
.homeKpiLabel,
.financeOverviewMetric > span,
.miniKpi > span,
.mobileReportKpi > span {
  color: var(--ui-muted);
  font-size: 11.5px;
  font-weight: 750;
  letter-spacing: .025em;
}

.kpiValue,
.homeKpiCard > strong,
.financeOverviewMetric > strong,
.miniKpi > strong {
  color: var(--ui-heading);
  letter-spacing: -.02em;
}

.dashboardSummaryKpis > :nth-child(1),
.financeOverviewStrip > :nth-child(1) {
  box-shadow: inset 0 3px #547be4, var(--ui-shadow-soft);
}

.dashboardSummaryKpis > :nth-child(2),
.financeOverviewStrip > :nth-child(2) {
  box-shadow: inset 0 3px #319280, var(--ui-shadow-soft);
}

.dashboardSummaryKpis > :nth-child(3),
.financeOverviewStrip > :nth-child(3) {
  box-shadow: inset 0 3px #8a62d2, var(--ui-shadow-soft);
}

.positive { color: #087a43; }
.negative { color: #c3373e; }
.neutral { color: #65758a; }

.overviewDetailCard,
.dailyBriefPanel,
.portfolioHistoryPanel,
.financeMoversPanel,
.financePositionsBlock,
.trainingStatusPanel,
.trainingCockpitToday,
.trainingCockpitRoadmapSection,
.trainingCockpitStatsSection,
.trainingCockpitRecentSection,
.wealthSection,
.profitSection,
.jobFilterPanel,
.statusCompact,
.documentationShell {
  border-color: var(--ui-line);
  border-radius: 12px;
  background: var(--ui-surface);
  box-shadow: none;
}

.overviewDetailHeader,
.financeBlockHead,
.trainingCockpitSectionHead,
.wealthSectionHead,
.profitSectionHead,
.statusSectionHead {
  border-bottom-color: var(--ui-line-soft);
}

.overviewDetailHeader h2,
.financeBlockHead h3,
.trainingCockpitSectionHead h3,
.wealthSectionHead h3,
.profitSectionHead h3,
.statusSectionHead h3 {
  color: var(--ui-heading);
  letter-spacing: -.01em;
}

/* Home and Actions */
.priorityBoard {
  border-color: #d9e5ee;
  border-radius: 12px;
  background: linear-gradient(120deg, #f4f8ff, #f3faf8);
}

.priorityFocusCard {
  border-color: #dfe7ee;
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 2px 7px rgba(25, 54, 89, .04);
}

.priorityBoardGrid > :nth-child(1) { box-shadow: inset 3px 0 #3a79d8; }
.priorityBoardGrid > :nth-child(2) { box-shadow: inset 3px 0 #2e8b78; }
.priorityBoardGrid > :nth-child(3) { box-shadow: inset 3px 0 #8d63ca; }

.dailyBriefTile {
  border-color: var(--ui-line-soft);
  border-radius: 10px;
  background: var(--ui-surface-raised);
}

.actionSummaryGrid {
  gap: 8px;
}

.actionCard {
  border-color: var(--ui-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(19, 47, 82, .045);
}

.actionCard--critical,
.actionCard--high { box-shadow: inset 3px 0 #d64a50, 0 2px 8px rgba(19, 47, 82, .045); }
.actionCard--medium { box-shadow: inset 3px 0 #d39634, 0 2px 8px rgba(19, 47, 82, .045); }
.actionCard--low { box-shadow: inset 3px 0 #4d8e83, 0 2px 8px rgba(19, 47, 82, .045); }

.actionPriority {
  border-radius: 999px;
  letter-spacing: .025em;
}

.actionOpenButton,
.actionStateButton {
  min-height: 32px;
  border-radius: 8px;
}

/* Tables and dense data */
.tableWrap,
.jobTableWrapV4,
.financeTableWrap,
.portfolioAnalystTableWrap,
.profitsDetailWrap {
  border: 1px solid var(--ui-line);
  border-radius: 11px;
  background: #fff;
}

.dataTable,
.financeTable,
.jobTableV5,
.portfolioAnalystTable,
.profitsDetailTable {
  font-variant-numeric: tabular-nums;
}

.dataTable thead th,
.financeTable thead th,
.jobTableV5 thead th,
.portfolioAnalystTable thead th,
.profitsDetailTable thead th {
  color: #52667d;
  background: #f3f6f9;
  border-bottom: 1px solid #d8e2eb;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .025em;
}

.dataTable tbody tr,
.financeTable tbody tr,
.jobTableV5 tbody tr,
.portfolioAnalystTable tbody tr,
.profitsDetailTable tbody tr {
  transition: background-color 120ms ease;
}

.dataTable tbody tr:hover,
.financeTable tbody tr:hover,
.jobTableV5 tbody tr:hover,
.portfolioAnalystTable tbody tr:hover,
.profitsDetailTable tbody tr:hover {
  background: #f7fafc;
}

.dataTable tbody td,
.financeTable tbody td,
.jobTableV5 tbody td,
.portfolioAnalystTable tbody td,
.profitsDetailTable tbody td {
  border-bottom-color: var(--ui-line-soft);
}

/* Depot and financial overview */
.financeOverviewStrip,
.wealthMixGrid,
.wealthAccountGrid,
.financeTargetGrid {
  gap: 8px;
}

.portfolioChartToolbar,
.profitFilters,
.jobFiltersV5 {
  border-color: var(--ui-line);
  border-radius: 10px;
  background: #f5f8fb;
}

.chartSegment,
.profitFilter,
.jobFilterToggle {
  border-radius: 7px;
}

.chartSegment.isActive,
.profitFilter.isActive {
  background: var(--ui-navy);
  box-shadow: 0 2px 7px rgba(18, 51, 96, .18);
}

.movementItem,
.wealthAccountRow,
.rebalanceRow,
.targetCompareRow {
  border-color: var(--ui-line-soft);
  border-radius: 9px;
  background: #fbfcfe;
}

.wealthCockpitHero {
  border-radius: 14px;
  background:
    radial-gradient(circle at 90% 10%, rgba(86, 180, 160, .18), transparent 31%),
    linear-gradient(130deg, #122f62, #245679);
}

.wealthMixBar,
.targetCompareBar,
.rebalanceBar {
  overflow: hidden;
  border-radius: 999px;
}

/* Training and Investments */
.trainingStatusPanel {
  background: linear-gradient(120deg, #f7fbfa, #f6f8fc);
}

.trainingStatusProgressTrack,
.trainingCockpitProgressTrack {
  background: #dfe9e6;
}

.trainingStatusProgressFill,
.trainingCockpitProgressFill {
  background: linear-gradient(90deg, #2f8d79, #4f75cc);
}

.trainingCockpitPlanItem,
.trainingCockpitRecentItem,
.marketIdeaRowV3,
.portfolioRecommendationRow,
.mobileAnalystCompactRow {
  border-color: var(--ui-line-soft);
  border-radius: 9px;
}

.marketWorldV5,
.marketIdeasV5,
.marketRadarV5,
.portfolioAnalystV5 {
  border-color: var(--ui-line);
  border-radius: 12px;
  box-shadow: none;
}

.marketDeskV6 .marketWorldV5 { background: linear-gradient(135deg, #f5faf9, #fbfdfd); }
.marketDeskV6 .marketIdeasV5 { background: linear-gradient(135deg, #f7faf7, #fdfefd); }
.marketDeskV6 .marketRadarV5 { background: linear-gradient(135deg, #fffaf3, #fffdf9); }
.marketDeskV6 .portfolioAnalystV5 { background: linear-gradient(135deg, #f8f6fc, #fdfcff); }

/* Calendar, News and Links */
.calendarColumn {
  border-color: var(--ui-line);
  border-radius: 11px;
  background: #fff;
}

.calendarDateGroup {
  border-color: var(--ui-line-soft);
}

.calendarGroupedItem {
  border-radius: 8px;
  transition: background-color 120ms ease;
}

.calendarGroupedItem:hover {
  background: #f6f9fb;
}

.newsList {
  border: 1px solid var(--ui-line);
  border-radius: 11px;
  overflow: hidden;
}

.newsRow {
  min-height: 54px;
  border-bottom-color: var(--ui-line-soft);
  background: #fff;
  transition: background-color 120ms ease;
}

.newsRow:hover {
  background: #f6f9fb;
}

.newsIndex {
  color: #356b78;
  background: var(--ui-accent-soft);
}

.newsCategoryChip {
  border-radius: 999px;
}

.linkGroup {
  border-color: var(--ui-line);
}

.linkCard {
  border-color: var(--ui-line);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, #fbfcfe);
  box-shadow: var(--ui-shadow-soft);
  transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.linkCard:hover {
  border-color: #a9c6d1;
  box-shadow: 0 7px 18px rgba(23, 61, 92, .08);
  transform: translateY(-1px);
}

/* Profits, Jobs and status */
.profitFilters {
  padding: 5px;
}

.profitFilter {
  min-height: 33px;
}

.profitHistoryPanel,
.profitsYearlyTable,
.mobileProfitYearRow {
  border-color: var(--ui-line);
  border-radius: 10px;
}

.jobFilterPanel {
  background: #f8fafc;
}

.jobFilterPanel input,
.jobFilterPanel select {
  border-color: #cdd8e3;
  border-radius: 8px;
  background: #fff;
}

.jobRowInteresting {
  background: #f3faf6;
  box-shadow: inset 3px 0 #5aa278;
}

.statusSummaryGrid {
  gap: 8px;
}

.statusSummaryResult.isGood {
  border-color: #b9dfcf;
  background: #f0faf5;
}

.statusAttention {
  border-color: var(--ui-line);
  border-radius: 11px;
  background: #fff;
}

.statusCard {
  border-color: var(--ui-line-soft);
  border-radius: 9px;
  background: #fbfcfe;
}

.statusSourceDetails {
  border-color: var(--ui-line);
  border-radius: 9px;
  background: #f8fafc;
}

/* Playground and documentation */
.decisionLabHero {
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(20, 53, 91, .12);
}

.decisionLabNav,
.decisionLabPanel,
.decisionLabAllocationRow,
.decisionLabPlanRow,
.decisionLabSliders label {
  border-color: var(--ui-line);
}

.documentationToolbar {
  border-color: var(--ui-line);
  border-radius: 11px;
  background: linear-gradient(135deg, #f5f9fc, #f4faf8);
}

.documentationContent {
  color: #2f425a;
  line-height: 1.65;
}

.documentationContent h1,
.documentationContent h2,
.documentationContent h3 {
  color: var(--ui-heading);
  letter-spacing: -.015em;
}

.documentationContent h2 {
  margin-top: 1.7em;
  padding-bottom: .35em;
  border-bottom: 1px solid var(--ui-line-soft);
}

.documentationContent code {
  border-radius: 5px;
  background: #eef3f7;
}

/* Responsive contract */
@media (min-width: 701px) and (max-width: 1180px) {
  .pageShell {
    width: min(100% - 22px, 1120px);
    padding-top: 11px;
  }

  .tabPanel {
    padding: 15px;
  }

  .panelHeader {
    align-items: center;
  }

  .decisionLabQuestion,
  .wealthCockpitHero {
    gap: 16px;
  }
}

@media (max-width: 700px) {
  html,
  body {
    background: #fff;
  }

  body {
    padding-bottom: max(66px, env(safe-area-inset-bottom));
  }

  .pageShell {
    width: 100%;
    padding: 0 0 8px;
  }

  .mobileHeader {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    border-radius: 0 0 12px 12px;
    background:
      radial-gradient(circle at 92% 0, rgba(61, 168, 151, .22), transparent 31%),
      linear-gradient(125deg, #102e61, #174a78);
    box-shadow: 0 5px 15px rgba(15, 43, 81, .15);
  }

  .tabBar {
    top: auto;
    gap: 2px;
    margin: 0;
    padding: 7px max(8px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border: 0;
    border-top: 1px solid rgba(200, 215, 235, .72);
    border-radius: 17px 17px 0 0;
    background: rgba(246, 249, 253, .97);
    box-shadow: 0 -4px 24px rgba(10, 24, 55, .12);
  }

  .tabButton {
    min-width: 58px;
    min-height: 57px;
    padding: 6px 8px 5px;
    border-radius: 12px;
    color: #66768a;
    font-size: 11px;
    font-weight: 650;
  }

  .tabButton:hover {
    color: var(--ui-navy);
    background: rgba(12, 42, 86, .06);
  }

  .tabButton.isActive {
    color: #174b82;
    background: #e9f1fc;
    box-shadow: none;
  }

  .tabPanel {
    margin-top: 5px;
    padding: 9px 8px 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .panelHeader {
    min-height: 33px;
    margin-bottom: 9px;
    padding-bottom: 8px;
  }

  .panelTitle {
    gap: 7px;
  }

  .panelTitle > span:first-child {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    border-radius: 7px;
    font-size: 12px;
  }

  .panelTitle h2 {
    font-size: 16px;
  }

  .panelTitleMeta,
  .panelMeta {
    font-size: 11px;
  }

  .kpiCard,
  .homeKpiCard,
  .financeOverviewMetric {
    min-height: 78px;
    border-radius: 10px;
    box-shadow: none;
  }

  .priorityBoard,
  .overviewDetailCard,
  .dailyBriefPanel,
  .portfolioHistoryPanel,
  .financeMoversPanel,
  .financePositionsBlock,
  .trainingStatusPanel,
  .trainingCockpitToday,
  .trainingCockpitRoadmapSection,
  .trainingCockpitStatsSection,
  .trainingCockpitRecentSection,
  .wealthSection,
  .profitSection,
  .jobFilterPanel,
  .statusCompact,
  .documentationShell {
    border-radius: 10px;
  }

  .actionCard {
    border-radius: 10px;
    box-shadow: none;
  }

  .tableWrap,
  .jobTableWrapV4,
  .financeTableWrap,
  .portfolioAnalystTableWrap,
  .profitsDetailWrap,
  .newsList {
    border-radius: 9px;
  }

  .newsRow {
    min-height: 50px;
  }

  .linkCard:hover {
    transform: none;
  }

  .decisionLabHero {
    box-shadow: none;
  }

  .documentationContent {
    font-size: 13px;
    line-height: 1.58;
  }
}


/* v1.0.107: Externes Finanzen100-Portfolio unterhalb der Depot-Holdings.
   Gestaltungsraster der v1.0.105-Clarity-Schicht konsequent beibehalten. */
.financeExternalPortfolio {
  min-width: 0;
  padding-top: 14px;
  border-top: 2px solid var(--jp-section-divider, #9bb4b9);
}

.financeExternalPortfolioHeader {
  align-items: center;
  gap: 12px;
}

.financeExternalPortfolioHeader h3 {
  color: var(--ui-heading);
  font-size: 16px;
  letter-spacing: -.012em;
}

.financeExternalPortfolioLink {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid #ccd9e5;
  border-radius: 8px;
  color: #225d79;
  background: #f6f9fc;
  font-size: 12.5px;
  font-weight: 750;
  text-decoration: none;
}

.financeExternalPortfolioLink:hover {
  border-color: #a9c2d4;
  background: #edf4f8;
}

.financeExternalPortfolioFrameShell {
  min-width: 0;
  height: min(760px, 78dvh);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid var(--ui-line);
  border-radius: 11px;
  background: var(--ui-surface-soft);
  box-shadow: var(--ui-shadow-soft);
}

.financeExternalPortfolioFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

.financeExternalPortfolioHint {
  margin: 8px 1px 0;
  color: var(--ui-muted);
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 700px) {
  .financeExternalPortfolio { padding-top: 10px; }
  .financeExternalPortfolioHeader { flex-wrap: wrap; gap: 9px; }
  .financeExternalPortfolioHeader h3 { font-size: 15px; }
  .financeExternalPortfolioLink { min-height: 34px; padding: 6px 10px; font-size: 12px; }
  .financeExternalPortfolioFrameShell { height: 70dvh; min-height: 430px; border-radius: 9px; }
  .financeExternalPortfolioHint { font-size: 11.5px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v1.0.112: scan-first density, full-width desktop and stable data alignment. */
@media (min-width: 701px) {
  .pageShell {
    width: calc(100% - 24px);
    max-width: none;
    padding-top: 12px;
  }

  .tabPanel {
    padding: 15px 16px;
  }

  .financeOverviewStrip--five {
    grid-template-columns: minmax(210px, 1.2fr) repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .financeOverviewMetric {
    min-height: 78px;
    padding: 11px 13px 10px;
  }

  .financeOverviewMetric > span {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .financeOverviewMetric > strong {
    font-size: clamp(18px, 1.45vw, 23px);
  }

  .financeOverviewMetric > small,
  .financeOverviewPortfolioPnl {
    margin-top: 4px !important;
    font-size: 12.5px !important;
  }
}

.financeExternalPortfolio {
  padding-top: 0;
  border-top: 0;
}

.financeExternalPortfolioLaunch {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  background: linear-gradient(135deg, #f7f9fc, #f2f7fa);
}

.financeExternalPortfolioMark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, #173b73, #287a70);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .02em;
}

.financeExternalPortfolioLaunch > div:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.financeExternalPortfolioLaunch > div:nth-child(2) span {
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: 700;
}

.financeExternalPortfolioLaunch > div:nth-child(2) strong {
  overflow: hidden;
  color: var(--ui-heading);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profitMethodDetails {
  margin-top: 9px;
  border: 1px solid var(--ui-line-soft);
  border-radius: 9px;
  background: var(--ui-surface-soft);
}

.profitMethodDetails > summary {
  width: max-content;
  padding: 7px 9px;
  cursor: pointer;
  color: #52667d;
  font-size: 12px;
  font-weight: 750;
  list-style: none;
}

.profitMethodDetails > summary::-webkit-details-marker {
  display: none;
}

.profitMethodDetailsBody {
  padding: 0 10px 9px;
}

.profitMethodDetails:not([open]) > .profitMethodDetailsBody,
.marketSectionInfo:not([open]) > p {
  display: none;
}

.profitMethodDetails .profitVisualVestAccountingNote,
.profitMethodDetails .profitFootnote {
  margin-top: 4px;
}

.marketSectionInfo {
  position: relative;
  z-index: 10;
  flex: 0 0 auto;
}

.marketSectionInfo > summary {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid #cad7e5;
  border-radius: 50%;
  cursor: pointer;
  color: #48657e;
  background: #fff;
  font-size: 12px;
  font-weight: 850;
  list-style: none;
}

.marketSectionInfo > summary::-webkit-details-marker {
  display: none;
}

.marketSectionInfo > p {
  position: absolute;
  top: 33px;
  right: 0;
  width: min(290px, calc(100vw - 40px));
  margin: 0 !important;
  padding: 9px 10px;
  border: 1px solid var(--ui-line);
  border-radius: 9px;
  color: var(--ui-text) !important;
  background: #fff;
  box-shadow: var(--ui-shadow);
  font-size: 12px !important;
  line-height: 1.4;
}

.profitResultCell.positive strong,
.profitReturnCell.positive strong,
.profitsDetailTable tfoot .positive strong {
  color: #087a43 !important;
}

.profitResultCell.negative strong,
.profitReturnCell.negative strong,
.profitsDetailTable tfoot .negative strong {
  color: #c3373e !important;
}

.profitResultCell.positive,
.profitReturnCell.positive {
  background: rgba(8, 122, 67, .045);
}

.profitResultCell.negative,
.profitReturnCell.negative {
  background: rgba(195, 55, 62, .045);
}

/* Activity facts form a two-row invisible table on every viewport. */
.activityMetricGrid,
.activityMetricGrid.activityMetricGrid--withDate {
  grid-template-columns: minmax(78px, .9fr) minmax(58px, .7fr) minmax(60px, .75fr) minmax(76px, 1fr);
  gap: 3px 8px;
  align-items: baseline;
}

.activityMetric {
  overflow: visible;
  text-overflow: clip;
}

.activityMetric--date { grid-column: 1; grid-row: 1; }
.activityMetric--distance { grid-column: 2; grid-row: 1; }
.activityMetric--duration { grid-column: 3; grid-row: 1; }
.activityMetric--tempo { grid-column: 4; grid-row: 1; }
.activityMetric--heart { grid-column: 1; grid-row: 2; }
.activityMetric--power { grid-column: 2 / 5; grid-row: 2; }

.activityMetricGrid:not(.activityMetricGrid--withDate) .activityMetric--distance { grid-column: 1; grid-row: 1; }
.activityMetricGrid:not(.activityMetricGrid--withDate) .activityMetric--duration { grid-column: 2; grid-row: 1; }
.activityMetricGrid:not(.activityMetricGrid--withDate) .activityMetric--tempo { grid-column: 3; grid-row: 1; }
.activityMetricGrid:not(.activityMetricGrid--withDate) .activityMetric--heart { grid-column: 4; grid-row: 1; }
.activityMetricGrid:not(.activityMetricGrid--withDate) .activityMetric--power { grid-column: 1 / 5; grid-row: 2; }

@media (min-width: 1181px) {
  .overviewActivityItem {
    grid-template-columns: 40px minmax(170px, .8fr) minmax(340px, 1.4fr);
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  .pageShell {
    width: calc(100% - 16px);
  }

  .tabButton {
    padding-right: 9px;
    padding-left: 9px;
    font-size: 12px;
  }

  .financeOverviewStrip--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .financeOverviewMetric--portfolio {
    grid-column: span 1;
  }

  .overviewActivityItem {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .overviewActivityMetrics {
    grid-column: 2;
  }
}

@media (max-width: 700px) {
  .financeExternalPortfolio {
    padding: 0 !important;
  }

  .financeExternalPortfolioLaunch {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
    border-radius: 9px;
  }

  .financeExternalPortfolioMark {
    width: 34px;
    height: 34px;
  }

  .financeExternalPortfolioLink {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 34px;
  }

  .activityMetricGrid,
  .activityMetricGrid.activityMetricGrid--withDate {
    grid-template-columns: minmax(72px, .95fr) minmax(52px, .7fr) minmax(55px, .72fr) minmax(70px, 1fr) !important;
    gap: 2px 5px;
    font-size: 11.5px;
  }

  .profitMethodDetails > summary {
    width: 100%;
  }
}

@media (max-width: 370px) {
  .activityMetricGrid,
  .activityMetricGrid.activityMetricGrid--withDate {
    grid-template-columns: minmax(68px, .95fr) minmax(49px, .7fr) minmax(52px, .72fr) minmax(64px, 1fr) !important;
    gap: 2px 4px;
    font-size: 11px;
  }
}

/* v1.0.113: framed desktop shell and modern wealth dashboard. */
@media (min-width: 1181px) {
  .pageShell {
    width: min(1660px, calc(100% - 40px));
    max-width: 1660px;
    padding-top: 16px;
  }

  .desktopHeader.hero {
    border-radius: 18px;
  }

  .tabBar {
    margin-top: 11px;
    border-radius: 14px;
  }

  .tabPanel {
    margin-top: 12px;
    padding: 19px 20px;
    border-radius: 17px;
    box-shadow: 0 12px 35px rgba(20, 45, 82, .075);
  }
}

.financialOverviewLayout {
  display: grid;
  gap: 16px;
}

.financialOverviewLayout .wealthCockpitHero {
  gap: 14px;
  margin: 0;
  border-radius: 0;
  background: none;
}

.financialOverviewLayout .wealthTotalPanel,
.financialOverviewLayout .wealthMixPanel,
.financialOverviewLayout > .wealthSection {
  border: 1px solid #dce5ee;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(20, 45, 82, .055);
}

.financialOverviewLayout .wealthTotalPanel {
  position: relative;
  isolation: isolate;
  min-height: 255px;
  justify-content: flex-start;
  overflow: hidden;
  padding: 22px;
  border: 0;
  color: #fff;
  background:
    radial-gradient(circle at 92% 5%, rgba(77, 207, 187, .34), transparent 38%),
    radial-gradient(circle at 15% 110%, rgba(60, 124, 215, .36), transparent 44%),
    linear-gradient(140deg, #112e5e 0%, #16477a 57%, #166d70 125%);
  box-shadow: 0 14px 30px rgba(13, 43, 83, .2);
}

.financialOverviewLayout .wealthTotalPanel::after {
  position: absolute;
  z-index: -1;
  right: -58px;
  bottom: -70px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255, 255, 255, .025);
  content: "";
}

.wealthTotalLabelLine {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.financialOverviewLayout .wealthTotalPanel .wealthEyebrow {
  color: rgba(235, 245, 255, .76);
}

.wealthStatusBadge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: rgba(244, 255, 252, .9);
  background: rgba(255, 255, 255, .09);
  font-size: 10.5px;
  font-weight: 800;
}

.wealthStatusBadge::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #6ee7c2;
  box-shadow: 0 0 0 3px rgba(110, 231, 194, .14);
  content: "";
}

.financialOverviewLayout .wealthTotalPanel > strong {
  margin-top: 23px;
  color: #fff;
  font-size: clamp(2.15rem, 3.25vw, 3.15rem);
  letter-spacing: -.055em;
}

.financialOverviewLayout .wealthTotalMeta {
  display: grid;
  gap: 8px;
  margin-top: 11px;
}

.financialOverviewLayout .wealthTotalMeta > span {
  color: rgba(225, 238, 250, .7);
}

.financialOverviewLayout .wealthTotalMeta > em {
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .1);
  font-weight: 800;
}

.financialOverviewLayout .wealthTotalMeta > em.positive { color: #92f0c8; }
.financialOverviewLayout .wealthTotalMeta > em.negative { color: #ffb2b5; }
.financialOverviewLayout .wealthTotalMeta > em.neutral { color: rgba(235, 244, 252, .78); }

.wealthTotalFacts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: auto;
  padding-top: 22px;
}

.wealthTotalFacts > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  color: rgba(231, 241, 251, .68);
  background: rgba(255, 255, 255, .065);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.25;
}

.wealthTotalFacts b {
  color: #fff;
  font-size: 14px;
}

.financialOverviewLayout .wealthMixPanelV98 {
  padding: 18px 19px 15px;
  background: linear-gradient(150deg, #fff 42%, #f8fbfd);
}

.financialOverviewLayout .wealthMixHeader {
  align-items: center;
}

.financialOverviewLayout .wealthMixHeader h3 {
  color: var(--ui-heading);
  font-size: 17px;
  letter-spacing: -.015em;
}

.wealthMixInfo {
  position: relative;
  z-index: 4;
  flex: 0 0 auto;
}

.wealthMixInfo > summary {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #ccd8e4;
  border-radius: 50%;
  cursor: pointer;
  color: #4d667f;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 850;
  list-style: none;
}

.wealthMixInfo > summary::-webkit-details-marker { display: none; }

.wealthMixInfo > p {
  position: absolute;
  top: 34px;
  right: 0;
  width: min(290px, calc(100vw - 44px));
  margin: 0;
  padding: 10px 11px;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  color: var(--ui-text);
  background: #fff;
  box-shadow: var(--ui-shadow);
  font-size: 12px;
  line-height: 1.42;
}

.wealthMixInfo:not([open]) > p { display: none; }

.financialOverviewLayout .wealthMixVisual {
  grid-template-columns: 172px minmax(0, 1fr);
  gap: 17px;
  margin-top: 5px;
}

.financialOverviewLayout .wealthDonutWrap {
  width: 164px;
  height: 164px;
}

.financialOverviewLayout .wealthDonutTrack,
.financialOverviewLayout .wealthDonutSegment {
  stroke-width: 19;
}

.financialOverviewLayout .wealthDonutCenter strong {
  color: var(--ui-heading);
  font-size: 17px;
}

.financialOverviewLayout .wealthMixGrid {
  gap: 7px;
}

.financialOverviewLayout .wealthMixCard {
  min-height: 70px;
  padding: 10px 11px;
  border: 1px solid #e4eaf0;
  border-radius: 11px;
  background: #fbfcfe;
  box-shadow: none;
}

.financialOverviewLayout .wealthMixCardHead > span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.wealthMixIcon {
  display: grid;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  place-items: center;
  border-radius: 6px;
  color: #31577d;
  background: #eaf0f7;
  font-size: 10px;
  font-style: normal;
}

.wealthMixCard--cash .wealthMixIcon { color: #176948; background: #e5f5ed; }
.wealthMixCard--depot .wealthMixIcon { color: #225aae; background: #e8f0fd; }
.wealthMixCard--robo .wealthMixIcon { color: #7041ad; background: #f0eafd; }
.wealthMixCard--crypto .wealthMixIcon { color: #9b5e06; background: #fff1d8; }
.wealthMixCard--gold .wealthMixIcon { color: #8a6815; background: #f8efd5; }

.financialOverviewLayout > .wealthSection {
  margin: 0;
  padding: 17px 18px 18px;
  background: linear-gradient(180deg, #fff, #fcfdfe);
}

.financialOverviewLayout > .wealthSection + .wealthSection {
  margin-top: 0;
}

.financialOverviewLayout .wealthSectionHeader {
  margin-bottom: 12px;
}

.financialOverviewLayout .wealthSectionHeader h3 {
  margin-top: 2px;
  color: var(--ui-heading);
  font-size: 19px;
  letter-spacing: -.02em;
}

.financialOverviewLayout .wealthSectionHeader > span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #5c7087;
  background: #eef3f7;
  font-size: 11.5px;
  font-weight: 800;
}

.financialOverviewLayout .wealthAccountGrid {
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 9px;
}

.financialOverviewLayout .wealthAccountGroup {
  overflow: hidden;
  border: 1px solid #dde6ee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(20, 45, 82, .035);
}

.financialOverviewLayout .wealthAccountGroup > summary {
  min-height: 68px;
  align-items: center;
  padding: 11px 34px 11px 11px;
  background: #fff;
}

.financialOverviewLayout .wealthAccountGroup > summary:hover {
  background: #f8fafc;
}

.financialOverviewLayout .wealthAccountGroup > summary > div:first-child {
  align-items: center;
  gap: 9px;
}

.wealthAccountIcon {
  display: grid;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  place-items: center;
  border-radius: 9px;
  color: #31577d;
  background: #eaf0f7;
  font-size: 13px;
}

.wealthAccountIcon--cash { color: #176948; background: #e5f5ed; }
.wealthAccountIcon--depot { color: #225aae; background: #e8f0fd; }
.wealthAccountIcon--robo { color: #7041ad; background: #f0eafd; }
.wealthAccountIcon--crypto { color: #9b5e06; background: #fff1d8; }

.financialOverviewLayout .wealthAccountGroupBody {
  padding: 4px 8px 8px;
  background: #fbfcfe;
}

.financialOverviewLayout .wealthAccountGroupRow {
  padding: 8px 5px;
  border: 0;
  border-top: 1px solid #edf1f5;
  border-radius: 0;
  background: transparent;
}

.wealthAccountGroup:not([open]) > .wealthAccountGroupBody,
.wealthHistoryDetails:not([open]) > :not(summary),
.financeTargetNotes:not([open]) > :not(summary),
.financeTargetBasis:not([open]) > :not(summary),
.rebalanceInRange:not([open]) > :not(summary),
.wealthNotes:not([open]) > :not(summary) {
  display: none !important;
}

.financialOverviewLayout .financeRebalanceV98 {
  gap: 10px;
}

.financialOverviewLayout .rebalanceStage {
  border-color: #dce5ee;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(20, 45, 82, .03);
}

.financialOverviewLayout .rebalanceStageHead {
  padding: 10px 12px;
  background: #f7f9fc;
}

.financialOverviewLayout .rebalanceStageHead > div > span {
  border-radius: 8px;
  background: linear-gradient(135deg, #173b73, #287a70);
}

.financialOverviewLayout .rebalanceRow {
  border-radius: 0;
  background: #fff;
}

.financialOverviewLayout .rebalanceRow:hover {
  background: #fbfcfe;
}

.financialOverviewLayout .wealthHistorySectionV98 {
  background:
    radial-gradient(circle at 95% 0, rgba(53, 129, 162, .055), transparent 35%),
    #fff;
}

.financialOverviewLayout .wealthTrendPanel {
  padding: 12px 14px 7px;
  border-color: #e1e8ef;
  background: linear-gradient(180deg, #f8fbff, #fff);
  box-shadow: inset 0 1px #fff;
}

.financialOverviewLayout .wealthTrendSummary > span {
  border: 1px solid #e2e9f0;
  background: rgba(255, 255, 255, .82);
}

.financialOverviewLayout .wealthHistoryDetails,
.financialOverviewLayout .wealthNotes {
  border-color: #e1e8ef;
  background: #f8fafc;
}

@media (min-width: 1500px) {
  .financialOverviewLayout .wealthCockpitHero {
    grid-template-columns: minmax(330px, .8fr) minmax(0, 1.55fr);
  }

  .financialOverviewLayout .wealthAccountGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  .financialOverviewLayout {
    gap: 12px;
  }

  .financialOverviewLayout .wealthCockpitHero {
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.45fr);
    gap: 10px;
  }

  .financialOverviewLayout .wealthTotalPanel {
    padding: 17px;
  }

  .wealthTotalFacts {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-top: 14px;
  }

  .wealthTotalFacts > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 6px 8px;
  }

  .financialOverviewLayout .wealthMixVisual {
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 9px;
  }

  .financialOverviewLayout .wealthDonutWrap {
    width: 140px;
    height: 140px;
  }
}

@media (max-width: 700px) {
  .financialOverviewLayout {
    gap: 9px;
  }

  .financialOverviewLayout .wealthCockpitHero {
    gap: 9px;
  }

  .financialOverviewLayout .wealthTotalPanel,
  .financialOverviewLayout .wealthMixPanel,
  .financialOverviewLayout > .wealthSection {
    border-radius: 12px !important;
    box-shadow: none;
  }

  .financialOverviewLayout .wealthTotalPanel {
    min-height: 212px;
    padding: 15px;
    box-shadow: 0 8px 20px rgba(13, 43, 83, .16);
  }

  .financialOverviewLayout .wealthTotalPanel > strong {
    margin-top: 17px;
    font-size: clamp(2rem, 10vw, 2.45rem);
  }

  .financialOverviewLayout .wealthTotalMeta {
    gap: 6px;
    margin-top: 8px;
  }

  .wealthTotalFacts {
    gap: 4px;
    padding-top: 14px;
  }

  .wealthTotalFacts > span {
    padding: 7px 6px;
    font-size: 9.5px;
  }

  .financialOverviewLayout .wealthMixPanelV98 {
    padding: 13px 11px 11px;
  }

  .financialOverviewLayout .wealthMixHeader h3 {
    font-size: 15px;
  }

  .financialOverviewLayout .wealthMixVisual {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 7px;
  }

  .financialOverviewLayout .wealthDonutWrap {
    width: 126px;
    height: 126px;
  }

  .financialOverviewLayout .wealthMixVisual .wealthMixGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .financialOverviewLayout .wealthMixCard {
    min-height: 61px;
    padding: 7px 8px;
  }

  .financialOverviewLayout .wealthMixCard:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .financialOverviewLayout > .wealthSection {
    padding: 12px 10px;
  }

  .financialOverviewLayout .wealthSectionHeader {
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 9px;
  }

  .financialOverviewLayout .wealthSectionHeader > span {
    max-width: 48%;
    text-align: right;
  }

  .financialOverviewLayout .wealthAccountGrid {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .financialOverviewLayout .wealthAccountGroup > summary {
    min-height: 60px;
  }

  .financialOverviewLayout .wealthTrendPanel {
    margin-inline: 0;
    padding: 9px 5px 4px;
  }
}

/* v1.0.114: wealth palette, consistent depot KPIs and editorial news cards. */
.financialOverviewLayout .wealthTotalPanel {
  background:
    radial-gradient(circle at 94% 4%, rgba(131, 220, 190, .25), transparent 37%),
    radial-gradient(circle at 12% 112%, rgba(91, 151, 141, .25), transparent 43%),
    linear-gradient(140deg, #172a2e 0%, #1f4a49 58%, #347468 125%);
  box-shadow: 0 14px 30px rgba(20, 54, 55, .21);
}

.financialOverviewLayout .wealthTotalPanel::after {
  border-color: rgba(220, 247, 238, .1);
  box-shadow: 0 0 0 34px rgba(220, 247, 238, .025);
}

.financialOverviewLayout .wealthStatusBadge {
  color: #e9fff8;
  background: rgba(210, 246, 235, .11);
}

.financialOverviewLayout .wealthTotalMeta > em.positive {
  border: 1px solid rgba(144, 240, 198, .2);
  color: #a8f3d1;
  background: rgba(18, 103, 75, .32);
}

.financialOverviewLayout .wealthTotalMeta > em.negative {
  border: 1px solid rgba(255, 174, 179, .19);
  color: #ffd0d2;
  background: rgba(119, 30, 42, .35);
}

.financeOverviewStrip--five > .financeOverviewMetric {
  --finance-metric-accent: #547be4;
  border-color: #dbe4ed;
  box-shadow: inset 0 3px var(--finance-metric-accent), var(--ui-shadow-soft);
}

.financeOverviewStrip--five > .financeOverviewMetric:nth-child(1) { --finance-metric-accent: #547be4; }
.financeOverviewStrip--five > .financeOverviewMetric:nth-child(2) { --finance-metric-accent: #319280; }
.financeOverviewStrip--five > .financeOverviewMetric:nth-child(3) { --finance-metric-accent: #7169c9; }
.financeOverviewStrip--five > .financeOverviewMetric--monthly { --finance-metric-accent: #d09232; }
.financeOverviewStrip--five > .financeOverviewMetric--dividends { --finance-metric-accent: #9a5fc2; }

.financialOverviewLayout .rebalanceStageHead {
  position: relative;
  padding-right: 43px;
  cursor: pointer;
  list-style: none;
}

.financialOverviewLayout .rebalanceStageHead::-webkit-details-marker {
  display: none;
}

.financialOverviewLayout .rebalanceStageHead::after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 21px;
  height: 21px;
  border: 1px solid #d2dce6;
  border-radius: 7px;
  color: #597087;
  background: #fff;
  content: "⌄";
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
  line-height: 18px;
  text-align: center;
  transform: translateY(-50%);
  transition: transform 150ms ease;
}

.financialOverviewLayout .rebalanceStage[open] > .rebalanceStageHead::after {
  transform: translateY(-50%) rotate(180deg);
}

.financialOverviewLayout .rebalanceStage:not([open]) > .rebalanceStageHead {
  border-bottom: 0;
}

.financialOverviewLayout .rebalanceStage:not([open]) > :not(summary) {
  display: none !important;
}

.newsDigest {
  display: grid;
  gap: 11px;
}

.newsDigestFeature {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .8fr);
  gap: 11px;
}

.newsDigestFeature--solo {
  grid-template-columns: 1fr;
}

.newsDigestSide {
  display: grid;
  gap: 11px;
}

.newsDigestGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.newsDigestCard {
  --news-accent: #39786f;
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 16px;
  border: 1px solid #dce5ed;
  border-radius: 14px;
  color: var(--ui-text);
  background:
    linear-gradient(90deg, var(--news-accent), var(--news-accent)) top / 100% 3px no-repeat,
    #fff;
  box-shadow: 0 4px 14px rgba(20, 45, 82, .045);
  text-decoration: none;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

a.newsDigestCard:hover {
  border-color: #c6d5e1;
  box-shadow: 0 10px 25px rgba(20, 45, 82, .09);
  transform: translateY(-2px);
}

.newsDigestCard--market { --news-accent: #2d8176; }
.newsDigestCard--tech { --news-accent: #4d70c3; }
.newsDigestCard--world { --news-accent: #b97935; }
.newsDigestCard--general { --news-accent: #7a65af; }

.newsDigestCard--lead {
  min-height: 195px;
  justify-content: flex-end;
  padding: 23px 24px;
  background:
    radial-gradient(circle at 95% 2%, color-mix(in srgb, var(--news-accent) 15%, transparent), transparent 38%),
    linear-gradient(90deg, var(--news-accent), var(--news-accent)) top / 100% 4px no-repeat,
    linear-gradient(145deg, #f5f9fc, #eef6f4);
}

.newsDigestCard--compact {
  min-height: 92px;
  padding: 14px 15px;
}

.newsDigestCard--standard {
  min-height: 130px;
}

.newsDigestCardTop {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
}

.newsDigestKicker,
.newsDigestCategory {
  overflow: hidden;
  color: var(--news-accent);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .06em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.newsDigestCategory {
  padding: 3px 6px;
  border-radius: 999px;
  color: #5e7084;
  background: rgba(255, 255, 255, .72);
  letter-spacing: .02em;
  text-transform: none;
}

.newsDigestArrow {
  display: grid;
  width: 25px;
  height: 25px;
  margin-left: auto;
  flex: 0 0 25px;
  place-items: center;
  border: 1px solid #d8e2ea;
  border-radius: 8px;
  color: #50677d;
  background: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-style: normal;
}

.newsDigestCard h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #172b49;
  font-size: 15px;
  line-height: 1.38;
  letter-spacing: -.012em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.newsDigestCard--lead h3 {
  max-width: 850px;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  -webkit-line-clamp: 4;
}

.newsDigestCard--compact h3 {
  font-size: 14px;
  line-height: 1.32;
  -webkit-line-clamp: 2;
}

.newsDigestMeta {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 13px;
  color: #718096;
  font-size: 11.5px;
}

.newsDigestMeta strong {
  overflow: hidden;
  color: #4e6379;
  font-size: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.newsDigestMeta time {
  flex: 0 0 auto;
}

.newsDigestMeta time::before {
  margin-right: 7px;
  color: #b2bdc8;
  content: "•";
}

@media (max-width: 1180px) {
  .newsDigestGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .newsDigestFeature,
  .newsDigestGrid {
    grid-template-columns: 1fr;
  }

  .newsDigestCard--lead,
  .newsDigestCard--compact,
  .newsDigestCard--standard {
    min-height: 0;
    padding: 14px;
  }

  .newsDigestCard--lead {
    padding: 17px 15px;
  }

  .newsDigestCard--lead h3 {
    font-size: 19px;
  }

  .newsDigestCard--compact h3,
  .newsDigestCard--standard h3 {
    font-size: 14px;
    -webkit-line-clamp: 3;
  }
}

/* v1.0.115: semantic wealth tone and contextual methodology. */
.financialOverviewLayout .wealthTotalPanel--negative {
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 172, 179, .16), transparent 37%),
    radial-gradient(circle at 12% 112%, rgba(161, 91, 106, .2), transparent 43%),
    linear-gradient(140deg, #29272e 0%, #413038 58%, #623d43 125%);
  box-shadow: 0 14px 30px rgba(67, 35, 43, .2);
}

.financialOverviewLayout .wealthTotalPanel--negative .wealthStatusBadge::before {
  background: #ffafb5;
  box-shadow: 0 0 0 3px rgba(255, 175, 181, .14);
}

.financialOverviewLayout .wealthTotalMeta > em.negative {
  color: #ffd0d2 !important;
}

.financialOverviewLayout .wealthTotalMeta > em.positive {
  color: #a8f3d1 !important;
}

.financialOverviewLayout .wealthTotalMeta > em.neutral {
  color: rgba(235, 244, 252, .82) !important;
}

.financialOverviewLayout .wealthTotalPanel--neutral {
  background:
    radial-gradient(circle at 94% 4%, rgba(149, 181, 198, .18), transparent 37%),
    linear-gradient(140deg, #202a31 0%, #34434c 62%, #4b5e65 125%);
  box-shadow: 0 14px 30px rgba(29, 43, 51, .2);
}

.portfolioMethodQuality {
  padding: 9px 10px;
  border: 1px solid #dce5ed;
  border-radius: 9px;
  color: #52667b;
  background: #f6f9fb;
}

.portfolioMethodQuality[hidden] {
  display: none !important;
}


/* ==========================================================================
   v1.0.116: Cockpit-Layout – neue App-Shell.
   Desktop/iPad quer (>= 1100 px): feste Seitenleiste mit gruppierter Navigation.
   iPad hoch/iPhone (< 1100 px): kompakte Kopfzeile, Dock unten, "Mehr"-Sheet.
   ========================================================================== */
:root {
  --cp-sidebar-w: 252px;
  --cp-ink: #0d1c36;
  --cp-ink-2: #132a4d;
  --cp-canvas: #edf1f6;
  --cp-mint: #3cc9ad;
  --cp-blue: #2f6fde;
  --cp-dock-h: 62px;
  --cp-line: #e1e7ef;
  --cp-card-shadow: 0 1px 2px rgba(16, 32, 64, .04), 0 10px 30px rgba(16, 32, 64, .06);
  --ui-bg: var(--cp-canvas);
}

html,
body {
  background: var(--cp-canvas);
}

body {
  padding-bottom: 0 !important;
}

.cpShell.pageShell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: 0 !important;
}

.cpMain,
.cpContent {
  min-width: 0;
  max-width: 100%;
}

.cpIcon {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

/* Marke */
.cpBrand,
.cpTopbarBrand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.cpBrandMark {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #34c3a5 0%, #2f6fde 100%);
  box-shadow: 0 6px 16px rgba(47, 111, 222, .32), inset 0 1px rgba(255, 255, 255, .25);
}

.cpBrandMark .cpIcon {
  width: 20px;
  height: 20px;
  stroke-width: 2.2;
}

.cpBrandCopy {
  display: grid;
  min-width: 0;
  gap: 1px;
  line-height: 1.2;
}

.cpBrandCopy strong {
  overflow: hidden;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.012em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpBrandCopy small {
  color: rgba(220, 230, 244, .68);
  font-size: 11.5px;
  font-weight: 650;
  white-space: nowrap;
}

/* Seitenleiste / Navigation (dunkel, auch im Sheet) */
.cpSidebar {
  display: flex;
  min-width: 0;
  flex-direction: column;
  color: #dbe5f3;
  background:
    radial-gradient(130% 55% at 0% 0%, rgba(60, 201, 173, .16), transparent 62%),
    radial-gradient(90% 40% at 100% 100%, rgba(47, 111, 222, .18), transparent 70%),
    linear-gradient(180deg, var(--cp-ink-2) 0%, var(--cp-ink) 100%);
}

.cpBrand {
  padding: 2px 6px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.cpBrand .cpBrandCopy {
  flex: 1;
}

.cpSheetClose {
  display: none;
}

.cpNav {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  align-content: start;
  gap: 16px;
  padding: 16px 2px 14px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .16) transparent;
}

.cpNavGroup {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.cpNavLabel {
  padding: 0 10px 6px;
  color: rgba(214, 226, 242, .46);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cpNavItem {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  gap: 11px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  color: rgba(226, 234, 246, .78);
  background: transparent;
  font: inherit;
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.cpNavItem .cpIcon {
  width: 19px;
  height: 19px;
  opacity: .82;
}

.cpNavItem > span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cpNavItem > small {
  display: inline-grid;
  min-width: 22px;
  height: 20px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: rgba(236, 242, 250, .86);
  background: rgba(255, 255, 255, .1);
  font-size: 11px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.cpNavItem:hover {
  color: #fff;
  background: rgba(255, 255, 255, .06);
}

.cpNavItem.isActive {
  color: #fff;
  background: rgba(255, 255, 255, .11);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.cpNavItem.isActive::before {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--cp-mint);
  content: "";
}

.cpNavItem.isActive .cpIcon {
  color: #6ae3c8;
  opacity: 1;
}

.cpNavItem.isActive > small {
  color: #082019;
  background: var(--cp-mint);
}

.cpNavItem:focus-visible,
.cpDockItem:focus-visible,
.cpIconButton:focus-visible,
.cpStatus:focus-visible,
.cpStatusPill:focus-visible {
  outline: 3px solid rgba(60, 201, 173, .45);
  outline-offset: 2px;
}

.cpSidebarFoot {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.cpStatus {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  color: rgba(226, 234, 246, .82);
  background: rgba(255, 255, 255, .04);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}

.cpStatus:hover {
  background: rgba(255, 255, 255, .08);
}

.cpStatus i,
.cpStatusPill i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--cp-mint);
  box-shadow: 0 0 0 3px rgba(60, 201, 173, .2);
}

.cpStatus--warn {
  border-color: rgba(245, 166, 35, .36);
  color: #ffdba6;
  background: rgba(245, 166, 35, .1);
}

.cpStatus--warn i,
.cpStatusPill--warn i {
  background: #f5a623;
  box-shadow: 0 0 0 3px rgba(245, 166, 35, .22);
}

.cpSidebarActions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.cpSidebarActions .userMenu {
  min-width: 0;
  flex: 1 1 auto;
}

.cpShell .cpSidebar .userMenuTrigger {
  display: flex !important;
  width: 100%;
  max-width: none;
  min-height: 40px;
  height: auto;
  align-items: center;
  gap: 9px;
  padding: 5px 10px 5px 6px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 11px;
  color: #fff;
  background: rgba(255, 255, 255, .05);
  box-shadow: none;
  font-size: 13px;
}

.cpShell .cpSidebar .userMenuTrigger:hover {
  background: rgba(255, 255, 255, .09);
}

.cpShell .cpSidebar .userMenuTrigger strong {
  max-width: none;
  flex: 1 1 auto;
  font-size: 13px;
  font-weight: 750;
  text-align: left;
}

.cpShell .userMenuTrigger .userMenuAvatar {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, #2f6fde, #34c3a5);
  font-size: 12px;
}

.cpShell .cpSidebar .userMenuPanel {
  top: auto;
  right: auto;
  bottom: calc(100% + 10px);
  left: 0;
}

.cpIconButton {
  display: inline-grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 11px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  cursor: pointer;
  transition: background-color .15s ease;
}

.cpIconButton:hover {
  background: rgba(255, 255, 255, .12);
}

.cpIconButton .cpIcon {
  width: 19px;
  height: 19px;
}

.cpIconButton.isLoading .cpIcon {
  animation: cpSpin .9s linear infinite;
}

.cpIconButton:disabled {
  cursor: progress;
  opacity: .72;
}

@keyframes cpSpin {
  to { transform: rotate(360deg); }
}

/* Inhaltsfläche */
.cpShell .tabPanel {
  margin: 0;
  border: 1px solid var(--cp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--cp-card-shadow);
}

.cpShell .tabPanel > .panelHeader:first-child,
.cpShell .tabPanel > :first-child > .panelHeader:first-child {
  min-height: 42px;
}

.cpShell .tabPanel > .panelHeader:first-child .panelTitle h2,
.cpShell .tabPanel > :first-child > .panelHeader:first-child .panelTitle h2 {
  font-size: 19px;
  letter-spacing: -.018em;
}

/* Desktop und iPad quer */
@media (min-width: 1100px) {
  .cpShell.pageShell {
    display: grid;
    grid-template-columns: var(--cp-sidebar-w) minmax(0, 1fr);
    align-items: start;
  }

  .cpSidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    height: 100vh;
    height: 100dvh;
    padding: 18px 14px max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    border-right: 1px solid rgba(255, 255, 255, .05);
  }

  .cpMain {
    padding: 20px clamp(16px, 1.8vw, 30px) 34px;
  }

  .cpContent {
    width: 100%;
    max-width: 1640px;
    margin: 0 auto;
  }

  .cpTopbar,
  .cpDock,
  .cpSheetBackdrop {
    display: none !important;
  }

  .cpShell .tabPanel {
    padding: 20px 22px;
  }
}

@media (min-width: 1100px) and (max-width: 1279px) {
  :root {
    --cp-sidebar-w: 224px;
  }

  .cpMain {
    padding: 16px 16px 28px;
  }

  .cpShell .tabPanel {
    padding: 17px 18px;
  }
}

/* iPad hoch, iPhone, kleine Fenster */
@media (max-width: 1099px) {
  .cpMain {
    padding: 14px max(14px, env(safe-area-inset-right)) calc(var(--cp-dock-h) + 22px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  }

  .cpTopbar {
    position: sticky;
    top: 0;
    z-index: 300;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -14px calc(-1 * max(14px, env(safe-area-inset-right))) 14px calc(-1 * max(14px, env(safe-area-inset-left)));
    padding: calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
    color: #fff;
    background:
      radial-gradient(70% 140% at 0% 0%, rgba(60, 201, 173, .18), transparent 60%),
      linear-gradient(120deg, var(--cp-ink-2), var(--cp-ink));
    box-shadow: 0 6px 20px rgba(10, 24, 50, .18);
  }

  .cpTopbarActions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
  }

  .cpStatusPill {
    display: inline-flex;
    height: 38px;
    min-width: 38px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 11px;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
  }

  .cpStatusPill--warn {
    border-color: rgba(245, 166, 35, .4);
    color: #ffdba6;
    background: rgba(245, 166, 35, .12);
  }

  .cpTopbar .userMenu {
    flex: 0 0 auto;
  }

  .cpShell .cpTopbar .userMenuTrigger {
    display: inline-flex !important;
    max-width: 180px;
    height: 38px;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 0 10px 0 5px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 11px;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
    font-size: 13px;
  }

  .cpShell .cpTopbar .userMenuTrigger strong {
    max-width: 110px;
    font-size: 13px;
    font-weight: 750;
  }

  /* Dock */
  .cpDock {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 320;
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 2px;
    padding: 6px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border-top: 1px solid rgba(15, 30, 60, .08);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 -8px 28px rgba(15, 30, 60, .09);
    -webkit-backdrop-filter: saturate(1.6) blur(18px);
    backdrop-filter: saturate(1.6) blur(18px);
  }

  .cpDockItem {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 52px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 4px 2px;
    border: 0;
    border-radius: 14px;
    color: #66778d;
    background: transparent;
    font: inherit;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .cpDockItem .cpIcon {
    box-sizing: content-box;
    width: 22px;
    height: 22px;
    padding: 3px 12px;
    border-radius: 999px;
    transition: background-color .18s ease, color .18s ease;
  }

  .cpDockItem > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cpDockItem > small {
    position: absolute;
    top: 2px;
    left: calc(50% + 7px);
    display: inline-grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 5px;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: #e5484d;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
  }

  .cpDockItem.isActive:not(.cpDockMore),
  .cpDockMore.isActiveWide {
    color: #1a56c4;
  }

  .cpDockItem.isActive:not(.cpDockMore) .cpIcon,
  .cpDockMore.isActiveWide .cpIcon {
    color: #1a56c4;
    background: #e4edff;
  }

  /* Mehr-Sheet: die Seitenleiste wird als Bottom-Sheet eingeblendet */
  .cpSidebar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 420;
    max-height: min(86vh, 760px);
    max-height: min(86dvh, 760px);
    padding: 14px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -18px 48px rgba(5, 12, 28, .35);
    transform: translateY(104%);
    visibility: hidden;
    transition: transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .3s;
  }

  .cpSidebar::before {
    display: block;
    width: 38px;
    height: 5px;
    margin: -4px auto 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    content: "";
  }

  html.cpSheetOpen,
  html.cpSheetOpen body {
    overflow: hidden;
  }

  html.cpSheetOpen .cpSidebar {
    transform: translateY(0);
    visibility: visible;
    transition-delay: 0s;
  }

  .cpSheetBackdrop {
    position: fixed;
    inset: 0;
    z-index: 410;
    background: rgba(6, 14, 30, .46);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  html.cpSheetOpen .cpSheetBackdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .cpSheetClose {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
  }

  .cpSheetClose .cpIcon {
    width: 17px;
    height: 17px;
  }

  .cpBrand {
    padding: 0 0 12px;
  }

  .cpNav {
    gap: 14px;
    padding: 14px 0 12px;
  }

  .cpNavGroup {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .cpNavLabel {
    grid-column: 1 / -1;
    padding: 0 2px 0;
  }

  .cpNavItem {
    min-height: 74px;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 10px 6px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 15px;
    background: rgba(255, 255, 255, .05);
    font-size: 12.5px;
    text-align: center;
  }

  .cpNavItem .cpIcon {
    width: 23px;
    height: 23px;
  }

  .cpNavItem > span {
    flex: 0 0 auto;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .cpNavItem > small {
    position: absolute;
    top: 7px;
    right: 7px;
  }

  .cpNavItem.isActive {
    border-color: rgba(60, 201, 173, .5);
    background: rgba(60, 201, 173, .14);
  }

  .cpNavItem.isActive::before {
    display: none;
  }

  .cpSidebarFoot {
    padding-top: 10px;
  }

  .cpSidebarActions {
    display: none;
  }

  .cpShell .tabPanel {
    padding: 16px;
    border-radius: 18px;
  }

  .fullRefreshProgress {
    bottom: calc(var(--cp-dock-h) + 14px + env(safe-area-inset-bottom)) !important;
  }

  .dashboardToasts {
    bottom: calc(var(--cp-dock-h) + 14px + env(safe-area-inset-bottom)) !important;
  }
}

/* iPad hoch: Sheet zentriert, breiteres Dock */
@media (min-width: 701px) and (max-width: 1099px) {
  .cpSidebar {
    right: auto;
    left: 50%;
    width: min(720px, calc(100% - 32px));
    transform: translate(-50%, 104%);
  }

  html.cpSheetOpen .cpSidebar {
    transform: translate(-50%, 0);
  }

  .cpDock {
    right: 50%;
    left: auto;
    width: min(860px, 100%);
    border: 1px solid rgba(15, 30, 60, .08);
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    transform: translateX(50%);
  }

  .cpDockItem {
    font-size: 11px;
  }

  .cpDockMore.isActive:not(.isActiveWide),
  .cpDockMore.isActive:not(.isActiveWide) .cpIcon {
    color: #66778d;
    background: transparent;
  }
}

@media (min-width: 701px) and (max-width: 1099px) {
  :root { --cp-dock-h: 84px; }
}

/* iPhone */

@media (max-width: 700px) {
  :root {
    --cp-dock-h: 84px;
  }

  html,
  body {
    background: #fff;
  }

  .cpMain {
    padding: 0 0 calc(var(--cp-dock-h) + 16px + env(safe-area-inset-bottom));
  }

  .cpTopbar {
    margin: 0;
    padding: calc(8px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 9px max(12px, env(safe-area-inset-left));
  }

  .cpBrandMark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 10px;
  }

  .cpBrandMark .cpIcon {
    width: 18px;
    height: 18px;
  }

  .cpTopbar .cpBrandCopy strong {
    font-size: 15px;
  }

  .cpTopbarActions {
    gap: 6px;
  }

  .cpTopbar .cpIconButton,
  .cpStatusPill {
    width: auto;
    min-width: 36px;
    height: 36px;
    flex-basis: auto;
    border-radius: 10px;
  }

  .cpTopbar .cpIconButton {
    width: 36px;
    flex-basis: 36px;
  }

  .cpShell .cpTopbar .userMenuTrigger {
    width: 36px;
    height: 36px;
    min-height: 36px;
    justify-content: center;
    padding: 0;
    border-radius: 10px;
  }

  .cpShell .cpTopbar .userMenuTrigger strong,
  .cpShell .cpTopbar .userMenuTrigger .userMenuChevron {
    display: none;
  }

  .cpShell .cpTopbar .userMenuTrigger .userMenuAvatar {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
    border-radius: 8px;
  }

  .cpShell .cpTopbar .userMenu--mobile .userMenuPanel {
    position: fixed;
    top: calc(env(safe-area-inset-top) + 60px);
    right: max(8px, env(safe-area-inset-right));
    width: min(316px, calc(100vw - 16px));
  }

  .cpShell .tabPanel {
    padding: 12px max(12px, env(safe-area-inset-right)) 14px max(12px, env(safe-area-inset-left));
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .cpShell .tabPanel > .panelHeader:first-child .panelTitle h2,
  .cpShell .tabPanel > :first-child > .panelHeader:first-child .panelTitle h2 {
    font-size: 17px;
  }

  .cpDockItem--wide {
    display: none !important;
  }

  .cpDockMore.isActive {
    color: #1a56c4;
  }

  .cpDockMore.isActive .cpIcon {
    color: #1a56c4;
    background: #e4edff;
  }

  .cpNavGroup {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cpNavItem {
    min-height: 72px;
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .cpDockItem {
    font-size: 10px;
  }

  .cpDockItem .cpIcon {
    padding: 3px 8px;
  }

  .cpTopbar .cpBrandCopy small {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cpSidebar,
  .cpSheetBackdrop {
    transition: none !important;
  }
}

/* v1.0.117: Home als Bento. Depot führt, Tagesfokus und Agenda sitzen auf der Fläche. */
.cpShell .tabPanel:has(.homeStage) {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.homeStage {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.homeStage .dashboardSummaryKpis {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .82fr) minmax(0, .82fr) !important;
  gap: 12px !important;
  align-items: stretch;
}

.homeStage .homeKpiCard {
  display: flex;
  min-height: 132px;
  height: auto !important;
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: 16px 18px 15px !important;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 18px !important;
  background: #fff;
  box-shadow: var(--cp-card-shadow, 0 10px 28px rgba(16, 32, 64, .06));
}

.homeStage .kpiTop {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
}

.homeStage .kpiIcon {
  display: grid !important;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 9px;
  background: #eef3f8;
  font-size: 15px;
}

.homeStage .homeKpiLabel {
  min-width: 0;
  color: #5d6e84;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.homeStage .homeKpiStamp {
  display: block;
  margin-left: auto;
  color: #8b9aab;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

.homeStage .kpiValue {
  margin-top: 14px !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.03em;
  overflow-wrap: anywhere;
}

.homeStage .kpiDetail {
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  overflow: visible;
  text-overflow: unset;
  white-space: normal !important;
}

.homeStage .dashboardSummaryKpis > :first-child {
  color: #f4f7fb;
  border: 0;
  background:
    radial-gradient(90% 80% at 100% 0%, rgba(60, 201, 173, .28), transparent 46%),
    linear-gradient(145deg, #101e38 0%, #17356a 62%, #1c655e 130%);
  box-shadow: 0 16px 34px rgba(16, 30, 56, .18);
}

.homeStage .dashboardSummaryKpis > :first-child .kpiIcon {
  background: rgba(255, 255, 255, .12);
}

.homeStage .dashboardSummaryKpis > :first-child .homeKpiLabel,
.homeStage .dashboardSummaryKpis > :first-child .homeKpiStamp,
.homeStage .dashboardSummaryKpis > :first-child .kpiDetail {
  color: rgba(226, 236, 248, .78) !important;
}

.homeStage .dashboardSummaryKpis > :first-child .kpiValue {
  color: #fff !important;
  font-size: clamp(28px, 2.5vw, 40px) !important;
}

.homeStage .dashboardSummaryKpis > :first-child .positive {
  color: #b9f6dc !important;
}

.homeStage .dashboardSummaryKpis > :first-child .negative {
  color: #ffc4c7 !important;
}

.homeStage .priorityBoard {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.homeStage .priorityBoardHeader {
  align-items: baseline;
  margin-bottom: 2px;
}

.homeStage .priorityEyebrow {
  color: #2f6fde;
}

.homeStage .priorityBoardHeader h2 {
  font-size: 18px;
  letter-spacing: -.02em;
}

.homeStage .priorityHint {
  color: #8b9aab;
  font-size: 12px;
  font-weight: 650;
}

.homeStage .priorityBoardGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.homeStage .priorityFocusCard {
  min-height: 112px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05));
}

.homeStage .priorityBoardGrid > :nth-child(1) { border-top: 3px solid #2f6fde; box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05)); }
.homeStage .priorityBoardGrid > :nth-child(2) { border-top: 3px solid #1aa384; box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05)); }
.homeStage .priorityBoardGrid > :nth-child(3) { border-top: 3px solid #d0892d; box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05)); }

.homeStage .priorityFocusIcon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #f3f6fa;
}

.homeStage .priorityFocusCard span {
  color: #5d6e84;
}

.homeStage .priorityFocusCard p {
  color: #1b2b42;
  font-size: 14px;
  font-weight: 680;
}

.homeStage .overviewContentGrid {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .78fr);
  gap: 12px;
  margin-top: 0;
  align-items: start;
}

.homeStage .overviewDetailCard,
.homeStage .overviewDetailCard--wide {
  min-height: 0;
  padding: 16px;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05));
}

.homeStage .overviewDetailCard--wide {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.homeStage .overviewDetailHeader h2 {
  font-size: 17px;
  letter-spacing: -.02em;
}

.homeStage .dailyBriefGrid {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.homeStage .dailyBriefTile {
  min-height: 100%;
  padding: 12px;
  border: 0;
  border-radius: 14px;
  background: #f6f8fb;
}

.homeStage .dailyBriefTile > span {
  color: #5d6e84;
}

.homeStage .dailyBriefTile--training { box-shadow: inset 3px 0 #d0892d; }
.homeStage .dailyBriefTile--ideas { background: #f4fbf8; box-shadow: inset 3px 0 #1aa384; }
.homeStage .dailyBriefTile--ideas > span { color: #147a62; }
.homeStage .dailyBriefTile--portfolio { background: #f5f7fd; box-shadow: inset 3px 0 #2f6fde; }
.homeStage .dailyBriefTile--portfolio > span { color: #2457b8; }
.homeStage .dailyBriefTile--market { background: #f7f8fb; box-shadow: inset 3px 0 #7b8798; }

.homeStage .overviewActivityItem {
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: #f7f9fc;
}

.homeStage .overviewActivityMetrics {
  grid-column: 2;
}

.homeStage .activityMetricGrid,
.homeStage .activityMetricGrid:not(.activityMetricGrid--withDate) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px 8px;
}

.homeStage .activityMetric--heart,
.homeStage .activityMetric--power {
  grid-column: auto;
  grid-row: auto;
}

.homeStage .overviewHeaderLink {
  border-radius: 999px;
}

@media (max-width: 1099px) {
  .homeStage .dashboardSummaryKpis {
    grid-template-columns: 1fr 1fr !important;
  }

  .homeStage .dashboardSummaryKpis .homeKpiCard:first-of-type {
    grid-column: 1 / -1 !important;
    min-height: 148px;
  }

  .homeStage .dashboardSummaryKpis .homeKpiCard:last-of-type {
    grid-column: auto !important;
  }

  .homeStage .overviewContentGrid,
  .homeStage .overviewDetailCard--wide {
    grid-template-columns: 1fr;
    grid-column: auto;
    grid-row: auto;
  }

  .homeStage .priorityBoardGrid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 701px) and (max-width: 1099px) {
  .homeStage .priorityBoardGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .cpShell .tabPanel:has(.homeStage) {
    padding-top: 8px;
    background: transparent;
  }

  .homeStage {
    gap: 10px;
  }

  .homeStage .homeKpiCard,
  .homeStage .dashboardSummaryKpis .homeKpiCard:last-child {
    display: flex !important;
    min-height: 108px !important;
    grid-template-columns: none;
    padding: 13px 14px !important;
    border-radius: 16px !important;
  }

  .homeStage .dashboardSummaryKpis .homeKpiCard:first-of-type {
    min-height: 138px !important;
  }

  .homeStage .priorityBoardHeader {
    flex-direction: column;
    gap: 2px;
  }

  .homeStage .homeKpiStamp {
    display: none;
  }

  .homeStage .kpiValue {
    font-size: 22px !important;
  }

  .homeStage .dashboardSummaryKpis > :first-child .kpiValue {
    font-size: 28px !important;
  }

  .homeStage .priorityFocusCard {
    min-height: 0;
  }

  .homeStage .priorityFocusCard p {
    font-size: 14px;
  }

  .homeStage .dailyBriefGrid {
    grid-template-columns: 1fr;
  }

  .homeStage .overviewDetailCard {
    border-radius: 16px;
  }
}
/* ==========================================================================
   v1.0.118: Home-Agenda und Aktivitäten, Finanz-Überblick, News nach Kategorie,
   Jobs-Tabelle und Datenpflege im Dashboard-Rahmen.
   ========================================================================== */

/* Alte Emoji-Tabicons (styles.css, <= 700 px) nicht in Dock und Menü anzeigen. */
.cpDock .cpDockItem::before,
.cpNav .cpNavItem:not(.isActive)::before {
  content: none;
}

/* Tagesfokus: Stand direkt hinter dem Label. */
.priorityStamp {
  margin-left: 8px;
  color: #8b9aab;
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

/* Home: Nächste Termine als Agenda mit Kalenderblatt. */
.homeAgenda {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.homeAgendaDay {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 14px;
  background: #fff;
}

.homeAgendaDay.isToday {
  border-color: #c9daf8;
  background: linear-gradient(180deg, #f5f8ff, #fff);
}

.homeAgendaDate {
  display: grid;
  justify-items: center;
  padding: 6px 0 7px;
  border-radius: 11px;
  background: #f1f4f9;
  color: #3b4c63;
  line-height: 1;
}

.homeAgendaDay.isToday .homeAgendaDate {
  background: var(--cp-blue, #2f6fde);
  color: #fff;
}

.homeAgendaDate span,
.homeAgendaDate small {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .78;
}

.homeAgendaDate strong {
  margin: 3px 0 2px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.homeAgendaBody {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.homeAgendaWhen {
  color: #6b7b90;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.homeAgendaDay.isToday .homeAgendaWhen {
  color: var(--cp-blue, #2f6fde);
}

.homeAgendaItem {
  display: grid;
  grid-template-columns: minmax(74px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  min-width: 0;
}

.homeAgendaItem + .homeAgendaItem {
  padding-top: 5px;
  border-top: 1px dashed #e4e9f0;
}

.homeAgendaTime {
  color: #5d6e84;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  white-space: nowrap;
}

.homeAgendaItem strong {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: #172338;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.homeAgendaItem--allDay .homeAgendaTime {
  color: #2457b8;
}

.homeAgendaItem--birthday .homeAgendaTime {
  font-size: 15px;
}

/* Home: Letzte Aktivitäten als Zeilen mit festen Kennzahlspalten. */
.homeActivities {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.homeActivity {
  --activity-tone: #64748b;
  --activity-soft: #f1f4f8;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 3px 0 var(--activity-tone);
}

.homeActivity--run { --activity-tone: #e0703a; --activity-soft: #fff1e8; }
.homeActivity--bike { --activity-tone: #2f6fde; --activity-soft: #ecf2fe; }
.homeActivity--swim { --activity-tone: #0f9fb8; --activity-soft: #e7f7fa; }
.homeActivity--row { --activity-tone: #1aa384; --activity-soft: #e8f7f2; }
.homeActivity--strength { --activity-tone: #8b5cf6; --activity-soft: #f3effe; }

.homeActivityIcon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: var(--activity-soft);
  font-size: 19px;
}

.homeActivityMain {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.homeActivityMain strong {
  overflow: hidden;
  color: #172338;
  font-size: 14px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.homeActivityMain span {
  color: #6b7b90;
  font-size: 12px;
  font-weight: 650;
}

.homeActivityStats {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  padding: 8px 0 0;
  border-top: 1px solid #eef2f6;
}

.homeActivityStat {
  min-width: 0;
}

.homeActivityStat dt {
  color: #8b9aab;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.homeActivityStat dd {
  margin: 2px 0 0;
  overflow: hidden;
  color: #1b2b42;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.homeActivityStat.isEmpty dd {
  color: #c2ccd8;
}

.homeStage .overviewDetailCard--wide {
  grid-row: auto;
}

.homeStage .overviewDetailCard--activities {
  grid-column: 1 / -1;
}

@media (min-width: 900px) {
  .homeStage .overviewDetailCard--activities .homeActivity {
    grid-template-columns: 40px minmax(180px, 1fr) minmax(0, 2.2fr);
    gap: 14px;
  }

  .homeStage .overviewDetailCard--activities .homeActivityStats {
    grid-column: auto;
    padding: 0 0 0 14px;
    border-top: 0;
    border-left: 1px solid #eef2f6;
  }
}

@media (max-width: 700px) {
  .homeActivityStats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 8px;
  }

  .homeActivityStat.isEmpty {
    display: none;
  }

  .homeAgendaItem {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .homeAgendaItem--birthday {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
  }
}

/* Finanz-Überblick: Bento mit Vermögenskarte, Mix-Legende und Kontengruppen. */
.cpShell .tabPanel:has(.fxStage) {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.fxStage {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.fxStage > * {
  min-width: 0;
  margin: 0 !important;
}

.fxEyebrow {
  display: block;
  color: #5d6e84;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fxHero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: stretch;
}

.fxHeroTotal {
  position: relative;
  display: flex;
  min-height: 230px;
  flex-direction: column;
  overflow: hidden;
  padding: 20px 22px 18px;
  border-radius: 20px;
  color: #f4f7fb;
  background:
    radial-gradient(90% 80% at 100% 0%, rgba(60, 201, 173, .26), transparent 48%),
    linear-gradient(145deg, #101e38 0%, #17356a 62%, #1c655e 130%);
  box-shadow: 0 16px 34px rgba(16, 30, 56, .18);
}

.fxHeroTotal .fxEyebrow {
  color: rgba(226, 236, 248, .76);
}

.fxHeroValue {
  margin-top: 10px;
  color: #fff;
  font-size: clamp(32px, 3.2vw, 46px);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.02;
}

.fxHeroDelta {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  margin-top: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.fxHeroDelta small {
  color: rgba(226, 236, 248, .7);
  font-size: 12px;
  font-weight: 650;
}

.fxHeroDelta--positive { color: #b9f6dc; }
.fxHeroDelta--negative { color: #ffc4c7; }
.fxHeroDelta--neutral { color: rgba(226, 236, 248, .82); }

.fxHeroSpark {
  display: block;
  width: 100%;
  height: 64px;
  margin-top: auto;
  padding-top: 14px;
  overflow: visible;
}

.fxHeroSparkArea { fill: rgba(60, 201, 173, .16); }
.fxHeroSparkLine { fill: none; stroke: #7ee3cc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; vector-effect: non-scaling-stroke; }

.fxHeroFacts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.fxHeroFacts span {
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: rgba(226, 236, 248, .82);
  font-size: 12px;
  font-weight: 650;
}

.fxHeroFacts b {
  color: #fff;
}

.fxMix,
.fxSection,
.fxStage > .wealthSection,
.fxStage > .wealthNotes,
.fxStage > .wealthUnvalued {
  padding: 16px 18px;
  border: 1px solid var(--cp-line, #e1e7ef);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--cp-card-shadow, 0 8px 22px rgba(16, 32, 64, .05));
}

.fxSectionHead,
.fxStage .wealthSectionHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}

.fxSectionHead h3,
.fxStage .wealthSectionHeader h3 {
  margin: 2px 0 0;
  color: #12213a;
  font-size: 17px;
  letter-spacing: -.02em;
}

.fxSectionMeta,
.fxStage .wealthSectionHeader > span {
  color: #8b9aab;
  font-size: 12px;
  font-weight: 700;
}

.fxStage .wealthEyebrow {
  color: #5d6e84;
  font-size: 11.5px;
  letter-spacing: .06em;
}

.fxMixBody {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.fxMix .wealthDonutWrap {
  width: 150px;
  height: 150px;
  margin: 0;
}

.fxMix .wealthDonutCenter strong {
  font-size: 15px;
}

.fxLegend {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fxLegend .wealthMixCard {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto 58px;
  gap: 10px;
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: 8px 4px;
  border: 0;
  border-bottom: 1px solid #eef2f6;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fxLegend .wealthMixCard:last-child {
  border-bottom: 0;
}

.fxLegendDot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: #64748b;
}

.wealthMixCard--cash .fxLegendDot { background: #2f855a; }
.wealthMixCard--depot .fxLegendDot { background: #2563eb; }
.wealthMixCard--robo .fxLegendDot { background: #7c3aed; }
.wealthMixCard--crypto .fxLegendDot { background: #d97706; }
.wealthMixCard--gold .fxLegendDot { background: #c5962d; }

.fxLegend .wealthMixCard span {
  min-width: 0;
  overflow: hidden;
  color: #33445c;
  font-size: 13.5px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fxLegend .wealthMixCard b {
  color: #12213a;
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.fxLegend .wealthMixCard em {
  color: #6b7b90;
  font-size: 12.5px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-align: right;
}

.fxMix .wealthMixBar--compact {
  display: none;
}

.fxAccountGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.fxAccountGroup {
  --fx-tone: #64748b;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 12px 14px;
  border: 1px solid #e7ecf2;
  border-radius: 14px;
  background: #fbfcfe;
}

.fxAccountGroup--cash { --fx-tone: #2f855a; }
.fxAccountGroup--depot { --fx-tone: #2563eb; }
.fxAccountGroup--robo { --fx-tone: #7c3aed; }
.fxAccountGroup--crypto { --fx-tone: #d97706; }

.fxAccountGroup header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.fxAccountIcon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--fx-tone) 13%, #fff);
  color: var(--fx-tone);
  font-size: 16px;
}

.fxAccountGroup header strong {
  display: block;
  color: #12213a;
  font-size: 14.5px;
}

.fxAccountGroup header small {
  color: #8b9aab;
  font-size: 12px;
  font-weight: 650;
}

.fxAccountTotal {
  display: grid;
  justify-items: end;
}

.fxAccountTotal b {
  color: #12213a;
  font-size: 14.5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.fxAccountTotal em {
  color: #6b7b90;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.fxAccountShare {
  height: 4px;
  margin: 10px 0 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef4;
}

.fxAccountShare i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--fx-tone);
}

.fxAccountGroup ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fxAccountGroup li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-top: 1px solid #eef2f6;
  font-size: 13px;
}

.fxAccountGroup li:first-child {
  border-top: 0;
}

.fxAccountGroup li span {
  min-width: 0;
  overflow: hidden;
  color: #3b4c63;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fxAccountGroup li b {
  color: #172338;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.fxAccountEmpty {
  margin: 4px 0 0;
  color: #8b9aab;
  font-size: 12.5px;
}

.fxStage .financeRebalanceV98 .rebalanceStage {
  border-color: #e7ecf2;
  border-radius: 14px;
  background: #fbfcfe;
}

.fxStage .wealthHistoryDetails > summary {
  border-radius: 12px;
}

@media (max-width: 1099px) {
  .fxHero {
    grid-template-columns: 1fr;
  }

  .fxHeroTotal {
    min-height: 200px;
  }
}

@media (max-width: 700px) {
  .fxStage {
    gap: 10px;
  }

  .fxHeroTotal {
    min-height: 0;
    padding: 16px 16px 14px;
    border-radius: 16px;
  }

  .fxHeroValue {
    font-size: 32px;
  }

  .fxMix,
  .fxSection,
  .fxStage > .wealthSection,
  .fxStage > .wealthNotes,
  .fxStage > .wealthUnvalued {
    padding: 14px;
    border-radius: 16px;
  }

  .fxMixBody {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .fxMix .wealthDonutWrap {
    display: block !important;
    width: 132px;
    height: 132px;
    margin: 0 auto;
  }

  .fxLegend .wealthMixCard {
    grid-template-columns: 10px minmax(0, 1fr) auto 50px;
    gap: 8px;
  }

  .fxAccountGrid {
    grid-template-columns: 1fr;
  }
}

/* News: eine Sektion je Kategorie. */
.newsSections {
  display: grid;
  gap: 18px;
}

.newsSection {
  min-width: 0;
}

.newsSectionHead {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--cp-line, #e1e7ef);
}

.newsSectionHead h3 {
  margin: 0;
  color: #12213a;
  font-size: 16px;
  letter-spacing: -.015em;
}

.newsSectionHead span {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #eef2f7;
  color: #5d6e84;
  font-size: 12px;
  font-weight: 800;
}

.newsSectionGrid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
}

.newsDigestCard--section {
  min-height: 118px;
}

.newsDigestCard--section h3 {
  margin-bottom: 10px;
}

.newsDigestCard--section .newsDigestMeta time::before {
  content: none;
}

@media (max-width: 700px) {
  .newsSections {
    gap: 14px;
  }

  .newsSectionGrid {
    grid-template-columns: 1fr !important;
  }

  .newsDigestCard--section {
    min-height: 0;
  }
}

/* Jobs: Tabelle passt in den Inhaltsbereich neben der Seitenleiste. */
@media (min-width: 1381px) {
  .cpShell .jobTableWrapV4 {
    overflow-x: visible;
  }

  .cpShell .jobTableV5 {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
  }

  .cpShell .jobTableV5 .jobColFit { width: 92px; }
  .cpShell .jobTableV5 .jobColPosition { width: auto; }
  .cpShell .jobTableV5 .jobColCompany { width: 13%; }
  .cpShell .jobTableV5 .jobColLocation { width: 10%; }
  .cpShell .jobTableV5 .jobColPublished { width: 108px; }
  .cpShell .jobTableV5 .jobColSalary { width: 17%; }
  .cpShell .jobTableV5 .jobColApplied { width: 92px; }
  .cpShell .jobTableV5 .jobColSource { width: 8%; }
  .cpShell .jobTableV5 .jobColOpen { width: 80px; }

  .cpShell .jobTableV5 th,
  .cpShell .jobTableV5 td {
    padding-right: 8px !important;
    padding-left: 8px !important;
    vertical-align: top;
  }

  .cpShell .jobTableV5 td {
    overflow: hidden;
    overflow-wrap: anywhere;
  }

  .cpShell .jobTableV5 .jobTableFit {
    letter-spacing: -.06em;
    white-space: nowrap;
  }

  .cpShell .jobTableV5 .jobTableSalary strong,
  .cpShell .jobTableV5 .jobTablePublished,
  .cpShell .jobTableV5 .jobTableApplied {
    white-space: nowrap;
  }

  .cpShell .jobTableV5 .jobTableSalary strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cpShell .jobTableV5 .jobTableSecondary {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap !important;
  }

  .cpShell .jobTableV5 .jobTableOpen {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }

  .cpShell .jobTableV5 .jobTableOpen .jobRowActions {
    justify-content: flex-end;
    gap: 6px;
  }

  .cpShell .jobTableV5 .jobTableOpen .jobInterestButton,
  .cpShell .jobTableV5 .jobTableOpen .jobUninterestingButton {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
  }

  .cpShell .jobTableV5 .jobHeadOpen,
  .cpShell .jobTableV5 th {
    white-space: nowrap;
  }
}

@media (max-width: 1380px) {
  .jobTableV5 tbody tr {
    padding-right: 84px !important;
  }
}

/* Datenpflege im Dashboard-Rahmen. */
.cpShell .tabPanel[data-tab-panel="maintenance"] {
  border: 0;
  background: transparent;
  box-shadow: none;
}

[data-tab-panel="maintenance"] .mxView {
  display: block;
  min-width: 0;
}

[data-tab-panel="maintenance"] .mxView .statusOverview {
  margin-bottom: 12px;
}

[data-tab-panel="maintenance"] .mxView .statusOverview > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  [data-tab-panel="maintenance"] .mxView .grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  [data-tab-panel="maintenance"] .mxView .connectionsGrid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Training: letzte Aktivitäten nutzen dieselben Karten wie Home. */
.trainingCockpitRecentList.homeActivities {
  margin-top: 0;
}

.trainingCockpitRecentPanel {
  container-type: inline-size;
}

@container (min-width: 760px) {
  .trainingCockpitRecentPanel .homeActivity {
    grid-template-columns: 40px minmax(160px, 1fr) minmax(0, 2.4fr);
    gap: 14px;
  }

  .trainingCockpitRecentPanel .homeActivityStats {
    grid-column: auto;
    padding: 0 0 0 14px;
    border-top: 0;
    border-left: 1px solid #eef2f6;
  }
}

.rebalanceBandLabel {
  padding: 9px 13px 2px;
  border-top: 1px solid #edf1f5;
  color: #4c627f;
  font-size: 12px;
  font-weight: 800;
}

/* v1.0.120 · activity view switch and explicit source states */
.activityViewOptions { display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap;margin:7px 0; }
.activityViewOptions button { cursor:pointer;background:#f8fafc;border:1px solid #d7e1ef;color:#405675;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:750; }
.activityViewOptions button.isActive { color:#fff;background:#214e83;border-color:#214e83; }
.activityColumnsHead { display:none; }
[data-activity-layout="compact"] .homeActivityStats { display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:7px; }
[data-activity-layout="compact"] .homeActivityStat.isEmpty { display:none !important; }
[data-activity-layout="compact"] .homeActivityStat:not(.isEmpty) { min-width:75px;flex:0 1 auto; }
[data-activity-layout="compact"] .homeActivityStat dt { white-space:nowrap; }
[data-activity-layout="compact"] .homeActivityStats:empty {display:none;}
[data-activity-layout="header"] .activityColumnsHead {display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;align-items:center;padding:0 12px 4px;color:#667c97;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;}
[data-activity-layout="header"] .activityColumnsHeadStats {display:grid;grid-column:1 / -1;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
[data-activity-layout="header"] .homeActivityStat dt {display:none;}
[data-activity-layout="header"] .homeActivityStats {padding-top:7px;}
@media(min-width:900px) {
 .homeStage [data-activity-layout="header"] .activityColumnsHead {grid-template-columns:40px minmax(180px,1fr) minmax(0,2.2fr);gap:14px;}
 .homeStage [data-activity-layout="header"] .activityColumnsHeadStats {grid-column:3;}
 .homeStage [data-activity-layout="compact"] .homeActivityStats {justify-content:flex-start;}
}
@container (min-width:760px) {
 .trainingCockpitRecentPanel [data-activity-layout="header"] .activityColumnsHead {grid-template-columns:40px minmax(160px,1fr) minmax(0,2.4fr);gap:14px;}
 .trainingCockpitRecentPanel [data-activity-layout="header"] .activityColumnsHeadStats {grid-column:3;}
}
@media(max-width:700px) {
 [data-activity-layout="header"] .activityColumnsHead>span {display:none;}
 [data-activity-layout="compact"] .homeActivityStat:not(.isEmpty) {min-width:64px;}
}
.statusClarityV120 .statusLead {display:grid;gap:4px;padding:12px 14px;margin:6px 0 10px;background:#eff5fc;border:1px solid #d7e4f4;border-radius:12px;}
.statusClarityV120 .statusLead strong {color:#153d71;font-size:15px;}
.statusClarityV120 .statusLead span {color:#526782;font-size:12.5px;line-height:1.5;}
.statusClarityV120 .statusStateOverview {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.statusClarityV120 .statusStateOverview article {padding:13px 14px;border-radius:12px;box-shadow:0 3px 10px rgba(32,66,108,.03);background:#fff;}
.statusClarityV120 .statusStateOverview article>span {font-size:11px;}
.statusClarityV120 .statusStateOverview article>strong {font-size:21px;margin:5px 0;}
.statusClarityV120 .statusStateOverview article>small {font-size:12px;line-height:1.45;display:block;}
.statusClarityV120 .statusStateOverview .statusCountTile--ok {border-left:4px solid #168368;}
.statusClarityV120 .statusStateOverview .statusCountTile--preserved {border-left:4px solid #c08e2d;}
.statusClarityV120 .statusStateOverview .statusCountTile--warning {border-left:4px solid #c94a47;}
.statusClarityV120 .statusStateOverview .statusCountTile--ok>strong {color:#16795b;}
.statusClarityV120 .statusStateOverview .statusCountTile--preserved>strong {color:#9a6f16;}
.statusClarityV120 .statusStateOverview .statusCountTile--warning>strong {color:#b63c36;}
.statusClarityV120 .statusGroupTitle {margin:10px 0 7px;padding:6px 9px;border-radius:8px;font-size:12px;font-weight:850;}
.statusClarityV120 .statusGroupTitle--warning {color:#ac3634;background:#fff0ef;}
.statusClarityV120 .statusGroupTitle--preserved {color:#89630a;background:#fff8e5;}
.statusClarityV120 .statusSourceDetails[open] summary {background:#f9fbfd;}
.statusClarityV120 .statusTechnicalInfo {display:grid;gap:5px;margin:10px 12px;padding:10px;background:#f6f8fc;border-radius:9px;color:#425a78;font-size:12px;}
.statusClarityV120 .statusTechnicalInfo strong {font-size:13px;color:#213d67;}
.statusClarityV120 .statusCard .statusState {white-space:normal;text-align:center;}
@media(max-width:850px){.statusClarityV120 .statusStateOverview{grid-template-columns:1fr;}}

/* v1.0.121: Compact activity labels never shift columns when data is absent. */
[data-activity-layout="compact"] .homeActivityStats {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:6px;row-gap:6px;align-items:start;}
[data-activity-layout="compact"] .homeActivityStat.isEmpty {display:block !important;visibility:hidden;pointer-events:none;}
[data-activity-layout="compact"] .homeActivityStat:not(.isEmpty) {min-width:0;flex:none;}
[data-activity-layout="compact"] .homeActivityStat dt {white-space:nowrap;}
[data-activity-layout="compact"] .homeActivityStat dd {white-space:nowrap;}
@media(max-width:700px) {
 [data-activity-layout="compact"] .homeActivityStats {grid-template-columns:repeat(3,minmax(0,1fr));}
}
/* Garmin Connect: restrained styling matching the Clarity dashboard. */
.garminTrainingStrip{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:12px 14px;margin:10px 0 18px;border-radius:12px;border:1px solid #cddfe7;background:#f7fbfc;color:#19324c}
.garminTrainingStrip>div:first-child{display:grid;gap:3px;min-width:175px}
.garminTrainingStrip>div:first-child span{color:#667b90;font-size:12px}
.garminTrainingStrip button,.garminNotConnected button{margin-left:auto;border:1px solid #bbd1e0;border-radius:9px;padding:7px 11px;background:#fff;color:#1e567c;font-weight:750;cursor:pointer}
.garminStripMetrics{display:flex;flex:1;gap:15px;flex-wrap:wrap}
.garminStripMetrics>div{display:grid;gap:3px;min-width:85px}
.garminStripMetrics small{font-size:10px;text-transform:uppercase;color:#677f95;font-weight:700}
.garminStripMetrics strong{font-size:15px}
.garminNotConnected{padding:25px;border:1px solid #d8e4ee;border-radius:14px;background:#fbfdff;max-width:750px}
.garminNotConnected h3{margin:0 0 8px}.garminNotConnected p{color:#64748b;line-height:1.6}
.garminSourceStatus{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f8fbfe;border:1px solid #dce6f0;border-radius:13px;margin:15px 0}
.garminSourceStatus>div{display:grid;gap:3px}.garminSourceStatus>div span{color:#61748e;font-size:12px}
.garminState{padding:6px 9px;border-radius:8px;background:#e8f7f1;color:#137252;font-size:12px;font-weight:750}
.garminState.isPending{background:#fff6e8;color:#975a1d}
.garminApiWarnings{font-size:12px;color:#8b5b21;margin:10px 0;border:1px solid #edd9b4;border-radius:10px;padding:9px 11px}
.garminApiWarnings summary{cursor:pointer;font-weight:750}.garminApiWarnings li{margin-top:3px}
.garminKpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}
.garminMetric,.garminDetailCard{background:#fff;border:1px solid #dbe5ef;border-radius:14px;box-shadow:0 3px 9px rgba(20,45,82,.03)}
.garminMetric{padding:13px;display:grid;gap:6px;min-width:0}
.garminMetricHeader{display:flex;justify-content:space-between;gap:7px;align-items:center;color:#485f78;font-size:12px;font-weight:800}
.garminMetricHeader small,.garminMetric>small{font-size:11px;color:#74869c;font-weight:600}
.garminMetric>strong{font-size:23px;font-variant-numeric:tabular-nums;color:#183b66;letter-spacing:-.02em}
.garminMetricTrend{height:48px}.garminMetricTrend svg{width:100%;height:46px}.garminNoChart{font-size:11px;color:#8a9aab}
.garminExtraGrid{display:grid;grid-template-columns:1fr 1.15fr;gap:12px;margin-bottom:16px}
.garminDetailCard{padding:15px;min-width:0}
.garminDetailTitle{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;flex-wrap:wrap}.garminDetailTitle h3{font-size:15px;color:#193c6e;margin:0}.garminDetailTitle small{color:#708099;font-size:11px}
.garminDetailValues{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}
.garminDetailValues>div{padding:9px 0;border-bottom:1px solid #eaf0f5;display:flex;justify-content:space-between;gap:7px;font-size:12px}.garminDetailValues span{color:#6a7c94}.garminDetailValues strong{white-space:nowrap}
.garminActivities{display:grid;gap:4px}.garminActivities>a{display:flex;justify-content:space-between;gap:13px;align-items:center;text-decoration:none;border-bottom:1px solid #eaf0f5;padding:7px 1px;font-size:12px}.garminActivities>a:hover{color:#17689c}
.garminActivities>a>span:first-child{display:grid;gap:2px}.garminActivities small{color:#7a8ca1}
.garminActivities>a>span:last-child{white-space:nowrap;color:#425b74}
.garminTableScroll{overflow:auto}.garminTableScroll table{min-width:670px;width:100%;border-collapse:collapse;font-size:12px}
.garminTableScroll th,.garminTableScroll td{padding:9px 10px;text-align:right;border-bottom:1px solid #e9eef5;white-space:nowrap}.garminTableScroll th:first-child,.garminTableScroll td:first-child{text-align:left}.garminTableScroll th{color:#61758c;background:#f6f9fc;font-size:11px}
.garminDisclaimer{font-size:12px;color:#7a8ba1;line-height:1.6}
@media(max-width:1130px){.garminKpiGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.garminKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.garminMetric{padding:10px}.garminMetric>strong{font-size:19px}.garminExtraGrid{grid-template-columns:1fr}.garminStripMetrics{gap:8px}.garminStripMetrics>div{min-width:78px}.garminTrainingStrip{padding:10px}.garminDetailCard{padding:11px}}


/* v1.0.122 · Quellen: letzter Versuch, Erfolg und letzte erfolgreiche Abfrage. */
.sourceMonitorV122{display:grid;gap:13px;color:#1d3352}
.sourceMonitorTop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f6f9fd;border:1px solid #dce6f1;border-radius:12px;padding:14px 16px}
.sourceMonitorTop>div:first-child{display:grid;gap:3px}
.sourceMonitorTop strong{font-size:15px;color:#183454}
.sourceMonitorTop span{font-size:12px;color:#607389}
.sourceMonitorCounts{display:flex;flex-wrap:wrap;gap:7px}
.sourceMonitorCount{padding:5px 9px;border:1px solid #dce4ec;border-radius:30px;background:#fff!important;color:#67788d!important;font-size:12px!important;font-weight:750}
.sourceMonitorCount--success{border-color:#a7d8c6!important;color:#147255!important;background:#f3fbf8!important}
.sourceMonitorCount--failure{border-color:#e7bbbb!important;color:#aa3d36!important;background:#fff6f6!important}
.sourceMonitorCount--partial{border-color:#e8d6a5!important;color:#946112!important;background:#fff9ec!important}
.sourceMonitorTableWrap{border:1px solid #dce5ef;border-radius:12px;overflow-x:auto;background:#fff}
.sourceMonitorTable{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.sourceMonitorTable th:nth-child(1){width:34%}.sourceMonitorTable th:nth-child(2){width:23%}.sourceMonitorTable th:nth-child(3){width:20%}.sourceMonitorTable th:nth-child(4){width:23%}
.sourceMonitorTable thead{background:#f4f7fb}
.sourceMonitorTable th{padding:12px 15px;border-bottom:1px solid #dfe7f0;color:#58708c;text-transform:uppercase;letter-spacing:.055em;font-size:11px;font-weight:850}
.sourceMonitorTable td{padding:12px 15px;vertical-align:middle;border-bottom:1px solid #edf1f6;font-size:13px}
.sourceMonitorTable tbody tr:last-child td{border-bottom:none}
.sourceMonitorTable td strong{font-size:13px;color:#213756}
.sourceMonitorTable td small{display:block;font-size:11px;color:#7d8ca1;margin-top:2px}
.sourceMonitorTable time{white-space:nowrap;font-weight:650;color:#45607f;font-size:12.5px}
.sourceMonitorRow--failure{background:#fffafa}
.sourceMonitorRow--partial{background:#fffdf6}
.sourceMonitorResult{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:5px 9px;background:#f3f5f8;color:#65738a;font-size:12px;font-weight:780;white-space:nowrap}
.sourceMonitorResult i{width:7px;height:7px;border-radius:50%;background:currentColor}
.sourceMonitorResult--success{background:#edf8f2;color:#12794d}
.sourceMonitorResult--failure{background:#fff0ef;color:#b43b38}
.sourceMonitorResult--partial{background:#fff5df;color:#926019}
.sourceMonitorError{max-width:290px;margin-top:7px;font-size:11.5px;color:#8b493d;line-height:1.45;overflow-wrap:anywhere}
.sourceMonitorError summary{cursor:pointer;font-weight:700}
.sourceMonitorError span{display:block;padding-top:5px}
.sourceMonitorFooter{font-size:12px;line-height:1.5;color:#697a91}
.sourceMonitorFooter a{font-weight:760;color:#245584;text-decoration:underline}
@media(max-width:700px){
 .sourceMonitorTable thead{display:none}
 .sourceMonitorTable,.sourceMonitorTable tbody,.sourceMonitorTable tr,.sourceMonitorTable td{display:block;width:100%}
 .sourceMonitorTable tr{padding:11px 14px;border-bottom:1px solid #e4ebf2;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
 .sourceMonitorTable tr:last-child{border-bottom:none}
 .sourceMonitorTable td{padding:0;border:0;min-width:0}
 .sourceMonitorTable td:first-child{grid-column:1/-1}
 .sourceMonitorTable td[data-label="Ergebnis"]{grid-column:2;grid-row:2}
 .sourceMonitorTable td[data-label="Letzter Erfolg"]{grid-column:1/-1}
 .sourceMonitorTable td:not(:first-child):before{content:attr(data-label);display:block;color:#8290a3;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:4px}
 .sourceMonitorTable time{font-size:12px;white-space:normal}
 .sourceMonitorTop{padding:11px 12px}
}

/* v1.0.124: Auch positive Abrufe können historische Qualitäts-Hinweise besitzen. */
.sourceMonitorNotice{max-width:310px;margin-top:7px;color:#516c83;font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
.sourceMonitorNotice summary{cursor:pointer;font-weight:700}
.sourceMonitorNotice span{display:block;padding-top:5px}
.sourceMonitorRow--partial .sourceMonitorError{color:#866326}


/* v1.0.125 · Mobile-Navigation, lesbare Agenda und kompakter Refresh */
.sourceMonitorTable th:nth-child(1){width:36%}
.sourceMonitorTable th:nth-child(2){width:29%}
.sourceMonitorTable th:nth-child(3){width:35%}
.sourceMonitorLastSuccess{margin-top:6px;color:#5b7188;font-size:11.5px;line-height:1.4}
.sourceMonitorLastSuccess time{font-size:inherit;font-weight:750;color:#31516f}
.fullRefreshProgress{display:block;pointer-events:auto}
.fullRefreshProgressToggle{display:flex;width:100%;align-items:center;gap:10px;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.fullRefreshProgressHeading{display:flex;min-width:0;flex:1;justify-content:space-between;align-items:baseline;gap:8px}
.fullRefreshProgressHeading strong{font-size:13px}
.fullRefreshProgressHeading>span{font-size:11.5px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fullRefreshProgressCaret{flex:0 0 18px;text-align:center;font-size:19px;line-height:1;opacity:.72}
.fullRefreshProgress.isCompact .fullRefreshProgressMessage,.fullRefreshProgress.isCompact .fullRefreshProgressHint{display:none}
@media (max-width:700px){
  /* Fünf Hauptziele sichtbar, „Mehr“ durch horizontales Wischen erreichbar. */
  .cpDock{display:flex;grid-auto-flow:initial;gap:2px;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:8px;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left));scrollbar-width:none}
  .cpDock::-webkit-scrollbar{display:none}
  .cpDockItem{flex:0 0 clamp(55px,18.4vw,94px);scroll-snap-align:start;min-height:56px;white-space:nowrap}
  .cpDockItem--phone{display:flex!important}
  .cpDockItem .cpIcon{padding-inline:8px}
  .cpDockMore{flex-shrink:0}
  .fullRefreshProgress{left:12px!important;right:12px!important;width:auto!important;bottom:calc(var(--cp-dock-h) + 8px + env(safe-area-inset-bottom))!important;max-height:45vh;overflow-y:auto;padding:10px 12px!important;border-radius:14px;box-shadow:0 6px 20px rgba(16,37,64,.16)}
  .fullRefreshProgress.isCompact{padding:8px 12px 7px!important}
  .fullRefreshProgress.isCompact .fullRefreshProgressTrack{margin-top:6px;height:3px}
  .fullRefreshProgressHeading strong{font-size:12px}
  .fullRefreshProgressHeading>span{font-size:11px}
  /* Kalender-Gruppen erhalten Abstand statt Text am linken Rahmen. */
  .calendarColumns{gap:16px!important}
  .calendarColumn{min-width:0}
  .calendarColumn>h3{padding:0 3px;margin:10px 0 8px!important;font-size:12px!important;letter-spacing:.09em}
  .calendarGroupedList{gap:8px!important}
  .calendarDayGroup{grid-template-columns:87px minmax(0,1fr)!important;gap:0 12px!important;padding:10px 12px!important;margin:0!important;border:1px solid #dce6f0!important;border-radius:13px!important;background:#fff!important;overflow:visible!important}
  .calendarDayHeader{align-self:start;padding:3px 0!important;min-width:0}
  .calendarDayHeader strong{font-size:12px!important;line-height:1.45!important;overflow-wrap:normal}
  .calendarDayItems{min-width:0}
  .calendarGroupedItem,.calendarGroupedItem--birthday,.calendarGroupedItem--gray{padding:4px 0!important;min-width:0}
  .calendarGroupedItem+.calendarGroupedItem{margin-top:7px!important;padding-top:8px!important}
  .calendarGroupedItem strong{font-size:13.5px!important;line-height:1.35!important;overflow-wrap:anywhere}
  .calendarGroupedItem span,.calendarGroupedItem p,.calendarGroupedItem a{font-size:12px!important;line-height:1.4!important;overflow-wrap:anywhere}
  .calendarGroupedItem p{margin-top:4px!important}
  .calendarColumn--birthdays .calendarDayGroup{background:#fcfdff!important}
  /* Tagesbriefing: deutliche Textabstände und gut lesbarer Inhalt. */
  .homeStage .dailyBriefPanel{padding:15px 14px!important;overflow:hidden}
  .homeStage .dailyBriefGrid{gap:9px!important;margin-top:11px}
  .homeStage .dailyBriefTile{padding:13px 14px 14px 17px!important;border-radius:12px!important;min-width:0}
  .homeStage .dailyBriefTile>span{display:block;font-size:11px!important;line-height:1.35;letter-spacing:.06em}
  .homeStage .dailyBriefTile h3{font-size:15px!important;line-height:1.38!important;margin:7px 0 0!important;overflow-wrap:anywhere}
  .homeStage .dailyBriefTile>strong,.homeStage .dailyBriefList strong{font-size:13.5px!important;line-height:1.4!important;overflow-wrap:anywhere}
  .homeStage .dailyBriefTile p,.homeStage .dailyBriefList span{font-size:13px!important;line-height:1.46!important;overflow-wrap:anywhere}
  .homeStage .dailyBriefList li{padding-top:10px}
  .homeStage .overviewDetailHeader--timestamped h2{line-height:1.35;flex-wrap:wrap}
  .homeStage .overviewDetailHeader--timestamped h2 small{font-size:11.5px;white-space:normal}
  /* Quellenanzeige: drei klare Felder, letzter Erfolg nur bei Teilfehlern. */
  .sourceMonitorTable tr{grid-template-columns:1fr auto;gap:7px 12px}
  .sourceMonitorTable td:first-child{grid-column:1/-1}
  .sourceMonitorTable td[data-label="Letzter Versuch"]{grid-column:1;grid-row:2}
  .sourceMonitorTable td[data-label="Ergebnis"]{grid-column:2;grid-row:2;text-align:right}
  .sourceMonitorTable td[data-label="Ergebnis"]:before{text-align:right}
  .sourceMonitorLastSuccess{text-align:right}
}
@media(max-width:365px){
  .cpDockItem{flex-basis:clamp(54px,18.35vw,67px)}
  .calendarDayGroup{grid-template-columns:77px minmax(0,1fr)!important;gap:0 9px!important;padding-inline:9px!important}
  .calendarDayHeader strong{font-size:11px!important}
  .sourceMonitorTable tr{grid-template-columns:1fr;gap:5px}
  .sourceMonitorTable td[data-label="Ergebnis"]{grid-column:1;grid-row:3;text-align:left}
  .sourceMonitorTable td[data-label="Ergebnis"]:before,.sourceMonitorLastSuccess{text-align:left}
}


/* v1.0.126 – Datenquellen: Details über ganze Breite statt in der Statusspalte. */
.sourceMonitorTable .sourceMonitorMainRow--withInfo td{border-bottom:0}
.sourceMonitorTable .sourceMonitorInfoRow>td{padding:0 15px 12px;border-bottom:1px solid #e4ebf2}
.sourceMonitorInfoContent{display:flex;flex-wrap:wrap;align-items:start;column-gap:22px;row-gap:8px;min-width:0}
.sourceMonitorInfoContent .sourceMonitorError,
.sourceMonitorInfoContent .sourceMonitorNotice{max-width:none;min-width:0;flex:1 1 240px;margin:0;font-size:12px;line-height:1.5}
.sourceMonitorInfoContent details[open]{flex-basis:100%}
.sourceMonitorInfoContent summary{cursor:pointer;display:list-item;list-style-position:inside;max-width:max-content;padding:2px 0}
.sourceMonitorInfoContent .sourceMonitorDetailText{display:block;max-width:100%;margin-top:5px;padding:10px 12px;border-radius:8px;border:1px solid #ead8d4;background:rgba(255,255,255,.78);white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.55}
.sourceMonitorInfoContent .sourceMonitorNotice .sourceMonitorDetailText{border-color:#d9e4ef}
.sourceMonitorInfoContent .sourceMonitorLastSuccess{flex:0 1 auto;margin:2px 0 0;font-size:12px;line-height:1.5;text-align:left;white-space:normal}
@media(max-width:700px){
  .sourceMonitorTable .sourceMonitorMainRow{gap:7px 14px;min-width:0}
  .sourceMonitorTable .sourceMonitorMainRow--withInfo{border-bottom:0;padding-bottom:6px}
  .sourceMonitorTable tr.sourceMonitorInfoRow{display:block;width:100%;padding:0 14px 12px;border-bottom:1px solid #e4ebf2;grid-template-columns:none}
  .sourceMonitorTable .sourceMonitorInfoRow>td{display:block;width:100%;min-width:0;padding:0;border:0}
  .sourceMonitorInfoContent{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%}
  .sourceMonitorInfoContent .sourceMonitorError,
  .sourceMonitorInfoContent .sourceMonitorNotice{display:block;width:100%;max-width:none;min-width:0;flex:none;margin:0;color:#82473c}
  .sourceMonitorInfoContent .sourceMonitorNotice{color:#516c83}
  .sourceMonitorInfoContent .sourceMonitorDetailText{font-size:12px;line-height:1.55;padding:10px;max-width:100%}
  .sourceMonitorInfoContent .sourceMonitorLastSuccess{text-align:left;font-size:12px}
  .sourceMonitorTop{gap:10px}
}
@media(max-width:365px){
  .sourceMonitorTable tr.sourceMonitorMainRow{grid-template-columns:minmax(0,1fr) auto;gap:7px 6px}
  .sourceMonitorTable .sourceMonitorMainRow td[data-label="Letzter Versuch"]{grid-column:1;grid-row:2}
  .sourceMonitorTable .sourceMonitorMainRow td[data-label="Ergebnis"]{grid-column:2;grid-row:2;text-align:right}
  .sourceMonitorTable .sourceMonitorMainRow td[data-label="Ergebnis"]:before{text-align:right}
  .sourceMonitorResult{gap:5px;padding:5px 7px;font-size:11px}
}


/* v1.0.127: Kompakte, komplett einklappbare Quellen mit zugänglichen Details. */
.sourceMonitorList{overflow:hidden;border:1px solid #dae4ef;border-radius:12px;background:#fff}
.sourceMonitorListHead,.sourceMonitorEntryHeader{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,29fr) minmax(0,35fr);align-items:center;column-gap:16px}
.sourceMonitorListHead{padding:12px 16px;background:#f4f7fb;border-bottom:1px solid #dfe7f0;color:#5a708a;font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:820}
.sourceMonitorEntry{border-bottom:1px solid #e8edf4;min-width:0}
.sourceMonitorEntry:last-child{border-bottom:0}
.sourceMonitorEntry--failure{background:#fffafa}
.sourceMonitorEntry--partial{background:#fffdf8}
.sourceMonitorEntryHeader{padding:13px 16px;min-height:50px;list-style:none;position:relative;gap:8px 16px}
.sourceMonitorEntry>summary{cursor:pointer}
.sourceMonitorEntry>summary::-webkit-details-marker{display:none}
.sourceMonitorEntry>summary::marker{content:''}
.sourceMonitorEntry>summary:hover{background:rgba(227,236,246,.35)}
.sourceMonitorEntry>summary:focus-visible{outline:2px solid #5b8dd0;outline-offset:-2px}
.sourceMonitorIdentity{min-width:0;color:#213756;font-size:13px}
.sourceMonitorIdentity strong{display:block;overflow-wrap:anywhere}
.sourceMonitorIdentity small{display:block;font-size:11px;margin-top:3px;color:#6b7d94}
.sourceMonitorAttempt{min-width:0;display:grid;gap:3px}
.sourceMonitorAttempt time{font-size:12px;color:#455f7e;font-weight:700;white-space:nowrap}
.sourceMonitorAttempt small{font-size:11px;line-height:1.3;color:#647890;overflow-wrap:anywhere}
.sourceMonitorOutcome{display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:0}
.sourceMonitorDisclosure{font-size:11px;color:#58718b;font-weight:720;white-space:nowrap}
.sourceMonitorDisclosureChevron{font-size:14px;margin-left:2px;display:inline-block;transition:transform .18s}
.sourceMonitorEntry[open] .sourceMonitorDisclosureChevron{transform:rotate(180deg)}
.sourceMonitorEntryDetail{padding:0 16px 13px;display:grid;gap:8px}
.sourceMonitorIssue{font-size:12px;line-height:1.55;color:#885049;border:1px solid #f0dcd8;border-radius:8px;padding:10px 12px;background:rgba(255,255,255,.8);overflow-wrap:anywhere}
.sourceMonitorIssue--note{color:#486983;border-color:#dae6f0}
.sourceMonitorIssue strong{display:block;margin-bottom:3px}
.sourceMonitorIssue p,.sourceMonitorEntryDetail>p{margin:0;font-size:inherit;color:inherit}
.garminMeasuredAt{font-size:10.5px;font-weight:650;color:#62829a}
.garminMeasuredAt--missing{color:#997443}
.garminMetric--missing{background:#fbfcfe}
.garminMetric--missing>strong{color:#95a6bb}
.garminCoverageHint{font-size:12px;color:#688197;line-height:1.5;margin:4px 0 14px}
@media(max-width:700px){
  .sourceMonitorListHead{display:none}
  .sourceMonitorEntryHeader{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:9px;padding:12px 13px}
  .sourceMonitorIdentity{grid-column:1/-1;font-size:14px}
  .sourceMonitorAttempt{grid-column:1;min-width:0}
  .sourceMonitorAttempt time{font-size:12.5px}
  .sourceMonitorOutcome{grid-column:2;justify-content:end;gap:7px;flex-wrap:wrap}
  .sourceMonitorDisclosure{font-size:10px}
  .sourceMonitorEntryDetail{padding:0 13px 12px}
  .sourceMonitorIssue{font-size:12px}
}
@media(max-width:360px){.sourceMonitorOutcome{gap:5px}.sourceMonitorDisclosure{font-size:9px}.sourceMonitorResult{padding:5px 6px;font-size:11px}}


/* v1.0.128 – Garmin: direkte Navigation und lesbare Tageshistorie. */
.garminTableScroll table{min-width:790px}
.garminTableScroll th:first-child,.garminTableScroll td:first-child{min-width:86px;font-variant-numeric:tabular-nums;font-weight:700}
.garminMetricHeader span{overflow-wrap:normal}
.garminMetric--missing .garminMeasuredAt--missing{line-height:1.4}
@media(max-width:750px){.garminTableScroll table{min-width:790px}.panelTitle--withAction .panelTitleAction{white-space:nowrap}}


/* v1.0.129 – Garmin-Regenerationscockpit, interaktive Trends und Schlafphasen. */
.garminSectionHeading{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;justify-content:space-between;margin:16px 2px 10px;color:#193c67}
.garminSectionHeading h3{font-size:14px;line-height:1.4;font-weight:850;margin:0}
.garminSectionHeading span{font-size:11px;color:#788ba1}
.garminVitalMetrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:19px}
.garminVitalMetrics .garminMetric{padding:14px;min-height:157px;position:relative;overflow:visible;border-top:3px solid var(--gm-accent,#4888ae);background:linear-gradient(160deg,var(--gm-tint,#f4f9ff) 0%,#fff 80%);box-shadow:0 8px 23px rgba(30,63,105,.065)}
.garminMetric--sleep{--gm-accent:#5473c8;--gm-tint:#f0f3ff}
.garminMetric--hrv{--gm-accent:#238f87;--gm-tint:#ecfbf8}
.garminMetric--battery{--gm-accent:#a78025;--gm-tint:#fffaea}
.garminMetric--pulse{--gm-accent:#c66c71;--gm-tint:#fff1f1}
.garminMetric--stress{--gm-accent:#8668bc;--gm-tint:#f6f2ff}
.garminVitalMetrics .garminMetricHeader{align-items:flex-start;flex-wrap:wrap}
.garminVitalMetrics .garminMetricHeader span{font-size:12px;color:#244160}
.garminVitalMetrics .garminMetric>strong{font-size:25px;line-height:1.15;color:#183759}
.garminVitalMetrics .garminMetricTrend{min-height:47px}
.garminVitalMetrics .garminTrendLine{stroke:var(--gm-accent,#288c9a)}
.garminVitalMetrics .garminTrendDot{stroke:var(--gm-accent,#288c9a)}
.garminSecondaryMetrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:17px}
.garminSecondaryMetrics .garminMetric{min-height:150px}
.garminMetricTrend{position:relative;overflow:visible}
.garminTrendInteractive{position:relative;width:100%;height:47px;isolation:isolate}
.garminTrendInteractive svg{width:100%;height:47px;display:block;overflow:visible}
.garminTrendLine{fill:none;stroke:#288c9a;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.garminTrendGuide{stroke:#90a6b8;stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;opacity:0}
.garminTrendDot{stroke:#288c9a;stroke-width:1.6;fill:#fff;vector-effect:non-scaling-stroke;opacity:0}
.garminTrendHit{cursor:crosshair;touch-action:pan-y;outline:none}
.garminTrendInteractive.isHovering .garminTrendGuide,.garminTrendInteractive.isHovering .garminTrendDot{opacity:1}
.garminTrendHit:focus-visible{outline:2px solid #3d8aba;outline-offset:0}
.garminTrendTooltip{position:absolute;z-index:12;bottom:calc(100% - 4px);transform:translateX(-50%);padding:5px 8px;white-space:nowrap;border-radius:7px;background:#173454;color:#fff;font-size:11px;font-weight:750;pointer-events:none;box-shadow:0 4px 9px rgba(16,41,70,.16)}
.garminTrendTooltip[hidden]{display:none}
.garminExtraGrid{grid-template-columns:minmax(0,1fr)}
.garminSleepCard{padding:17px 19px}
.garminSleepLayout{display:grid;grid-template-columns:minmax(195px,.9fr) minmax(230px,1.4fr) minmax(185px,1fr);gap:20px;align-items:center}
.garminSleepSummary{display:flex;align-items:center;gap:16px}
.garminSleepScoreRing{--garmin-score-angle:0deg;display:grid;place-items:center;flex:0 0 100px;width:100px;height:100px;border-radius:100%;background:conic-gradient(#338d9c var(--garmin-score-angle),#e6eef5 var(--garmin-score-angle));padding:8px}
.garminSleepScoreRing>div{background:#fff;border-radius:100%;width:100%;height:100%;display:grid;gap:0;place-content:center;text-align:center}
.garminSleepScoreRing strong{font-size:28px;line-height:1.1;color:#1a456d}
.garminSleepScoreRing span{font-size:10px;color:#647e99;margin-top:4px}
.garminSleepHours{display:grid;gap:5px}
.garminSleepHours span,.garminSleepHours small{font-size:11px;color:#637995}
.garminSleepHours strong{font-size:24px;color:#183d66;white-space:nowrap}
.garminSleepStages h4,.garminRecoveryOverview h4{margin:0 0 10px;font-size:12px;color:#36516e}
.garminSleepStageBar{display:flex;height:15px;width:100%;background:#e7eef5;border-radius:20px;overflow:hidden;gap:1px}
.garminSleepStage--deep{background:#5466b8}.garminSleepStage--rem{background:#30a1a9}.garminSleepStage--light{background:#9bcce4}
.garminSleepStageLegend{display:grid;gap:7px;margin-top:12px}
.garminSleepStageLegend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:11px;color:#617791}
.garminSleepStageLegend i{width:9px;height:9px;border-radius:2px}
.garminSleepStageLegend strong{color:#213d5a}
.garminSleepEmpty{font-size:11px;color:#708399;margin:12px 0}
.garminRecoveryOverview{min-width:0;border-left:1px solid #e5edf5;padding-left:18px}
.garminRecoveryFact{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:7px 0;border-bottom:1px solid #eaf0f5}
.garminRecoveryFact span{color:#637994}.garminRecoveryFact strong{color:#1d4064;white-space:nowrap}
.garminBatteryTrack{height:6px;background:#e7edf4;border-radius:10px;position:relative;margin:9px 0}
.garminBatteryTrack span{position:absolute;height:100%;border-radius:10px;background:linear-gradient(90deg,#d3b563,#44a994)}
.garminRecoveryDate{display:block;color:#75869b;font-size:10px;margin-top:8px}
.garminActivities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:3px}
.garminActivities>a>span:first-child{min-width:0}.garminActivities>a>span:first-child strong{overflow-wrap:anywhere}
@media(max-width:1320px){
 .garminVitalMetrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
 .garminVitalMetrics .garminMetric{padding:10px}
 .garminVitalMetrics .garminMetric>strong{font-size:21px}
 .garminSleepLayout{grid-template-columns:minmax(180px,1fr) minmax(210px,1.3fr)}
 .garminRecoveryOverview{grid-column:1/-1;border-left:0;border-top:1px solid #e5edf5;padding:12px 0 0}
}
@media(max-width:900px){
 .garminVitalMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .garminSecondaryMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .garminSleepLayout{grid-template-columns:1fr 1.2fr}
}
@media(max-width:700px){
 .garminVitalMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .garminVitalMetrics .garminMetric{min-height:147px;padding:11px}
 .garminVitalMetrics .garminMetric>strong{font-size:21px}
 .garminVitalMetrics .garminMetric:last-child{grid-column:1/-1}
 .garminSecondaryMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .garminSleepCard{padding:14px}
 .garminSleepLayout{grid-template-columns:1fr;gap:17px}
 .garminSleepSummary{gap:18px}
 .garminRecoveryOverview{grid-column:1;border-top:1px solid #e5edf5;padding-top:12px}
 .garminActivities{grid-template-columns:1fr}
 .garminMetricHeader small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.garminTrendGuide,.garminTrendDot{transition:none}}
