.Login-module__overlay--AP6G0 {
  position: fixed;
  inset: 0;
  z-index: 9;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 0 26px;
  box-sizing: border-box;
  background: var(--login-gradient);
}

.Login-module__headBlock--bxG3P {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.Login-module__kicker--u7woM {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--label-alt);
}

.Login-module__title--y5nU4 {
  font: 600 30px/1.1 var(--font-title);
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

.Login-module__subline--mpwtZ {
  font: 500 14px/1.45 var(--font-body);
  color: var(--text-secondary);
  text-wrap: pretty;
}

.Login-module__card--zSxdl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border-radius: 22px;
  background: var(--card-bg);
  box-shadow: var(--shadow-login-card);
}

.Login-module__label--C2PF3,
.Login-module__labelSpaced--bjeW7 {
  font: 600 11.5px var(--font-body);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--label-alt);
}

.Login-module__labelSpaced--bjeW7 {
  margin-top: 6px;
}

.Login-module__input--dPhM5 {
  width: 100%;
  box-sizing: border-box;
  height: 50px;
  padding: 0 14px;
  border: 1px solid var(--input-border);
  border-radius: 14px;
  background: var(--input-bg);
  font: 600 15px var(--font-body);
  color: var(--text-primary);
}

.Login-module__error--_UDct {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--warning-bg);
  font: 600 12.5px var(--font-body);
  color: var(--status-high-fg);
}

.Login-module__notice--Zu6mI {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--secondary-btn-bg);
  font: 600 12.5px var(--font-body);
  color: var(--primary);
  margin-bottom: 4px;
}

.Login-module__submit--Ebtw1 {
  height: 54px;
  margin-top: 8px;
  border: none;
  border-radius: 17px;
  background: var(--primary);
  color: #fff;
  font: 600 16px var(--font-title);
  box-shadow: var(--shadow-primary-btn);
}

.Login-module__submit--Ebtw1:hover {
  background: var(--primary-hover);
}

.Login-module__submit--Ebtw1:active {
  transform: translateY(1px);
}

.Login-module__submit--Ebtw1:disabled {
  opacity: 0.7;
}

.Chart-module__svg--CS2hB {
  display: block;
  overflow: visible;
}

.Chart-module__dateRow--YIlK2 {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
}

.Chart-module__dateRow--YIlK2 span {
  font: 600 10.5px var(--font-body);
  color: var(--text-dim);
}

