/* Rein visuelle Ebene: Daten, Trainingslogik und Interaktionen bleiben unverändert. */
:root {
  color-scheme: dark;
  --ink: #f5f5f7;
  --muted: #a3a7b4;
  --line: rgba(235, 239, 255, .11);
  --surface: rgba(31, 33, 41, .72);
  --canvas: #0c0d11;
  --deep: #2676e8;
  --deep-2: #121319;
  --mint: #a7caff;
  --lime: #b9cfff;
  --blue: #91baff;
  --purple: #b6a5f3;
  --orange: #eac28b;
  --red: #ffaaa4;
  --shadow: 0 16px 48px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .035);
  --glass: linear-gradient(135deg, rgba(255,255,255,.025), rgba(255,255,255,0));
}
html { background: var(--canvas); }
body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  background: radial-gradient(ellipse at 75% 0, rgba(86,108,167,.12), transparent 50%),
    radial-gradient(ellipse at 15% 100%, rgba(108,94,153,.055), transparent 50%), var(--canvas);
  background-attachment: fixed;
}
::selection { background: #42669c; color: white; }
a, .text-button { color: var(--blue); }
button { -webkit-tap-highlight-color: transparent; }
button, a { transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #91baff; outline-offset: 3px;
}
.error { color: var(--red); }
.positive { color: var(--blue) !important; }
.sidebar {
  background: rgba(20,21,27,.83);
  border-right: 1px solid var(--line);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  backdrop-filter: blur(28px) saturate(120%);
}
.brand { font-weight: 750; letter-spacing: -1.5px; }
.brand-sub { color: #a2a8b6; font-size: 8px; letter-spacing: 1.15px; }
.emblem { box-shadow: 0 3px 15px #0003; }
.athlete-mini { border-color: var(--line); }
.athlete-mini span, .connection, .settings, .nav-item { color: #acb1bf; }
.avatar { color: #d1d8e9; background: linear-gradient(140deg, #414959, #272d38); border: 1px solid #ffffff12; }
.nav-item, .settings { border-radius: 13px; font-weight: 550; }
.nav-item:hover, .settings:hover { background: #ffffff08; color: var(--ink); }
.nav-item.active { background: #85afff16; color: #c2d9ff; box-shadow: inset 0 0 0 1px #9ebfff19; }
.coach-nav { color: #c1c8d9; }
.sidebar-bottom p { color: #8e96a8; }
.connection b { color: #a8b9d3; }
.source-dot { background: #9abef8; }
.source-dot.off { background: #747c8a; }
.source-dot.warn { background: var(--orange); }
.topbar { border-color: #ffffff0c; }
.topbar-date { font-weight: 500; }
.sync-button, .week-badge, .subtabs, .week-switcher, .segmented-control {
  background: #ffffff05; border-color: var(--line); border-radius: 12px;
}
.sync-button { font-weight: 500; }
.sync-button:hover { background: #ffffff0d; }
.week-badge { color: #c5cada; }
.page-intro h1 { font-weight: 700; letter-spacing: -1.1px; }
.eyebrow { font-weight: 650; letter-spacing: 1.6px; }
.readiness-card {
  border: 1px solid #b0c7ff20; border-radius: 24px;
  background: radial-gradient(ellipse at 100% 0, #6f8eca1d, transparent 65%), linear-gradient(115deg, #222b3bed, #1a1e29e8);
  box-shadow: var(--shadow); color: var(--ink);
}
.readiness-card:after { border-color: #bbcaff12; box-shadow: 0 0 0 40px #bbccff03, 0 0 0 85px #bbccff02; pointer-events: none; }
.readiness-card p:not(.eyebrow) { color: #b5bfd0; }
.readiness-card .eyebrow { color: #a6bbdc; }
.readiness-points .data-label, .readiness-points em { color: #a7b5ca; }
.readiness-points strong { font-weight: 600; }
.readiness-points strong small { font-weight: 400; color: #aab8ce; }
.score-ring { background: conic-gradient(#9fc5ff var(--score,0%), #b6c8ef23 0); }
.score-ring:before { background: #232d3e; }
.score-ring span { font-weight: 650; }
.score-ring small { color: #b6c7e1; }
.metric-card, .panel, .day-card, .connector-card, .login-box {
  background-color: var(--surface); background-image: var(--glass);
  border-color: var(--line); border-radius: 22px; box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
.metric-card strong, .nutrition-kpi { font-weight: 650; font-variant-numeric: tabular-nums; }
.metric-card p { font-weight: 500; }
.metric-card footer b { color: var(--blue); }
.metric-icon { border-radius: 10px; }
.load-icon { background: #91baff16; color: #a9c9ff; }
.food-icon { background: #efc79714; color: #efc797; }
.scale-icon { background: #b6a5f318; color: #c3b6f9; }
.metric-tag, .metric-tag.blue { background: #91baff12; color: #b6d0fa; border-radius: 7px; font-weight: 600; }
.metric-tag.neutral { background: #ffffff08; color: #b4b8c3; }
.metric-tag.warn, .metric-tag.nutrition { background: #edba7012; color: #e5c397; }
.progress-track { background: #ffffff0c; }
.progress-track span { background: linear-gradient(90deg,#5888ce,#abc9fb); }
.macro-bars i { background: #91baff; }
.macro-bars i:nth-child(2) { background: #b3a0e3; }
.macro-bars i:nth-child(3) { background: #cfae80; }
.mini-line path { stroke: #b6a5f3; }
.workout-symbol { border-radius: 13px; }
.strength, .run { background: #91baff13; color: #a8c9ff; }
.bike { background: #b6a5f317; color: #c3b4f3; }
.rest { background: #ffffff04; color: var(--muted); }
.workout-status { background: #91baff12; color: #b2caf0; border-radius: 7px; }
.exercise-pills span { color: #b8becb; background: #ffffff03; border-radius: 8px; }
.button { background: #ffffff07; border-color: #ffffff12; border-radius: 12px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.button.primary { background: linear-gradient(#3484ee,#2570d9); border-color: #7aadff40; color: #fff; box-shadow: inset 0 1px #ffffff16, 0 3px 12px #0002; }
.button.primary:hover { background: #3e89ed; }
.button.secondary:hover { background: #ffffff10; border-color: #ffffff24; }
.text-button { font-weight: 600; }
.text-button:hover { color: #c1d8ff; }
.week-bars .bar { border-radius: 7px 7px 3px 3px; }
.week-bars .strength { background: linear-gradient(0deg,#527dba,#a6c7f8); }
.week-bars .run { background: #81a5cc; }
.week-bars .bike { background: #a493cb; }
.week-bars .rest { background: #ffffff13; }
.week-bars .planned { background: repeating-linear-gradient(-45deg,#8eaad02c 0,#8eaad02c 4px,#8eaad011 4px,#8eaad011 8px); border: 1px solid #9dc2ff17; }
.week-bars .today small { color: #b9d2ff; }
.insight-banner { background: #9fbcff07; border-color: #abc8ff17; border-radius: 18px; }
.insight-banner p { color: #a7afbf; }
.sparkle { color: #bdd2ff; background: #a1beff11; border-radius: 10px; }
.loading-panel, .empty-state { background: #ffffff02; border-radius: 20px; }
.notice { background: #e6b46709; border-color: #e5ba731f; color: #d8c9af; border-radius: 15px; }
.subtabs { padding: 4px; gap: 4px; border: 1px solid var(--line); width: fit-content; }
.subtabs button { border: 1px solid transparent; border-radius: 9px; background: transparent; }
.subtabs button.active, .segmented-control button.selected { background: #ffffff12; color: var(--ink); border-color: #ffffff08; box-shadow: 0 1px 4px #0002; }
.calendar-toolbar > button:not(.add-session) { background: #ffffff06; border-color: var(--line); border-radius: 11px; min-width: 40px; min-height: 42px; }
.day-card { border-radius: 18px; }
.day-card.today { border-color: #9dc2ff67; box-shadow: inset 0 0 0 1px #9dc2ff15, var(--shadow); }
.day-card.rest { background: rgba(255,255,255,.018); box-shadow: none; }
.day-card.rest h3 { color: #b1b5c1; }
.exercise-table td { border-color: var(--line); }
.chart .grid { stroke: #ffffff0d; }
.chart .line { stroke: #a5c7ff; }
.chart .daily { stroke: #77869e; }
.chart .dot { fill: #a5c7ff; }
input, select, textarea { background: #0d101766; border-color: #ffffff1b; border-radius: 12px; }
select option { background: #20232d; color: var(--ink); }
input::placeholder, textarea::placeholder { color: #8b93a4; opacity: 1; }
input[type=checkbox] { accent-color: #6b9ce5; }
.chat-bubble { background: var(--surface); border-color: var(--line); border-radius: 20px 20px 20px 6px; }
.chat-bubble.user { background: #27374fee; border-color: #a9c7ff1a; border-radius: 20px 20px 6px 20px; }
.chat-form { background: transparent; }
.connector-card .tag { background: #ffffff08; color: #bac3d5; border-radius: 7px; }
.login-screen { background: radial-gradient(ellipse at 50% 10%,#536d9d24,transparent 60%), var(--canvas); }
.login-box { padding-top: 40px; }
.login-box h1 { font-weight: 650; }
#toast { background: #292e3beF; color: var(--ink); border: 1px solid #ffffff20; border-radius: 16px; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: var(--shadow); }
dialog { background: #1d2029f5; border-color: #ffffff24; border-radius: 26px; box-shadow: 0 30px 120px #0009, inset 0 1px #ffffff09; -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(40px); }
dialog::backdrop { background: #0008; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.dialog-close { color: #c7cbd5; border-radius: 50%; background: #ffffff08; }
.dialog-title { font-weight: 650; }
.menu-scrim { background: #0007; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.skip-link { background: #202632; color: white; border-radius: 10px; }
@media(max-width:900px) {
  .sidebar { background: #171920ed; }
  .mobile-nav { left: 10px; right: 10px; bottom: 8px; border: 1px solid #ffffff20; border-radius: 24px; background: #232630d9; box-shadow: 0 10px 40px #0006, inset 0 1px #ffffff08; -webkit-backdrop-filter: blur(32px) saturate(125%); backdrop-filter: blur(32px) saturate(125%); }
  .mobile-nav button { color: #b3b9c7; border-radius: 16px; }
  .mobile-nav button.active { background: #8bb8ff1b; color: #c4daff; }
  .menu-button { color: var(--ink); }
  .main-content { padding-bottom: 115px; }
}
@media(max-width:650px) {
  .metric-card, .panel { border-radius: 20px; }
  .readiness-card { border-radius: 22px; }
  .readiness-points { border-color: #ffffff12; }
  .page-intro .week-badge { margin-top: 0; }
  .plan-grid.month { border-radius: 16px; }
  .exercise-table tr { padding: 18px 0; }
  .exercise-table td:first-child { font-weight: 600; }
}
@media(prefers-reduced-transparency:reduce) {
  .metric-card, .panel, .day-card, .connector-card, .login-box, .chat-bubble { background: #1c1f27; }
  .sidebar, .mobile-nav, dialog { background: #1b1e26; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media(prefers-reduced-motion:reduce) { button, a { transition: none; } }
