:root{--bg:#050812;--card:#0b1222;--card2:#111a31;--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.18);--text:#f8fafc;--muted:#93a3b8;--dim:#64748b;--purple:#8b5cf6;--pink:#d946ef;--blue:#38bdf8;--green:#35d071;--orange:#ff9f1c;--red:#ef4444}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,rgba(50,80,180,.22),transparent 32%),radial-gradient(circle at 100% 0,rgba(139,92,246,.18),transparent 35%),linear-gradient(180deg,#050714 0,#070b16 46%,#030611 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(#000,transparent 82%)}button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:50;max-width:430px;margin:auto;padding:calc(14px + env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,8,18,.78);backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{font-weight:1000;font-size:24px;letter-spacing:-.055em}#sub{font-size:12px;color:#a7b4c8;font-weight:850;margin-top:2px}.saveStateBadge{display:inline-flex;margin-top:8px;padding:6px 11px;border-radius:999px;border:1px solid rgba(96,165,250,.35);background:rgba(37,99,235,.10);color:#bfdbfe;font-size:12px;font-weight:900}.ghost{border-radius:20px;padding:10px 15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:white;font-weight:900}#app{position:relative;z-index:1;max-width:430px;margin:0 auto;padding:14px 12px calc(108px + env(safe-area-inset-bottom));display:grid;gap:12px}.card,.heroSession{background:linear-gradient(180deg,rgba(18,28,54,.86),rgba(8,13,27,.88));border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:0 20px 58px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06)}h1{margin:0;font-size:28px;line-height:1;letter-spacing:-.055em;font-weight:1000}h2{margin:0 0 10px;font-size:18px;letter-spacing:-.03em}h3{margin:16px 2px 8px;color:#dbeafe}.muted,.empty,p{color:var(--muted);line-height:1.35}.compact{padding:14px}.bottom-nav{position:fixed;z-index:100;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:406px;margin:auto;height:74px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;border-radius:26px;background:linear-gradient(180deg,rgba(20,28,48,.86),rgba(5,9,22,.94));border:1px solid rgba(255,255,255,.14);box-shadow:0 -12px 48px rgba(0,0,0,.55);backdrop-filter:blur(26px)}.bottom-nav button{border:0;background:transparent;color:#94a3b8;font-size:10px;font-weight:850;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav button span{font-size:20px}.bottom-nav button.active{color:white;background:radial-gradient(circle at 50% 20%,rgba(99,102,241,.56),rgba(139,92,246,.24));box-shadow:0 0 26px rgba(139,92,246,.28)}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.sectionHead span{font-size:12px;color:var(--muted);font-weight:900}.iconBtn{width:38px;height:38px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:white;font-size:22px}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);margin-bottom:12px}.seg button{height:38px;border:0;border-radius:14px;background:transparent;color:#94a3b8;font-size:12px;font-weight:900}.seg button.active{color:white;background:linear-gradient(135deg,#5b21b6,#9333ea);box-shadow:0 10px 28px rgba(147,51,234,.25)}.dashHero{display:grid;grid-template-columns:145px 1fr;gap:12px}.readinessRing{width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--green) 0 var(--p),rgba(255,255,255,.08) var(--p));display:grid;place-items:center;box-shadow:0 0 30px rgba(53,208,113,.12)}.readinessRing>div{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#07101f;border:1px solid rgba(255,255,255,.10)}.readinessRing b{font-size:31px}.readinessRing small{color:var(--muted);font-size:11px;font-weight:850}.readyText{text-align:center;margin-top:8px}.readyText b{display:block}.readyText span{font-size:12px;color:#86efac}.dashSide{display:grid;gap:7px;align-content:center}.metricLine{display:grid;grid-template-columns:9px 1fr auto;gap:7px;align-items:center;padding:9px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line);font-size:11px}.metricLine i{width:9px;height:9px;background:var(--green);border-radius:50%}.metricLine.hot i{background:var(--pink)}.metricLine.blue i{background:var(--blue)}.metricLine span{color:#cbd5e1}.metricLine b{font-size:12px}.heroSession{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:14px;background:linear-gradient(135deg,rgba(30,41,78,.95),rgba(11,19,35,.9)),radial-gradient(circle at 85% 20%,rgba(249,115,22,.2),transparent 35%)}.heroSession small{color:#a78bfa;font-weight:900}.heroSession h1{font-size:22px;margin:3px 0}.heroSession p{margin:0}.heroIcon,.sportIcon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:rgba(96,165,250,.13);border:1px solid rgba(255,255,255,.08);font-size:22px}.sportIcon.big{width:58px;height:58px}.sportIcon.bike{background:rgba(74,222,128,.13)}.sportIcon.run{background:rgba(59,130,246,.14)}.sportIcon.swim{background:rgba(56,189,248,.15)}.sportIcon.strength{background:rgba(168,85,247,.14)}.insightGrid,.metricCards,.goalGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.insightGrid div,.metricCards div,.goalGrid div,.unitFacts div{padding:12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.045)}.insightGrid b,.metricCards b,.goalGrid b{display:block}.insightGrid span,.metricCards span,.goalGrid span,.unitFacts span{color:var(--muted);font-size:11px;font-weight:850}.metricCards{grid-template-columns:repeat(3,1fr)}.metricCards b{font-size:25px}.tracker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}label{display:block;color:#aab6cc;font-size:12px;font-weight:900}input,select{width:100%;margin-top:6px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:white}button{cursor:pointer}.session{display:grid;grid-template-columns:48px 1fr 54px;gap:10px;align-items:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line);margin:8px 0}.session b{font-size:14px}.session small{display:block;color:#94a3b8;font-size:11px;margin-top:3px}.session aside{text-align:right}.load{display:inline-flex;min-width:33px;justify-content:center;padding:3px 6px;border-radius:999px;font-weight:950;font-size:12px}.load.green{color:#86efac}.load.orange{color:#fbbf24}.load.red{color:#fca5a5}.session aside em{display:block;font-style:normal;color:var(--muted);font-size:9px;font-weight:850;margin-top:4px}.session.done{background:linear-gradient(90deg,rgba(16,185,129,.28),rgba(255,255,255,.04));border-color:rgba(52,211,153,.55)}.session.changed{background:linear-gradient(90deg,rgba(245,158,11,.28),rgba(255,255,255,.04));border-color:rgba(251,191,36,.55)}.session.missed{background:linear-gradient(90deg,rgba(239,68,68,.27),rgba(255,255,255,.04));border-color:rgba(248,113,113,.55)}.weekdays,.monthGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays span{text-align:center;color:#94a3b8;font-size:11px;font-weight:900}.mday{position:relative;height:50px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.045);color:white;padding:6px;text-align:left}.mday b{font-size:14px}.mday em{position:absolute;right:6px;top:5px;font-size:10px;color:#c4b5fd;font-style:normal}.mday.out{opacity:.34}.mday.sel{background:linear-gradient(135deg,#4f46e5,#a21caf);box-shadow:0 0 24px rgba(139,92,246,.32)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue);margin:14px 1px 0}.dot.bike{background:var(--green)}.dot.run{background:#60a5fa}.dot.swim{background:#38bdf8}.dot.strength{background:#a78bfa}.mday.done{background:rgba(16,185,129,.25);border-color:rgba(52,211,153,.55)}.mday.changed{background:rgba(245,158,11,.26);border-color:rgba(251,191,36,.55)}.mday.missed{background:rgba(239,68,68,.25);border-color:rgba(248,113,113,.55)}.dayGroup{border-top:1px solid rgba(255,255,255,.06);padding-top:4px}.listDate{color:#a78bfa;font-weight:950;margin:14px 2px 4px}.unitHero{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center}.unitHero h1{font-size:24px;margin:4px 0}.unitHero small{color:#a7b4c8;font-weight:900}.unitTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:16px 0}.unitTabs span{text-align:center;color:#94a3b8;font-size:11px;font-weight:900;padding:10px 4px;border-bottom:2px solid transparent}.unitTabs .active{color:white;border-color:#a855f7}.unitFacts{display:grid;grid-template-columns:1fr;gap:8px}.unitFacts b{display:block;font-size:14px;margin-top:3px}.flowLine{position:relative;margin-left:8px}.flowLine:before{content:"";position:absolute;left:16px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--green),var(--orange),var(--blue))}.step{position:relative;display:grid;grid-template-columns:56px 1fr;gap:10px;margin:10px 0 10px 26px;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid var(--line)}.step:before{content:"";position:absolute;left:-18px;top:20px;width:12px;height:12px;border-radius:50%;background:#84cc16;border:2px solid #0b1222}.step strong{color:#dbeafe}.step small{display:block;color:#94a3b8;margin-top:3px}.coachBox,.changeNote{padding:13px;border-radius:17px;background:rgba(139,92,246,.10);border:1px solid rgba(167,139,250,.20);margin:12px 0}.coachBox p{margin:5px 0 0}.unitActions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.unitActions button,.shareBtn,.resetGrid button,.primary{border-radius:15px;border:1px solid var(--line2);padding:11px 8px;background:rgba(255,255,255,.065);color:white;font-weight:950}.primary,.shareBtn{background:linear-gradient(135deg,#4f46e5,#9333ea,#d946ef);box-shadow:0 12px 28px rgba(147,51,234,.24)}.unitActions .isActive.doneAction{background:var(--green);color:#02150a}.unitActions .isActive.changedAction{background:#facc15;color:#231500}.unitActions .isActive.missedAction{background:var(--red)}.danger{background:rgba(239,68,68,.16)!important;color:#fecaca!important}.raceReady{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}.zoneBar{height:18px;display:flex;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.zoneBar i:nth-child(1){background:#22c55e}.zoneBar i:nth-child(2){background:#f59e0b}.zoneBar i:nth-child(3){background:#ef4444}.zoneBar i:nth-child(4){background:#8b5cf6}.miniChart{height:170px;margin-top:10px}.miniChart svg{width:100%;height:100%}.miniChart line{stroke:rgba(255,255,255,.16)}.miniChart polyline{fill:none;stroke:#a3e635;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.resetGrid{display:grid;gap:8px;margin-top:12px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999;display:none}.overlay.open{display:block}.sheet{position:fixed;z-index:1000;left:10px;right:10px;bottom:0;max-width:410px;margin:auto;max-height:88dvh;overflow:auto;background:linear-gradient(180deg,rgba(12,18,34,.98),rgba(3,7,18,.99));border:1px solid rgba(255,255,255,.16);border-radius:28px 28px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom));transform:translateY(110%);transition:.22s}.sheet.open{transform:none}.x{position:sticky;top:0;float:right;width:38px;height:38px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:white}.toast{position:fixed;left:18px;right:18px;bottom:105px;z-index:2000;max-width:390px;margin:auto;background:#111827;border:1px solid var(--line);border-radius:16px;padding:12px;color:white;opacity:0;transition:.2s}.toast.show{opacity:1}@media(max-width:390px){#app{padding-left:10px;padding-right:10px}.dashHero,.raceReady{grid-template-columns:1fr}.readinessRing{margin:auto}.tracker,.metricCards{grid-template-columns:1fr 1fr}.unitActions{grid-template-columns:1fr}.bottom-nav{left:8px;right:8px}.bottom-nav button{font-size:9px}.mday{height:45px;border-radius:13px;padding:5px}.card{border-radius:23px;padding:14px}h1{font-size:25px}.session{grid-template-columns:43px 1fr 48px}.sportIcon{width:42px;height:42px}}
/* V148 feature polish */
.bottom-nav{grid-template-columns:repeat(5,1fr);height:76px}.bottom-nav button span{font-size:18px}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.full{width:100%;margin:8px 0}.trackerFull{grid-template-columns:repeat(3,1fr)}.tracker .wide{grid-column:1/-1}textarea{width:100%;min-height:72px;margin-top:6px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:white;font:inherit;resize:vertical}.inner{background:rgba(255,255,255,.035);box-shadow:none}.vacList{display:grid;gap:8px;margin-top:12px}.vacItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045)}.vacItem button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:12px;padding:8px 10px}.vacItem.sick{border-color:rgba(248,113,113,.35);background:rgba(239,68,68,.09)}.calcResult{margin-top:14px;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(79,70,229,.28),rgba(217,70,239,.16));border:1px solid rgba(167,139,250,.26);text-align:center}.calcResult b{display:block;font-size:34px;letter-spacing:-.05em}.calcResult span{color:#cbd5e1;font-size:12px;font-weight:900}.profileSection{margin:14px 0;padding:13px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.profileSection h2{margin-bottom:8px}.raceCard input,.raceCard select,.profileCard input,.profileCard select{background:rgba(2,6,23,.52)}ul{margin:8px 0 0;padding-left:20px;color:#cbd5e1}li{margin:6px 0}.mday:after{content:"";position:absolute;left:6px;bottom:6px;width:7px;height:7px;border-radius:50%;background:transparent}.mday:has(.dot)+*{}@media(max-width:390px){.bottom-nav{grid-template-columns:repeat(6,1fr);gap:2px;padding:6px}.bottom-nav button{font-size:8px}.bottom-nav button span{font-size:16px}.formGrid,.trackerFull{grid-template-columns:1fr 1fr}.tracker .wide{grid-column:1/-1}}
/* V150 fixes: remove Testlog tab, integrate Tagesform save in Plan day block, clean Urlaub form */
.bottom-nav{grid-template-columns:repeat(5,1fr)!important}
.saveDailyBtn{margin-top:2px;text-align:center}
.vacationCard .sectionHead h1{font-size:32px}
.vacationGrid{grid-template-columns:1fr 1fr!important;gap:12px!important;align-items:end}
.vacationGrid label{min-width:0}
.vacationGrid input{min-width:0;width:100%}
.vacationCard .full{width:100%;margin:8px 0 4px}
@media(max-width:390px){.vacationGrid{grid-template-columns:1fr!important}.bottom-nav{grid-template-columns:repeat(5,1fr)!important}}

.hint{font-size:12px;margin:0 0 10px;color:#9fb0c7}.dropDay{border:1px dashed transparent;border-radius:18px;padding:8px;transition:.15s}.dropDay.dropActive{border-color:rgba(168,85,247,.65);background:rgba(139,92,246,.10)}.session[draggable=true]{touch-action:manipulation}.session.dragging{opacity:.45;transform:scale(.98)}.addSession{margin:12px 0 14px;padding:13px;border-radius:20px;border:1px solid rgba(255,255,255,.09)}.addSession h2{margin:0;font-size:18px}.addSession .wide{grid-column:1/-1}
/* V152 dashboard transparency + sick status */
.transparencyCard{background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(2,6,23,.54));backdrop-filter:blur(18px);border-color:rgba(148,163,184,.18)}
.changeList{display:grid;gap:10px;margin-top:12px}.changeRow{padding:13px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10)}.changeRow small{display:block;color:#a7b4c8;font-weight:900;margin-bottom:4px}.changeRow b{display:block;font-size:16px}.changeRow p{margin:8px 0 0;color:#cbd5e1;font-size:12px;line-height:1.35}.changeRow strong{color:#fff}.session.sick,.mday.sick{background:linear-gradient(90deg,rgba(147,51,234,.28),rgba(255,255,255,.04));border-color:rgba(196,181,253,.58)}.unitActions{grid-template-columns:repeat(4,1fr)}.unitActions .isActive.sickAction{background:#a855f7;color:white}.sickAction{color:#e9d5ff}@media(max-width:390px){.unitActions{grid-template-columns:1fr 1fr}.changeRow{padding:12px}}

/* V156 Premium UI Final — visual polish only, no feature/engine changes */
:root{
  --bg:#030712;
  --card:rgba(15,23,42,.74);
  --card2:rgba(22,33,58,.68);
  --line:rgba(148,163,184,.14);
  --line2:rgba(203,213,225,.20);
  --text:#f8fafc;
  --muted:#9aa8bc;
  --dim:#66758a;
  --purple:#8b5cf6;
  --pink:#c084fc;
  --blue:#38bdf8;
  --green:#34d399;
  --orange:#f59e0b;
  --red:#fb7185;
}
html,body{
  background:
    radial-gradient(circle at 52% -12%,rgba(59,130,246,.19),transparent 34%),
    radial-gradient(circle at 100% 8%,rgba(168,85,247,.14),transparent 31%),
    linear-gradient(180deg,#040817 0%,#060b17 44%,#03060f 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
body:before{opacity:.55;background-size:38px 38px;}
.topbar{
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  background:linear-gradient(180deg,rgba(5,8,18,.84),rgba(5,8,18,.64));
  border-bottom:1px solid rgba(148,163,184,.11);
  box-shadow:0 18px 42px rgba(0,0,0,.20);
}
.brand{font-size:21px;letter-spacing:-.045em;line-height:1.05;}
#sub{font-size:11px;color:#8391a7;font-weight:800;letter-spacing:.01em;}
.saveStateBadge{
  margin-top:6px;padding:5px 9px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;
  background:rgba(14,165,233,.08);border-color:rgba(56,189,248,.24);color:#bae6fd;
}
.ghost,.iconBtn{
  background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.ghost{padding:9px 13px;border-radius:16px;font-size:12px;}
#app{padding:12px 12px calc(98px + env(safe-area-inset-bottom));gap:11px;}
.card,.heroSession{
  background:
    linear-gradient(180deg,rgba(20,31,55,.76),rgba(8,13,27,.78)),
    radial-gradient(circle at 92% 0%,rgba(56,189,248,.06),transparent 38%);
  border:1px solid rgba(148,163,184,.13);
  border-radius:24px;
  padding:15px;
  box-shadow:0 18px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055);
}
.card.compact{padding:13px;}
h1{font-size:26px;letter-spacing:-.052em;}
h2{font-size:17px;margin-bottom:9px;letter-spacing:-.035em;}
h3{font-size:14px;margin:14px 2px 7px;color:#e5edf8;letter-spacing:-.01em;}
.muted,.empty,p{color:#99a7ba;line-height:1.42;}
.sectionHead{margin-bottom:10px;}
.sectionHead span{font-size:11px;color:#7f8da3;letter-spacing:.03em;text-transform:uppercase;}
.bottom-nav{
  height:66px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px;border-radius:24px;gap:3px;
  background:linear-gradient(180deg,rgba(18,27,44,.84),rgba(4,8,18,.92));
  border-color:rgba(148,163,184,.16);
  box-shadow:0 -16px 46px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06);
}
.bottom-nav button{font-size:9px;font-weight:850;border-radius:18px;color:#7d8ba1;transition:transform .18s ease,background .18s ease,color .18s ease;}
.bottom-nav button span{font-size:17px;line-height:1;}
.bottom-nav button.active{
  background:linear-gradient(180deg,rgba(99,102,241,.28),rgba(139,92,246,.16));
  color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 24px rgba(79,70,229,.18);
}
.seg{border-radius:17px;padding:4px;background:rgba(2,6,23,.42);border-color:rgba(148,163,184,.13);}
.seg button{height:36px;border-radius:13px;font-size:11px;color:#8795a9;}
.seg button.active{background:linear-gradient(135deg,rgba(79,70,229,.92),rgba(124,58,237,.88));box-shadow:0 10px 22px rgba(79,70,229,.20);}
.dashHero{grid-template-columns:136px 1fr;gap:11px;}
.readinessRing{width:124px;height:124px;box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 34px rgba(52,211,153,.08);}
.readinessRing>div{width:90px;height:90px;background:linear-gradient(180deg,#071121,#050913);}
.readinessRing b{font-size:29px;letter-spacing:-.055em;}
.readinessRing small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;}
.readyText{margin-top:7px;}.readyText span{font-size:11px;}
.metricLine{padding:8px;border-radius:13px;background:rgba(15,23,42,.48);border-color:rgba(148,163,184,.12);font-size:10px;}
.metricLine b{font-size:12px;}.metricLine span{color:#bac4d2;}
.heroSession{
  grid-template-columns:52px 1fr;gap:11px;padding:13px;border-radius:23px;
  background:linear-gradient(135deg,rgba(26,37,68,.86),rgba(8,13,28,.82)),radial-gradient(circle at 92% 8%,rgba(249,115,22,.12),transparent 34%);
}
.heroSession h1{font-size:21px;}.heroSession small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#c4b5fd;}
.heroIcon,.sportIcon{width:46px;height:46px;border-radius:16px;background:rgba(15,23,42,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.sportIcon.big{width:56px;height:56px;border-radius:18px;}
.insightGrid,.goalGrid{gap:8px;}.metricCards{gap:8px;}
.insightGrid div,.metricCards div,.goalGrid div,.unitFacts div,.profileSection,.addSession{
  background:rgba(15,23,42,.48);border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.metricCards b{font-size:23px;letter-spacing:-.04em;}.insightGrid span,.metricCards span,.goalGrid span,.unitFacts span{font-size:10px;text-transform:uppercase;letter-spacing:.035em;color:#8190a6;}
label{font-size:11px;color:#a4b1c4;letter-spacing:.01em;}
input,select,textarea{
  padding:10px 11px;border-radius:13px;background:rgba(2,6,23,.42);border-color:rgba(148,163,184,.14);color:#f8fafc;outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:focus,select:focus,textarea:focus{border-color:rgba(56,189,248,.42);box-shadow:0 0 0 3px rgba(56,189,248,.08);background:rgba(2,6,23,.58);}
.session{
  grid-template-columns:46px 1fr 52px;gap:10px;padding:10px;border-radius:17px;margin:7px 0;
  background:rgba(15,23,42,.45);border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.session:active{transform:scale(.992)}
.session b{font-size:13px;letter-spacing:-.01em;}.session small{font-size:10px;color:#8795aa;}
.load{font-size:11px;background:rgba(255,255,255,.04);}
.weekdays,.monthGrid{gap:5px;}.weekdays span{font-size:10px;color:#78869a;}
.mday{height:48px;border-radius:14px;background:rgba(15,23,42,.42);border-color:rgba(148,163,184,.11);padding:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.mday b{font-size:13px;}.mday em{font-size:9px;color:#b9a8ff;}.mday.sel{background:linear-gradient(135deg,rgba(79,70,229,.82),rgba(147,51,234,.70));box-shadow:0 12px 24px rgba(79,70,229,.18);}
.dot{width:5px;height:5px;margin-top:12px;opacity:.95;}
.dayGroup{border-top-color:rgba(148,163,184,.09);}
.listDate{font-size:12px;color:#c4b5fd;letter-spacing:.03em;text-transform:uppercase;}
.unitHero{grid-template-columns:60px 1fr;}.unitHero h1{font-size:23px;}.unitHero small{font-size:10px;text-transform:uppercase;letter-spacing:.04em;}
.unitTabs{margin:14px 0;}.unitTabs span{font-size:10px;padding:9px 4px;color:#8391a7;}.unitTabs .active{border-color:#38bdf8;}
.flowLine:before{background:linear-gradient(#34d399,#f59e0b,#38bdf8);opacity:.82;}
.step{margin:9px 0 9px 25px;padding:11px;border-radius:15px;background:rgba(15,23,42,.48);border-color:rgba(148,163,184,.12);}
.step strong{font-size:13px;}.step small{font-size:11px;color:#8d9bad;}
.coachBox,.changeNote{background:rgba(56,189,248,.075);border-color:rgba(56,189,248,.18);}
.unitActions{gap:7px;}.unitActions button,.shareBtn,.resetGrid button,.primary{border-radius:14px;padding:10px 7px;font-size:12px;background:rgba(15,23,42,.58);}
.primary,.shareBtn{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 12px 25px rgba(37,99,235,.18);}
.transparencyCard{background:linear-gradient(180deg,rgba(15,23,42,.62),rgba(8,13,27,.58));border-color:rgba(56,189,248,.14);}
.transparencyCard .sectionHead h2{font-size:16px;}
.changeList{gap:8px;margin-top:10px}.changeRow{padding:11px;border-radius:16px;background:rgba(2,6,23,.34);border-color:rgba(148,163,184,.11)}
.changeRow small{font-size:10px;color:#8da0b8;text-transform:uppercase;letter-spacing:.04em}.changeRow b{font-size:14px}.changeRow p{font-size:11px;color:#aebace;}
.vacItem{padding:11px;border-radius:15px;background:rgba(15,23,42,.45);border-color:rgba(148,163,184,.12)}
.calcResult{border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.20),rgba(124,58,237,.15));}.calcResult b{font-size:31px;}
.sheet{border-radius:26px 26px 0 0;background:linear-gradient(180deg,rgba(13,20,37,.98),rgba(4,8,18,.99));border-color:rgba(148,163,184,.17);box-shadow:0 -28px 80px rgba(0,0,0,.55);}
.x{border-radius:13px;background:rgba(15,23,42,.66);}
.toast{bottom:94px;background:rgba(15,23,42,.94);border-color:rgba(148,163,184,.18);box-shadow:0 16px 38px rgba(0,0,0,.36);}
@media(max-width:390px){
  #app{padding-left:10px;padding-right:10px;gap:10px}.card{border-radius:22px;padding:13px}.dashHero,.raceReady{grid-template-columns:1fr}.readinessRing{margin:auto}.bottom-nav{height:64px}.mday{height:44px;border-radius:13px}.session{grid-template-columns:42px 1fr 48px}.sportIcon{width:42px;height:42px}.tracker,.metricCards{grid-template-columns:1fr 1fr}.unitActions{grid-template-columns:1fr 1fr}
}

/* V157 popup tabs + periodization + IG polish */
.planSeg{grid-template-columns:repeat(5,1fr)}
.planSeg button{font-size:10px;padding:0 3px}
.unitTabs button{appearance:none;border:0;background:transparent;text-align:center;color:#94a3b8;font-size:11px;font-weight:900;padding:10px 4px;border-bottom:2px solid transparent;border-radius:0}
.unitTabs button.active{color:#fff;border-color:#38bdf8;text-shadow:0 0 18px rgba(56,189,248,.28)}
.unitPane{display:none;animation:fadeIn .16s ease}
.unitPane.active{display:block}
@keyframes fadeIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.analysisMini{display:grid;grid-template-columns:1fr;gap:9px}
.analysisMini>div{padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.analysisMini span,.analysisMini small{display:block;color:var(--muted);font-size:12px;font-weight:850}.analysisMini b{display:block;font-size:24px;margin:3px 0}.analysisMini .green{color:var(--green)}.analysisMini .orange{color:var(--orange)}.analysisMini .red{color:var(--red)}
.periodList{display:grid;gap:11px}.periodItem{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--line)}.periodNo{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);font-weight:1000}.periodItem h2{margin:3px 0 6px}.periodItem small{color:#a7b4c8;font-weight:900}.periodItem p{margin:0 0 10px}.periodItem b{display:block;color:#e0e7ff;font-size:12px;margin-top:8px}.periodMeta{display:flex;flex-wrap:wrap;gap:6px}.periodMeta span{padding:6px 8px;border-radius:999px;background:rgba(15,23,42,.75);border:1px solid rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:850}
.shareBtn{position:relative;overflow:hidden}.shareBtn:after{content:'✨';position:absolute;right:14px;opacity:.9}
@media(max-width:390px){.planSeg{grid-template-columns:repeat(3,1fr)}.planSeg button{font-size:10px}.unitTabs button{font-size:10px}}

/* V158 periodization cycles + IG insight polish */
.cycleRail{display:flex;gap:6px;margin:14px 0 18px;padding:8px;border-radius:18px;background:rgba(2,6,23,.35);border:1px solid rgba(148,163,184,.14);overflow:hidden}
.cycleTick{min-width:56px;padding:10px 8px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08);text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.06)}
.cycleTick b{display:block;font-size:11px;line-height:1.05;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cycleTick small{font-size:10px;color:#9aa8bd;font-weight:900}.cycleTick.base,.cycleItem.base .periodNo{background:linear-gradient(135deg,rgba(34,197,94,.34),rgba(59,130,246,.22))}.cycleTick.build,.cycleItem.build .periodNo{background:linear-gradient(135deg,rgba(59,130,246,.34),rgba(124,58,237,.24))}.cycleTick.specific,.cycleItem.specific .periodNo{background:linear-gradient(135deg,rgba(249,115,22,.38),rgba(236,72,153,.24))}.cycleTick.peak,.cycleItem.peak .periodNo{background:linear-gradient(135deg,rgba(168,85,247,.42),rgba(56,189,248,.20))}.cycleTick.taper,.cycleItem.taper .periodNo{background:linear-gradient(135deg,rgba(20,184,166,.36),rgba(34,197,94,.20))}.cycleTick.deload,.cycleItem.deload .periodNo{background:linear-gradient(135deg,rgba(148,163,184,.30),rgba(59,130,246,.14))}.cycleList .periodItem{grid-template-columns:46px 1fr;padding:16px}.cycleList .periodItem p{color:#b8c2d4;line-height:1.35}.cycleList .periodNo{width:42px;height:42px;border-radius:16px}.cycleList .periodMeta span{font-size:11px;padding:7px 9px}.cycleList .periodItem h2{letter-spacing:-.03em}
/* v165 status/popup robustness */
.unitTabs button{appearance:none;border:0;background:transparent;text-align:center;color:#94a3b8;font-size:11px;font-weight:900;padding:10px 4px;border-bottom:2px solid transparent;border-radius:10px;min-height:38px;}
.unitTabs button.active{color:#fff;border-color:#a855f7;background:rgba(168,85,247,.10);}
.statusAction{position:relative;z-index:2;pointer-events:auto;white-space:nowrap;touch-action:manipulation;}
.profileSection .hint{margin:8px 0 0;font-size:12px;color:#93a3b8;}

.scaleGuide{grid-column:1/-1;margin:2px 0 4px;padding:12px;border-radius:18px;background:rgba(56,189,248,.07);border:1px solid rgba(125,211,252,.18);color:#cbd5e1}.scaleGuide summary{cursor:pointer;font-weight:950;color:#e0f2fe;font-size:13px}.scaleGuide[open] summary{margin-bottom:10px}.scaleGrid{display:grid;grid-template-columns:1fr;gap:7px}.scaleGrid div{padding:9px 10px;border-radius:13px;background:rgba(2,6,23,.34);border:1px solid rgba(255,255,255,.07)}.scaleGrid b{display:block;color:#fff;font-size:12px}.scaleGrid span{display:block;color:#aab6cc;font-size:11px;line-height:1.35;margin-top:2px}.scaleGuide p{margin:9px 2px 0;font-size:11px;color:#b6c4d8}.scaleGuide p b{color:#fff}

.scaleGuide{grid-column:1/-1;margin:2px 0 4px;padding:12px;border-radius:18px;background:rgba(56,189,248,.07);border:1px solid rgba(125,211,252,.18);color:#cbd5e1}.scaleGuide summary{cursor:pointer;font-weight:950;color:#e0f2fe;font-size:13px}.scaleGuide[open] summary{margin-bottom:10px}.scaleGrid{display:grid;grid-template-columns:1fr;gap:7px}.scaleGrid div{padding:9px 10px;border-radius:13px;background:rgba(2,6,23,.34);border:1px solid rgba(255,255,255,.07)}.scaleGrid b{display:block;color:#fff;font-size:12px}.scaleGrid span{display:block;color:#aab6cc;font-size:11px;line-height:1.35;margin-top:2px}.scaleGuide p{margin:9px 2px 0;font-size:11px;color:#b6c4d8}.scaleGuide p b{color:#fff}
/* V173: Heute in Kalenderansichten sichtbar markieren */
.mday.today{box-shadow:0 0 0 2px rgba(255,255,255,.78),0 0 0 5px rgba(77,166,255,.22);}
.mday.today b::after{content:' heute';font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.72;margin-left:.25rem;}

/* V176: responsive periodization layout fix */
html,body{width:100%;max-width:100%;overflow-x:hidden;}
.topbar,#app,.bottom-nav{width:100%;max-width:430px;}
.card,.periodCard,.periodItem,.cycleItem,.planTop,.seg{min-width:0;max-width:100%;}
.periodCard{overflow:hidden;}
.periodCard .hint,.periodItem p,.periodItem h2,.periodItem small,.periodItem b{overflow-wrap:anywhere;word-break:normal;}
.planSeg{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;}
.planSeg button{flex:1 1 72px;min-width:0;height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.planSeg button:nth-child(5){flex-basis:124px;}
.cycleRail{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;}
.cycleRail::-webkit-scrollbar{display:none;}
.cycleTick{flex:0 0 auto;min-width:78px;scroll-snap-align:start;}
.cycleList .periodItem{grid-template-columns:42px minmax(0,1fr);}
.cycleList .periodMeta{display:flex;flex-wrap:wrap;max-width:100%;}
.cycleList .periodMeta span{max-width:100%;white-space:nowrap;}
@media(max-width:390px){
  .topbar{padding-left:14px;padding-right:14px;}
  .brand{font-size:22px;}
  #sub{font-size:11px;max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .periodCard h1{font-size:26px;}
  .periodCard .hint{font-size:13px;line-height:1.35;}
  .planSeg{grid-template-columns:none;}
  .planSeg button{font-size:10px;flex-basis:30%;}
  .planSeg button:nth-child(5){flex-basis:46%;}
  .cycleRail{margin-left:-2px;margin-right:-2px;padding:7px;}
  .cycleTick{min-width:74px;padding:9px 7px;}
  .cycleTick b{font-size:10px;}
  .cycleList .periodItem{grid-template-columns:38px minmax(0,1fr);padding:13px;gap:10px;}
  .cycleList .periodNo{width:36px;height:36px;border-radius:14px;}
  .cycleList .periodItem h2{font-size:18px;}
  .cycleList .periodItem p{font-size:13px;}
  .cycleList .periodMeta span{font-size:10px;padding:6px 8px;}
}
@media(max-width:340px){
  .planSeg button{flex-basis:44%;}
  .planSeg button:nth-child(5){flex-basis:100%;}
}

/* V177: visual polish only — no feature changes */
:root{
  --bg:#030712;--card:#0b1324;--card2:#111c33;--line:rgba(148,163,184,.13);--line2:rgba(226,232,240,.20);
  --text:#f8fafc;--muted:#9aa8bd;--dim:#64748b;--purple:#7c3aed;--pink:#e879f9;--blue:#38bdf8;
  --green:#4ade80;--orange:#f59e0b;--red:#fb7185;--glass:rgba(15,23,42,.58);--shadow:0 22px 70px rgba(0,0,0,.45)
}
html,body{
  background:
    radial-gradient(circle at 16% -12%,rgba(56,189,248,.16),transparent 32%),
    radial-gradient(circle at 86% 2%,rgba(124,58,237,.22),transparent 38%),
    radial-gradient(circle at 50% 108%,rgba(20,184,166,.10),transparent 30%),
    linear-gradient(180deg,#030611 0,#06101f 48%,#02050d 100%);
  -webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
body:before{opacity:.78;background-size:32px 32px;mask-image:linear-gradient(#000 0 8%,rgba(0,0,0,.55) 48%,transparent 86%)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%,transparent 75%,rgba(0,0,0,.2));}
.topbar{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:10px;background:linear-gradient(180deg,rgba(3,7,18,.88),rgba(3,7,18,.70));border-bottom:1px solid rgba(148,163,184,.11);box-shadow:0 14px 42px rgba(0,0,0,.20)}
.brand{font-size:23px;letter-spacing:-.06em;text-shadow:0 8px 32px rgba(148,163,184,.10)}
#sub{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8d9bb0;letter-spacing:.025em;text-transform:uppercase}
.saveStateBadge{padding:6px 12px;background:rgba(8,145,178,.10);border-color:rgba(103,232,249,.28);color:#a5f3fc;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.ghost{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-color:rgba(226,232,240,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.22)}
#app{gap:13px;padding-top:15px}.card,.heroSession{background:linear-gradient(180deg,rgba(17,27,51,.82),rgba(8,13,27,.76));border-color:rgba(148,163,184,.14);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.07)}
.card{border-radius:28px}.compact{padding:15px}h1{font-size:27px;letter-spacing:-.065em}h2{letter-spacing:-.04em}.muted,.empty,p,.hint{color:#a4afc1}.sectionHead span{color:#94a3b8;letter-spacing:.02em}
.bottom-nav{height:68px;border-radius:28px;background:linear-gradient(180deg,rgba(18,29,51,.86),rgba(3,8,18,.94));border-color:rgba(148,163,184,.16);box-shadow:0 -16px 60px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06)}
.bottom-nav button{font-size:9.5px;letter-spacing:.03em}.bottom-nav button span{font-size:18px;filter:saturate(1.1)}
.bottom-nav button.active{background:linear-gradient(180deg,rgba(99,102,241,.46),rgba(88,28,135,.38));box-shadow:0 12px 34px rgba(124,58,237,.26),inset 0 1px 0 rgba(255,255,255,.12)}
.seg,.planSeg{background:rgba(2,6,23,.30);border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.seg button,.planSeg button{color:#9aa8bd;transition:background .18s ease, transform .18s ease, color .18s ease}.seg button.active,.planSeg button.active{background:linear-gradient(135deg,#2563eb,#7c3aed 64%,#a21caf);box-shadow:0 13px 34px rgba(124,58,237,.24);transform:translateY(-1px)}
.readinessRing{box-shadow:0 0 38px rgba(74,222,128,.13),inset 0 0 0 1px rgba(255,255,255,.08)}.readinessRing>div{background:radial-gradient(circle at 50% 0,rgba(56,189,248,.08),#06101e 60%)}
.metricLine,.insightGrid div,.metricCards div,.goalGrid div,.unitFacts div,.analysisMini>div{background:rgba(15,23,42,.50);border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.heroSession{border-radius:22px;background:linear-gradient(135deg,rgba(26,40,78,.86),rgba(7,14,28,.82)),radial-gradient(circle at 92% 10%,rgba(251,146,60,.24),transparent 36%)}
.heroSession small{color:#7dd3fc;letter-spacing:.04em;text-transform:uppercase}.heroSession h1{font-size:21px}.heroIcon,.sportIcon{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 22px rgba(0,0,0,.18)}
.session{border-radius:20px;background:linear-gradient(180deg,rgba(15,23,42,.55),rgba(8,13,27,.48));border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .16s ease,border-color .16s ease,background .16s ease}.session:active{transform:scale(.988)}
.session b{letter-spacing:-.025em}.load{background:rgba(15,23,42,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.session.done{background:linear-gradient(90deg,rgba(16,185,129,.24),rgba(15,23,42,.48));}.session.changed{background:linear-gradient(90deg,rgba(245,158,11,.22),rgba(15,23,42,.48));}.session.missed{background:linear-gradient(90deg,rgba(244,63,94,.22),rgba(15,23,42,.48));}
.mday{background:linear-gradient(180deg,rgba(15,23,42,.52),rgba(8,13,27,.48));border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.mday.sel{background:linear-gradient(135deg,#2563eb,#7c3aed 60%,#c026d3);box-shadow:0 14px 36px rgba(124,58,237,.27)}.mday.today{box-shadow:0 0 0 1px rgba(125,211,252,.95),0 0 0 5px rgba(56,189,248,.12),inset 0 1px 0 rgba(255,255,255,.06)}
.dot{box-shadow:0 0 10px currentColor}.listDate,h3{color:#dbeafe;letter-spacing:-.025em}.dayGroup{border-top-color:rgba(148,163,184,.10)}
.unitTabs button{border-radius:15px;border-bottom:0;background:transparent;color:#9aa8bd}.unitTabs button.active{background:linear-gradient(180deg,rgba(124,58,237,.30),rgba(15,23,42,.16));box-shadow:inset 0 -2px 0 #a855f7;color:#fff}
.flowLine:before{background:linear-gradient(var(--green),var(--blue),var(--orange),var(--red));opacity:.72}.step{background:rgba(15,23,42,.52);border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.step:before{box-shadow:0 0 16px rgba(132,204,22,.55)}
.coachBox,.changeNote,.scaleGuide{background:linear-gradient(180deg,rgba(14,116,144,.12),rgba(15,23,42,.42));border-color:rgba(103,232,249,.17)}
.unitActions button,.shareBtn,.primary,.resetGrid button{border:1px solid rgba(148,163,184,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.17)}
.primary,.shareBtn{background:linear-gradient(135deg,#2563eb,#7c3aed 65%,#c026d3)}
input,select,textarea{background:rgba(2,6,23,.42)!important;border-color:rgba(148,163,184,.15)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(56,189,248,.42)!important;box-shadow:0 0 0 4px rgba(56,189,248,.10),inset 0 1px 0 rgba(255,255,255,.05)}
.transparencyCard{background:linear-gradient(180deg,rgba(15,23,42,.58),rgba(7,12,24,.54));border-color:rgba(125,211,252,.13)}.changeRow{background:rgba(2,6,23,.38);border-color:rgba(148,163,184,.12)}
.sheet{background:linear-gradient(180deg,rgba(14,22,42,.985),rgba(3,7,18,.995));border-color:rgba(148,163,184,.18);box-shadow:0 -34px 90px rgba(0,0,0,.70)}.overlay{backdrop-filter:blur(6px)}.x{border-color:rgba(148,163,184,.16)}
.cycleRail{background:rgba(2,6,23,.30);border-color:rgba(148,163,184,.12)}.cycleTick{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 25px rgba(0,0,0,.16)}.cycleList .periodItem{background:linear-gradient(180deg,rgba(15,23,42,.58),rgba(8,13,27,.48));border-color:rgba(148,163,184,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.periodMeta span{background:rgba(2,6,23,.42);border-color:rgba(148,163,184,.12)}
.toast{border-radius:18px;background:rgba(8,13,27,.95);border-color:rgba(125,211,252,.20);box-shadow:0 18px 50px rgba(0,0,0,.42)}
@media(max-width:390px){.card{border-radius:24px}.topbar{padding-bottom:9px}.ghost{padding:9px 13px}.bottom-nav{left:10px;right:10px;height:66px}.brand{font-size:21px}h1{font-size:25px}.session{border-radius:18px}.unitHero h1{font-size:22px}}
/* v178 race goal + additional races polish */
.raceList{display:grid;gap:12px;margin-top:18px}
.raceItem{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(135deg,rgba(15,23,42,.75),rgba(30,41,59,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.raceItem b{display:block;font-weight:900;color:var(--text,#f8fafc);line-height:1.15}.raceItem span{display:block;color:var(--muted,#94a3b8);font-size:.9rem;margin-top:3px}.raceItem button{white-space:nowrap}
.raceCard .full,.card .full{margin-top:16px;width:100%}

/* v179 personal race calculator */
.calcGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.calcGrid .wide{grid-column:1/-1}.raceCalcCard .hint{margin-top:2px}.raceCalcCard input{background:rgba(2,6,23,.55)}@media(max-width:430px){.calcGrid{grid-template-columns:1fr 1fr}.calcGrid label{min-width:0}.calcGrid input{font-size:16px}}
/* v182 manual sports polish */
.sportIcon.hike,.sportIcon.walk{background:rgba(132,204,22,.14)}
.sportIcon.boxing,.sportIcon.team,.sportIcon.tennis{background:rgba(248,113,113,.14)}
.sportIcon.winter,.sportIcon.ski,.sportIcon.xc_ski,.sportIcon.skitour{background:rgba(125,211,252,.14)}
.sportIcon.yoga,.sportIcon.mobility{background:rgba(45,212,191,.14)}
.sportIcon.rowing{background:rgba(56,189,248,.14)}
.dot.hike,.dot.walk{background:#84cc16}.dot.boxing,.dot.team,.dot.tennis{background:#fb7185}.dot.winter,.dot.ski,.dot.xc_ski,.dot.skitour{background:#7dd3fc}.dot.yoga{background:#2dd4bf}.dot.rowing{background:#38bdf8}

/* V184: Statusbuttons clean + Tagesnavigation */
.dayNav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.dayNav button{border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.62);color:#e5e7eb;font-weight:900;padding:11px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.unitActions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;align-items:stretch;position:relative;z-index:5;margin-top:14px}
.unitActions .statusAction{display:flex;align-items:center;justify-content:center;min-height:44px;line-height:1.05;white-space:normal!important;pointer-events:auto!important;touch-action:manipulation;-webkit-user-select:none;user-select:none}
@media(max-width:390px){.unitActions{grid-template-columns:repeat(4,minmax(70px,1fr))!important;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.unitActions::-webkit-scrollbar{display:none}.unitActions .statusAction{min-width:78px;font-size:11px}.dayNav{grid-template-columns:1fr 1fr}}

/* V186: reliable status grid + manual delete polish */
.unitActions{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;padding-bottom:0!important;touch-action:manipulation;}
.unitActions .statusAction{min-width:0!important;min-height:48px!important;font-size:12px!important;touch-action:manipulation;}
.danger.full[data-delete-manual]{width:100%;margin-top:10px;border-color:rgba(248,113,113,.32)!important;background:rgba(239,68,68,.14)!important;color:#fecaca!important;}
@media(max-width:390px){.unitActions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.unitActions .statusAction{font-size:12px!important;min-width:0!important}}