.ChartCard-module__card--Tr0bj {
  padding: 16px 16px 12px;
  border-radius: 22px;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.ChartCard-module__header--uWERp {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.ChartCard-module__title--QVzgt {
  font: 600 15px var(--font-title);
  letter-spacing: -0.01em;
}

.ChartCard-module__target--kRWTo {
  font: 600 11.5px var(--font-body);
  color: var(--text-secondary);
}

.ChartCard-module__subLabel--wRsmj {
  font: 500 11px var(--font-body);
  color: var(--text-dim-2);
  margin-top: -4px;
  margin-bottom: 8px;
}

/* Header */
.Dashboard-module__header--oBLWl {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 26px 20px 18px;
}

.Dashboard-module__headerLeft--vBlQy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.Dashboard-module__headerDate--v8WH1 {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--label);
}

.Dashboard-module__poolName--N9E6d {
  font: 600 25px/1.1 var(--font-title);
  letter-spacing: -0.02em;
}

.Dashboard-module__headerRight--BX6Iz {
  display: flex;
  align-items: center;
  gap: 8px;
}

.Dashboard-module__iconBtn--UVpup {
  width: 34px;
  height: 34px;
  flex: none;
  border: none;
  border-radius: 99px;
  background: var(--card-bg-75);
  color: var(--icon-btn-text);
  box-shadow: var(--shadow-pill);
}

.Dashboard-module__iconBtn--UVpup.Dashboard-module__settings--ySOxG {
  font: 600 15px var(--font-body);
}

.Dashboard-module__iconBtn--UVpup.Dashboard-module__logout--bJn1a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* pH / Chlor tiles */
.Dashboard-module__tilesGrid--h6U5w {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0 20px;
}

.Dashboard-module__tile--EOWd5 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 16px 16px 15px;
  border: none;
  border-radius: 22px;
  text-align: left;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.Dashboard-module__tile--EOWd5:hover {
  background: var(--card-hover);
}

.Dashboard-module__tile--EOWd5:active {
  transform: translateY(1px);
}

.Dashboard-module__tileHeader--SYn1C {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.Dashboard-module__tileLabel--lQB90 {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--label);
}

.Dashboard-module__tileBadge--jrZEA {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 99px;
  font: 600 15px var(--font-body);
  line-height: 1;
}

.Dashboard-module__tileValueRow--yV5uj {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.Dashboard-module__tileValue--h8yAm {
  font: 600 40px/1 var(--font-title);
  letter-spacing: -0.03em;
}

.Dashboard-module__tileUnit--WzN2R {
  font: 600 12px var(--font-body);
  color: var(--text-secondary);
}

.Dashboard-module__statusPill--iVlyG {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  align-self: flex-start;
  font: 600 11.5px var(--font-body);
}

.Dashboard-module__tileMeta--hWOhI {
  font: 500 11.5px/1.3 var(--font-body);
  color: var(--text-secondary);
}

.Dashboard-module__tileMethod--eqMl9 {
  font: 500 11px/1.3 var(--font-body);
  color: var(--text-dim);
}

/* Alkalinität */
.Dashboard-module__taSection--Ij70H {
  padding: 12px 20px 0;
}

.Dashboard-module__taCard--pTlFJ {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 15px 16px;
  border: none;
  border-radius: 22px;
  text-align: left;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.Dashboard-module__taCard--pTlFJ:hover {
  background: var(--card-hover);
}

.Dashboard-module__taCard--pTlFJ:active {
  transform: translateY(1px);
}

.Dashboard-module__taLeft--trRIx {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.Dashboard-module__taValueRow--PmGYI {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.Dashboard-module__taValue--LjpQi {
  font: 600 27px/1 var(--font-title);
  letter-spacing: -0.025em;
  color: var(--ta-color);
}

.Dashboard-module__taUnit--kVYUG {
  font: 600 12px var(--font-body);
  color: var(--text-secondary);
}

.Dashboard-module__taStatusPill--Hyp6o {
  margin-left: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  font: 600 11px var(--font-body);
}

.Dashboard-module__taNote--WRy7T {
  font: 500 11.5px/1.3 var(--font-body);
}

.Dashboard-module__taMethod--pqHwa {
  font: 500 11px/1.3 var(--font-body);
  color: var(--text-dim);
}

.Dashboard-module__taBadge--YSjvw {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: none;
  border-radius: 99px;
  background: var(--ta-badge);
  color: var(--ta-color);
  font: 600 16px var(--font-body);
  line-height: 1;
}

.Dashboard-module__recommendationSection--Yq9jF {
  padding: 12px 20px 0;
}

.Dashboard-module__newEntrySection--h0FLB {
  padding: 12px 20px 0;
}

/* Verlauf / Toggles / Karten */
.Dashboard-module__stack--Bn2L4 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 20px 0;
}

.Dashboard-module__swipeBlock--XnAYA {
  display: flex;
  flex-direction: column;
  gap: 12px;
  touch-action: pan-y;
}

.Dashboard-module__navRow--lUBNl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 4px;
}

.Dashboard-module__navBtn--ArqUL {
  width: 34px;
  height: 34px;
  flex: none;
  border: none;
  border-radius: 11px;
  background: var(--card-bg-80);
  font: 600 15px var(--font-body);
}

.Dashboard-module__navCenter--VRRwi {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.Dashboard-module__windowLabel--KYJn6 {
  font: 600 13px var(--font-title);
  letter-spacing: -0.01em;
}

.Dashboard-module__swipeHint--EuXcy {
  font: 500 10.5px var(--font-body);
  letter-spacing: 0.04em;
  color: var(--text-dim);
}

.Dashboard-module__toggleGrid--HNlVq {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.Dashboard-module__toggleCard--D0mdk {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 15px 15px 14px;
  border: none;
  border-radius: 22px;
  text-align: left;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.Dashboard-module__toggleCard--D0mdk:hover {
  background: var(--card-hover);
}

.Dashboard-module__toggleCard--D0mdk:active {
  transform: translateY(1px);
}

.Dashboard-module__toggleHeader--O7iht {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.Dashboard-module__switchTrack--PbxDW {
  position: relative;
  width: 40px;
  height: 24px;
  flex: none;
  border-radius: 99px;
  transition: background 0.18s;
}

.Dashboard-module__switchKnob--ijRlc {
  position: absolute;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 99px;
  background: #fff;
  box-shadow: var(--shadow-toggle-knob);
  transition: left 0.18s;
}

.Dashboard-module__toggleHeadline--ud8aA {
  font: 600 17px/1.15 var(--font-title);
  letter-spacing: -0.01em;
}

.Dashboard-module__toggleSub--hvVXn {
  font: 500 11.5px/1.3 var(--font-body);
  color: var(--text-secondary);
}

.Dashboard-module__actionCard--b7p1q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border: none;
  border-radius: 22px;
  text-align: left;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.Dashboard-module__actionCard--b7p1q:hover {
  background: var(--card-hover);
}

.Dashboard-module__actionCard--b7p1q:active {
  transform: translateY(1px);
}

.Dashboard-module__actionLeft--T2_vo {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.Dashboard-module__actionLeftNote--mxT1S {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.Dashboard-module__actionTitle--SBxZj {
  font: 600 15.5px/1.2 var(--font-title);
  letter-spacing: -0.01em;
}

.Dashboard-module__actionSub--t1D04 {
  font: 500 11.5px var(--font-body);
  color: var(--text-secondary);
}

.Dashboard-module__actionSubNote--ovsm5 {
  font: 500 11.5px/1.4 var(--font-body);
  color: var(--text-secondary-strong);
  text-wrap: pretty;
}

.Dashboard-module__plusBadge--vdfpw {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: none;
  border-radius: 99px;
  background: var(--primary);
  color: #fff;
  font: 600 16px var(--font-body);
  line-height: 1;
}

.Dashboard-module__recommendation--hRPBP {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: 22px;
  background: var(--recommendation-bg);
  box-shadow: var(--shadow-recommendation);
}

.Dashboard-module__recommendation--hRPBP.Dashboard-module__recommendationWarning--k9IxV {
  background: var(--warning-bg);
}

.Dashboard-module__recommendationWarning--k9IxV .Dashboard-module__recommendationBar--weQvl {
  background: var(--warning-fg);
}

.Dashboard-module__recommendationWarning--k9IxV .Dashboard-module__recommendationKicker--cIywr,
.Dashboard-module__recommendationWarning--k9IxV .Dashboard-module__recommendationText--kQ4yI {
  color: var(--warning-fg);
}

.Dashboard-module__recommendationBar--weQvl {
  width: 3px;
  border-radius: 99px;
  background: var(--recommendation-bar);
  flex: none;
}

.Dashboard-module__recommendationBody--YMYhf {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.Dashboard-module__recommendationKicker--cIywr {
  font: 600 12.5px var(--font-body);
  letter-spacing: 0.02em;
  color: var(--recommendation-kicker);
}

.Dashboard-module__recommendationText--kQ4yI {
  font: 500 13.5px/1.45 var(--font-body);
  color: var(--recommendation-text);
  text-wrap: pretty;
}

.Dashboard-module__doseCard--o1542 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border-radius: 22px;
  background: var(--card-bg);
  box-shadow: var(--shadow-card);
}

.Dashboard-module__doseTop--R0pFF {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.Dashboard-module__doseInfo--yi5zq {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.Dashboard-module__doseHeadline--xvhsD {
  font: 600 19px/1.15 var(--font-title);
  letter-spacing: -0.02em;
}

.Dashboard-module__doseDetail--xwUbB {
  font: 500 12px/1.4 var(--font-body);
  color: var(--text-secondary-strong);
}

.Dashboard-module__doseBadge--A14ZL {
  padding: 6px 10px;
  border-radius: 999px;
  font: 600 11.5px var(--font-body);
  white-space: nowrap;
}

.Dashboard-module__doseButton--CjpRK {
  height: 46px;
  border: none;
  border-radius: 15px;
  background: var(--primary);
  color: #fff;
  font: 600 14px var(--font-title);
}

.Dashboard-module__doseButton--CjpRK:hover {
  background: var(--primary-hover);
}

.Dashboard-module__doseButton--CjpRK:active {
  transform: translateY(1px);
}

/* Messwerte-Liste */
.Dashboard-module__listSection--xTklq {
  padding: 6px 0 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.Dashboard-module__listHeader--m8lI4 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 0 12px 4px;
}

.Dashboard-module__listTitle--R3wAA {
  font: 600 15px var(--font-title);
  letter-spacing: -0.01em;
}

.Dashboard-module__logLink--ZIf3M {
  border: none;
  background: none;
  padding: 0;
  font: 600 11.5px var(--font-body);
  color: var(--link-inline);
}

.Dashboard-module__newBtn--zpoX1 {
  width: 100%;
  height: 52px;
  border: none;
  border-radius: 16px;
  background: var(--primary);
  color: #fff;
  font: 600 15px var(--font-title);
  letter-spacing: -0.01em;
  box-shadow: var(--shadow-primary-btn-lg);
}

.Dashboard-module__newBtn--zpoX1:hover {
  background: var(--primary-hover);
}

.Dashboard-module__newBtn--zpoX1:active {
  transform: translateY(1px);
}

.Dashboard-module__row--TG2UJ {
  display: grid;
  grid-template-columns: 1fr auto auto auto 12px;
  align-items: center;
  gap: 9px;
  padding: 13px 12px 13px 14px;
  border-radius: 16px;
  background: var(--card-bg-72);
  cursor: pointer;
  border: none;
  width: 100%;
  text-align: left;
}

.Dashboard-module__row--TG2UJ:hover {
  background: var(--card-bg);
}

.Dashboard-module__rowDay--ve48v {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.Dashboard-module__rowDayLabel--NBPnE {
  font: 600 13.5px var(--font-body);
}

.Dashboard-module__rowDateLabel--_rXJ7 {
  font: 500 11px var(--font-body);
  color: var(--text-dim);
}

.Dashboard-module__rowIcons--lIouU {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 2px;
}

.Dashboard-module__rowIcon--tYvEx {
  width: 11px;
  height: 11px;
  color: var(--text-dim);
}

.Dashboard-module__rowValue--yujS3 {
  font: 600 12.5px var(--font-title);
  text-align: right;
}

.Dashboard-module__rowChevron--UrNbx {
  font: 600 15px var(--font-body);
  color: var(--chevron-color);
  text-align: right;
}

.BottomSheet-module__overlay--Kk71i {
  position: fixed;
  /* top/bottom statt fester Höhe: bottom wird bei offener Tastatur
     per JS auf deren Höhe gesetzt (siehe BottomSheet.tsx) */
  inset: 0;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
}

.BottomSheet-module__backdrop--zI7J8 {
  position: absolute;
  inset: 0;
  background: var(--backdrop);
  animation: BottomSheet-module__fadeIn--OvMfg 0.18s ease-out;
}

.BottomSheet-module__sheet--OOoVh,
.BottomSheet-module__sheetScrollable--VcxIt {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  /* nie höher als der sichtbare Viewport (Overlay endet über der Tastatur) */
  max-height: 100%;
  overflow-y: auto;
  padding: 14px 20px calc(26px + env(safe-area-inset-bottom));
  border-radius: 28px 28px 0 0;
  background: var(--sheet-bg);
  box-shadow: var(--shadow-sheet);
  animation: BottomSheet-module__sheetUp--h7hMU 0.26s cubic-bezier(0.22, 0.9, 0.3, 1);
}

.BottomSheet-module__sheetScrollable--VcxIt {
  max-height: min(88dvh, 100%);
  -webkit-overflow-scrolling: touch;
  /* verhindert Scroll-Chaining (Pull-to-Refresh) während der Zieh-Geste */
  overscroll-behavior-y: contain;
}

.BottomSheet-module__handle--pNH4r {
  width: 42px;
  height: 4px;
  border-radius: 99px;
  background: var(--toggle-off);
  margin: 0 auto 16px;
}

.SheetControls-module__sheetTitleRow--vcDb8 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}

.SheetControls-module__sheetTitle--wPkm7 {
  font: 600 19px var(--font-title);
  letter-spacing: -0.02em;
}

.SheetControls-module__deleteLink--O1lBm {
  border: none;
  background: none;
  padding: 0;
  font: 600 13px var(--font-body);
  color: var(--destructive-strong);
}

.SheetControls-module__stack--rLig4 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.SheetControls-module__innerCard--DBJhe {
  padding: 14px 16px 16px;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow-inner-card);
}

.SheetControls-module__kicker--n6Gh4 {
  font: 600 13px var(--font-body);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--label-alt);
}

.SheetControls-module__chipRow--WQidx {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.SheetControls-module__chip--L_1qW {
  flex: 1;
  height: 40px;
  border: none;
  border-radius: 13px;
  font: 600 13px var(--font-body);
}

.SheetControls-module__dateInput--nXR7c {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--input-border);
  border-radius: 13px;
  background: var(--input-bg);
  color: var(--text-primary);
  font: 600 14px var(--font-body);
}

.SheetControls-module__stepperGrid--B6x34 {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;
  gap: 12px;
}

.SheetControls-module__stepperBtn--vXKMV {
  height: 52px;
  border: none;
  border-radius: 15px;
  background: var(--stepper-bg);
  color: var(--stepper-text);
  font: 600 22px var(--font-title);
}

.SheetControls-module__stepperBtn--vXKMV:active {
  transform: translateY(1px);
}

.SheetControls-module__stepperValue--vCUx6 {
  text-align: center;
  font: 600 38px/1 var(--font-title);
  letter-spacing: -0.03em;
}

.SheetControls-module__rangeInput--lYuei {
  width: 100%;
  margin: 14px 0 0;
}

.SheetControls-module__actionBar--CS1Az {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 10px;
  margin-top: 18px;
}

.SheetControls-module__cancelBtn--_fyJl {
  height: 54px;
  border: none;
  border-radius: 17px;
  background: var(--secondary-btn-bg);
  color: var(--secondary-btn-text);
  font: 600 15px var(--font-title);
}

.SheetControls-module__saveBtn--ptBnG {
  height: 54px;
  border: none;
  border-radius: 17px;
  color: #fff;
  font: 600 15px var(--font-title);
  box-shadow: var(--shadow-primary-btn);
}

.SheetControls-module__saveBtn--ptBnG:active {
  transform: translateY(1px);
}

.SheetControls-module__warning--eTwXu {
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--warning-bg);
  font: 600 12.5px/1.4 var(--font-body);
  color: var(--warning-fg);
}

.SheetControls-module__textarea--xZW8E {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--input-border);
  border-radius: 13px;
  background: var(--input-bg);
  font: 500 14px/1.45 var(--font-body);
  color: var(--text-primary);
  resize: none;
}

.SheetControls-module__footnote--T1hDT {
  font: 500 11px/1.35 var(--font-body);
  color: var(--text-dim-2);
  margin-top: 8px;
}

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

.MeasurementSheet-module__toggleBtn--HHyRq {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: none;
  padding: 0;
  font: 600 12px var(--font-body);
  color: var(--text-secondary-strong);
}

.MeasurementSheet-module__toggleTrack--LFPlp {
  position: relative;
  width: 44px;
  height: 26px;
  border-radius: 99px;
  transition: background 0.18s;
}

.MeasurementSheet-module__toggleKnob--w8coL {
  position: absolute;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 99px;
  background: #fff;
  box-shadow: var(--shadow-toggle-knob);
  transition: left 0.18s;
}

.MeasurementSheet-module__valueBody--iLFHe {
  margin-top: 14px;
}

.MeasurementSheet-module__careToggleRow--wSZy8 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font: 600 13.5px var(--font-body);
  color: var(--text-primary);
}

.MeasurementSheet-module__careToggleRow--wSZy8 + .MeasurementSheet-module__careToggleRow--wSZy8 {
  margin-top: 12px;
}

.MeasurementSheet-module__doseHint--QTm4W {
  margin-top: 10px;
  font: 500 11.5px/1.4 var(--font-body);
  color: var(--text-secondary);
  text-align: center;
}

.MeasurementSheet-module__noteHeader--e0K18 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 11px;
}

.MeasurementSheet-module__optional--uKYb4 {
  font: 500 11.5px var(--font-body);
  color: var(--text-dim-2);
}

.ChemicalSheet-module__agentRow--GS54e {
  display: flex;
  gap: 8px;
}

.ChemicalSheet-module__agentBtn--_mihH {
  flex: 1;
  height: 44px;
  border: none;
  border-radius: 13px;
  font: 600 13px var(--font-body);
}

.ChemicalSheet-module__amountHeader--jbi3z {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.ChemicalSheet-module__stepHint--pLSJU {
  font: 600 11.5px var(--font-body);
  color: var(--text-dim);
}

.ChemicalSheet-module__suggestBtn--TdFEa {
  width: 100%;
  height: 42px;
  margin-top: 12px;
  border: none;
  border-radius: 13px;
  background: var(--suggest-btn-bg);
  color: var(--suggest-btn-text);
  font: 600 12.5px var(--font-body);
}

.ChemicalSheet-module__doseHint--eFTzR {
  margin-top: 10px;
  font: 500 11.5px/1.4 var(--font-body);
  color: var(--text-secondary);
  text-align: center;
}

.FullScreenPage-module__page--eI1k9 {
  position: fixed;
  inset: 0;
  z-index: 7;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  background: var(--page-gradient);
  animation: FullScreenPage-module__fadeIn--oSNKX 0.18s ease-out;
}

.FullScreenPage-module__header--Z8LUZ {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 26px 20px 16px;
}

.FullScreenPage-module__back--xib1l {
  width: 38px;
  height: 38px;
  flex: none;
  border: none;
  border-radius: 13px;
  background: var(--card-bg-80);
  color: var(--back-btn-text);
  font: 600 17px var(--font-body);
}

.FullScreenPage-module__headings--sbnVe {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.FullScreenPage-module__kicker--_6x_g {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--label);
}

.FullScreenPage-module__title--ZBrTr {
  font: 600 22px/1.1 var(--font-title);
  letter-spacing: -0.02em;
}

.CareLogPage-module__tabRow--qHEeQ {
  display: flex;
  gap: 8px;
  padding: 0 20px 14px;
}

.CareLogPage-module__tab--d7ZHu {
  flex: 1;
  height: 38px;
  border: none;
  border-radius: 12px;
  font: 600 12.5px var(--font-body);
}

.CareLogPage-module__list--ILsc5 {
  flex: 1;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 20px 24px;
}

.CareLogPage-module__row--sCSMD {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: var(--card-bg-78);
}

.CareLogPage-module__dot--fVTQD {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 99px;
  flex: none;
}

.CareLogPage-module__rowBody--uL3_t {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.CareLogPage-module__rowTitle--F0cg4 {
  font: 600 13.5px var(--font-body);
}

.CareLogPage-module__rowAmount--M0ded {
  font: 500 11.5px var(--font-body);
  color: var(--amount-color);
}

.CareLogPage-module__rowDate--S5vCe {
  font: 500 11.5px var(--font-body);
  color: var(--row-date-color);
}

.CareLogPage-module__noteBox--fgDd3 {
  margin-top: 6px;
  padding: 9px 11px;
  border-radius: 12px;
  background: var(--note-box-bg);
  font: 500 12.5px/1.4 var(--font-body);
  color: var(--note-box-text);
  text-wrap: pretty;
}

.CareLogPage-module__noteLink--HqCt2 {
  align-self: flex-start;
  margin-top: 6px;
  border: none;
  background: none;
  padding: 0;
  font: 600 11.5px var(--font-body);
  color: var(--link-inline);
}

.CareLogPage-module__removeBtn--VUk9t {
  border: none;
  background: none;
  padding: 6px 2px;
  font: 600 12px var(--font-body);
  color: var(--destructive);
}

.CareLogPage-module__empty--rp1IY {
  padding: 22px 16px;
  border-radius: 16px;
  background: var(--card-bg-60);
  font: 500 13px var(--font-body);
  color: var(--text-secondary);
  text-align: center;
}

.ChangePasswordCard-module__card--Zq52c {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.ChangePasswordCard-module__groupTitle--UGrKJ {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--label);
}

.ChangePasswordCard-module__label--WUbnI {
  font: 600 11.5px var(--font-body);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--label-alt);
}

.ChangePasswordCard-module__input--_EqvX {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--input-border);
  border-radius: 13px;
  background: var(--input-bg);
  font: 600 14px var(--font-body);
  color: var(--text-primary);
}

.ChangePasswordCard-module__error--NUQBt {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--warning-bg);
  font: 600 12.5px var(--font-body);
  color: var(--status-high-fg);
}

.ChangePasswordCard-module__submit--EOpsG {
  height: 50px;
  margin-top: 4px;
  border: none;
  border-radius: 16px;
  background: var(--primary);
  color: #fff;
  font: 600 14px var(--font-title);
}

.ChangePasswordCard-module__submit--EOpsG:hover {
  background: var(--primary-hover);
}

.ChangePasswordCard-module__submit--EOpsG:active {
  transform: translateY(1px);
}

.ChangePasswordCard-module__submit--EOpsG:disabled {
  opacity: 0.7;
}

.SettingsPage-module__content--ZnqU5 {
  flex: 1;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 20px 26px;
}

.SettingsPage-module__group--D9VbS {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.SettingsPage-module__groupTitle--VIK_h {
  font: 600 11px/1 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--label);
}

.SettingsPage-module__row--ql2we {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 6px 0;
}

.SettingsPage-module__rowLeft--wzJf4 {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.SettingsPage-module__rowLabel--zXxqX {
  font: 600 13.5px var(--font-body);
}

.SettingsPage-module__rowHint--JxYB_ {
  font: 500 11px var(--font-body);
  color: var(--text-dim);
}

.SettingsPage-module__rowControls--zF_pe {
  display: flex;
  align-items: center;
  gap: 10px;
}

.SettingsPage-module__stepBtn--x5B7X {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 13px;
  background: var(--stepper-bg);
  color: var(--stepper-text);
  font: 600 19px var(--font-title);
}

.SettingsPage-module__stepBtn--x5B7X:active {
  transform: translateY(1px);
}

.SettingsPage-module__rowValue--blVYA {
  min-width: 78px;
  text-align: center;
  font: 600 18px var(--font-title);
  letter-spacing: -0.02em;
}

.SettingsPage-module__resetBtn--QVE89 {
  flex: none;
  height: 50px;
  min-height: 50px;
  border: none;
  border-radius: 16px;
  background: var(--card-bg-80);
  color: var(--icon-btn-text);
  font: 600 14px var(--font-title);
}

.SettingsPage-module__dataHint--yb5t3 {
  font: 500 11px/1.5 var(--font-body);
  color: var(--text-dim);
}

.SettingsPage-module__dataBtn--eVkTP {
  height: 46px;
  min-height: 46px;
  border: none;
  border-radius: 14px;
  background: var(--stepper-bg);
  color: var(--stepper-text);
  font: 600 13.5px var(--font-title);
}

.SettingsPage-module__dataBtn--eVkTP:active {
  transform: translateY(1px);
}

.SettingsPage-module__dangerBtn--FgoEL {
  background: var(--status-high-bg);
  color: var(--status-high-fg);
}

.Toast-module__container--pIu5N {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  pointer-events: none;
  z-index: 8;
}

.Toast-module__toast--Xhd1V {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 88px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--toast-bg);
  color: #fff;
  font: 600 13.5px var(--font-body);
  box-shadow: var(--shadow-toast);
  animation: Toast-module__toastIn--HT4hH 0.22s ease-out;
}

.Toast-module__dot--Rrit4 {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--toast-dot);
  flex: none;
}

.Toast-module__dotError--x_rUu {
  background: var(--status-high-fg);
}

:root {
  --font-title: 'Outfit', system-ui, sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;

  --bg-gradient: linear-gradient(180deg, oklch(0.97 0.03 205) 0%, oklch(0.98 0.015 120) 60%, oklch(0.985 0.01 90) 100%);
  --bg-fallback: oklch(0.96 0.012 200);
  --card-bg: #fff;
  --card-bg-72: rgba(255, 255, 255, .72);
  --card-bg-78: rgba(255, 255, 255, .78);
  --card-bg-80: rgba(255, 255, 255, .8);
  --card-bg-75: rgba(255, 255, 255, .75);
  --card-hover: oklch(0.985 0.01 220);
  --sheet-bg: oklch(0.99 0.008 200);
  --input-bg: oklch(0.985 0.005 220);
  --input-border: oklch(0.91 0.01 230);

  --text-primary: oklch(0.28 0.02 235);
  --text-secondary: oklch(0.66 0.03 230);
  --text-dim: oklch(0.7 0.03 230);
  --text-dim-2: oklch(0.72 0.03 230);
  --label: oklch(0.65 0.04 220);
  --label-alt: oklch(0.6 0.04 225);

  --primary: oklch(0.55 0.13 225);
  --primary-hover: oklch(0.5 0.13 225);
  --secondary-btn-bg: oklch(0.94 0.015 225);
  --secondary-btn-text: oklch(0.42 0.04 230);
  --chip-inactive-bg: oklch(0.95 0.015 225);
  --chip-inactive-text: oklch(0.45 0.04 230);
  --stepper-bg: oklch(0.95 0.02 220);
  --stepper-text: oklch(0.42 0.05 230);

  --ph-color: oklch(0.66 0.15 32);
  --ph-badge: oklch(0.96 0.03 32);
  --ph-minus-color: oklch(0.55 0.15 32);
  --ph-plus-color: oklch(0.5 0.13 145);
  --ph-plus-badge: oklch(0.95 0.04 145);
  --cl-color: oklch(0.63 0.13 220);
  --cl-agent-color: oklch(0.52 0.13 220);
  --cl-badge: oklch(0.95 0.03 220);
  --ta-color: oklch(0.52 0.11 285);
  --ta-badge: oklch(0.94 0.04 285);
  --ta-area: oklch(0.6 0.11 285);

  --target-band-fill: oklch(0.9 0.1 150);
  --target-band-line: oklch(0.62 0.12 150);

  --status-optimal-bg: oklch(0.93 0.07 145);
  --status-optimal-fg: oklch(0.44 0.11 150);
  --status-low-bg: oklch(0.94 0.06 55);
  --status-low-fg: oklch(0.48 0.12 55);
  --status-high-bg: oklch(0.93 0.07 25);
  --status-high-fg: oklch(0.5 0.15 25);
  --status-none-bg: oklch(0.94 0.01 230);
  --status-none-fg: oklch(0.55 0.02 235);

  --warning-bg: oklch(0.95 0.05 60);
  --warning-fg: oklch(0.48 0.11 55);
  --destructive: oklch(0.6 0.13 25);
  --destructive-strong: oklch(0.55 0.16 25);
  --due-color: oklch(0.55 0.15 30);
  --ok-color: oklch(0.42 0.06 200);
  --never-color: oklch(0.5 0.13 25);

  --recommendation-bg: oklch(0.95 0.05 145);
  --recommendation-bar: oklch(0.7 0.13 145);
  --recommendation-text: oklch(0.36 0.04 160);
  --recommendation-kicker: oklch(0.45 0.09 150);

  --toast-bg: oklch(0.32 0.03 235);
  --toast-dot: oklch(0.78 0.15 145);

  --link-inline: oklch(0.55 0.12 225);
  --toggle-off: oklch(0.9 0.01 230);
  --back-btn-text: oklch(0.4 0.04 230);
  --page-gradient: linear-gradient(180deg, oklch(0.97 0.03 205) 0%, oklch(0.985 0.01 90) 70%);
  --login-gradient: linear-gradient(180deg, oklch(0.95 0.05 205) 0%, oklch(0.98 0.02 150) 100%);
  --icon-btn-text: oklch(0.5 0.05 230);
  --nav-btn-active: oklch(0.45 0.05 230);
  --nav-btn-disabled: oklch(0.85 0.01 230);
  --shadow-recommendation: 0 2px 14px rgba(20, 60, 80, .05);
  --text-secondary-strong: oklch(0.62 0.03 230);
  --chevron-color: oklch(0.8 0.02 230);
  --value-empty: oklch(0.82 0.01 230);
  --primary-disabled: oklch(0.82 0.03 225);
  --suggest-btn-bg: oklch(0.95 0.02 225);
  --suggest-btn-text: oklch(0.45 0.06 230);
  --amount-color: oklch(0.58 0.05 230);
  --row-date-color: oklch(0.68 0.03 230);
  --note-box-bg: oklch(0.96 0.015 225);
  --note-box-text: oklch(0.42 0.03 235);
  --card-bg-60: rgba(255, 255, 255, .6);
  --interval-color: oklch(0.42 0.06 230);

  --dot-filter: oklch(0.6 0.13 265);
  --dot-robot: oklch(0.68 0.14 175);
  --dot-note: oklch(0.6 0.1 60);

  --shadow-card: 0 2px 14px rgba(20, 60, 80, .07);
  --shadow-inner-card: 0 1px 8px rgba(20, 60, 80, .06);
  --shadow-primary-btn: 0 8px 18px rgba(30, 90, 140, .22);
  --shadow-primary-btn-lg: 0 6px 16px rgba(30, 90, 140, .24);
  --shadow-login-card: 0 4px 20px rgba(20, 60, 80, .09);
  --shadow-sheet: 0 -8px 30px rgba(20, 60, 80, .2);
  --shadow-toast: 0 10px 24px rgba(20, 60, 80, .25);
  --shadow-pill: 0 1px 2px rgba(20, 60, 80, .08);
  --shadow-toggle-knob: 0 1px 3px rgba(0, 0, 0, .2);
  --backdrop: rgba(18, 44, 58, .34);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg-fallback);
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-body), system-ui, sans-serif;
  color: var(--text-primary);
}

a {
  color: var(--link-inline);
  text-decoration: none;
}
a:hover {
  color: var(--primary-hover);
}

input,
textarea,
button {
  font: inherit;
}

button {
  cursor: pointer;
}

#root {
  position: relative;
  width: 100%;
  max-width: 430px;
  min-height: 852px;
  margin: 0 auto;
  overflow: hidden;
  background: var(--bg-gradient);
}

@keyframes sheetUp {
  from {
    transform: translateY(102%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes toastIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/*# sourceMappingURL=main.9dfb9d3c3ac767cbf74c.css.map*/