:root{
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);
  --bg:#080b12;--card:#101826;--card2:#152134;--text:#f8fafc;--muted:#97a6bb;--line:rgba(255,255,255,.08);--accent:#a78bfa;--accent2:#7c3aed;--accentSoft:rgba(167,139,250,.16);--blue:#7dd3fc;--ok:#86efac;--warn:#fde047;--bad:#fca5a5;--input:#0d1420;--nav:rgba(10,15,24,.8);--shadow:0 18px 42px rgba(0,0,0,.26)
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;color-scheme:dark;background:radial-gradient(circle at 18% 0%,rgba(124,58,237,.25),transparent 34%),linear-gradient(180deg,#080b12,#091120 34%,#080b12);transition:.25s ease}
body[data-theme="dark"]{--bg:#03060b;--card:#0c1119;--card2:#111923;--text:#f8fafc;--muted:#8e9bad;--line:rgba(255,255,255,.075);--accent:#9b87f5;--accent2:#7256d9;--accentSoft:rgba(155,135,245,.14);--blue:#79c8ec;--input:#080d14;--nav:rgba(4,7,11,.86);--shadow:0 18px 42px rgba(0,0,0,.42);background:linear-gradient(180deg,#020409,#050a11 46%,#020409)}
body[data-theme="light"]{--bg:#f5f2fb;--card:#fff;--card2:#f3eef9;--text:#1b1525;--muted:#776e83;--line:rgba(57,35,82,.11);--accent:#8062d6;--accent2:#6646c5;--accentSoft:rgba(128,98,214,.13);--blue:#3d93bd;--ok:#25834e;--warn:#9a6b00;--bad:#c34141;--input:#f7f4fa;--nav:rgba(250,248,253,.88);--shadow:0 14px 34px rgba(67,44,96,.11);color-scheme:light;background:radial-gradient(circle at 16% 0%,rgba(128,98,214,.15),transparent 34%),linear-gradient(180deg,#f7f4fb,#f1edf7 55%,#f5f2fb)}
button,input{font:inherit}button{touch-action:manipulation}button:active{transform:scale(.975)}.hidden{display:none!important}.soft,.muted{color:var(--muted)}
.app{max-width:620px;margin:auto;min-height:100vh;padding:calc(15px + var(--safe-top)) max(16px,var(--safe-right)) calc(108px + var(--safe-bottom)) max(16px,var(--safe-left))}.appHeader{margin:0 2px 18px}.greet{font-size:34px;font-weight:860;line-height:1.06;letter-spacing:-.035em}.appSubtitle{font-size:19px;color:var(--accent);font-weight:720;margin-top:3px}.page{display:none}.page.active{display:block;animation:pageIn .2s ease}@keyframes pageIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.pageTitleRow{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:1px 2px 14px}.pageTitleRow h1{font-size:31px;line-height:1;margin:0;letter-spacing:-.035em}.pageTitleRow p{color:var(--muted);font-size:14px;margin:6px 0 0}.card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:25px;padding:17px;box-shadow:var(--shadow);margin-bottom:13px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:760}
.statsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:95px;padding:14px;border-radius:18px;background:var(--card2);border:1px solid var(--line)}.stat strong{display:block;font-size:24px;margin-top:7px;letter-spacing:-.035em}
.hero{padding:0}.heroTop{padding:18px 18px 10px}.last{background:none;border:0;color:inherit;padding:0;margin:4px 0 0;text-align:left;font-size:30px;font-weight:860;letter-spacing:-.04em}.last:not(:disabled)::after,.timeButton:not(:disabled)::after{content:"  ✎";font-size:.52em;color:var(--accent);opacity:.72}.elapsed{margin-top:7px;color:var(--muted);font-size:14px;font-weight:650}.heroStatus{margin:0 17px 17px;padding:17px;border-radius:21px;background:var(--card2);border:1px solid var(--line)}.statusHeader{display:flex;justify-content:space-between;gap:12px}.statusTitle{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.statusBadge{display:grid;place-items:center;width:42px;height:42px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-size:21px}.notice{margin-top:6px;font-size:14px;font-weight:700}.heroMini{margin-top:13px;padding:14px;border-radius:17px;background:var(--input);border:1px solid var(--line)}.heroMini strong{display:block;margin-top:5px;font-size:21px}.countdown{display:block;margin-top:4px;color:var(--muted);font-weight:650}.track{height:9px;margin-top:13px;background:var(--bg);border-radius:999px;overflow:hidden}.bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--blue))}.saveRow{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:0 17px 17px}
.big,.small,.pill,.edit,.intervalSave,.backupBtn,.calendarAdd,.calendarEditBtn,.themeChoice,.segBtn,.monthNavBtn,.monthTile{border:1px solid var(--line);border-radius:15px;font-weight:800;transition:.15s ease}.big{padding:17px 14px;background:linear-gradient(135deg,#b194ff,var(--accent2));color:#fff;font-size:19px}.big.compact{padding:14px;font-size:16px}.small{padding:13px 12px;background:var(--card2);color:var(--text)}.big.bounce{animation:bounce .42s ease}@keyframes bounce{0%{transform:scale(1)}35%{transform:scale(1.04)}60%{transform:scale(.985)}100%{transform:scale(1)}}
.sectionHead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.sectionHead h2{font-size:27px;margin:0;letter-spacing:-.03em}.historyTools{display:flex;gap:8px;margin-bottom:12px}.pill{padding:10px 14px;background:var(--card2);color:var(--muted)}.pill.active{color:var(--text);background:var(--accentSoft)}.entry{padding:14px 0;border-bottom:1px solid var(--line)}.entry:last-child{border-bottom:0}.top{display:flex;justify-content:space-between;gap:12px}.entryTime{background:none;border:0;color:inherit;padding:0;text-align:left;font-weight:820;font-size:16px}.amount{font-weight:850;color:var(--ok);white-space:nowrap}.gap{display:inline-flex;margin-top:9px;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:800;border:1px solid transparent}.gapGood{color:var(--ok);background:rgba(34,197,94,.08)}.gapWarn{color:var(--warn);background:rgba(234,179,8,.08)}.gapBad{color:var(--bad);background:rgba(239,68,68,.08)}.edit{margin-top:10px;width:100%;padding:10px;background:var(--input);color:var(--accent)}.editor{display:none;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px;align-items:center}.editor.open{display:grid}.editor input,.intervalRow input,.dateTimeFields input,.amountEditorField input{min-width:0;width:100%;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px 13px;outline:none}.editor>input{min-height:50px;font-size:18px}.editor>button,.intervalSave{background:var(--accentSoft);color:var(--text);padding:14px 16px;white-space:nowrap}
.chartHead{margin-bottom:6px}.chartTitle{font-size:15px;font-weight:800}.chartSub{font-size:12px;color:var(--muted)}.chart{height:132px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:end;margin-top:8px}.barCol{display:flex;flex-direction:column;align-items:center;gap:7px}.barWrap{height:96px;width:100%;display:flex;align-items:flex-end;justify-content:center}.dayBar{width:100%;max-width:34px;border-radius:11px 11px 5px 5px;background:linear-gradient(180deg,var(--blue),var(--accent2));min-height:6px}.dayVal,.dayLbl{font-size:10px;color:var(--muted);white-space:nowrap}.dayVal{min-height:13px}
.intervalRow{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.intervalRow label{display:block;color:var(--muted);font-size:12px}.intervalRow label input{display:block;margin-top:7px}.intervalInfo{margin-top:11px;color:var(--muted);font-size:14px}.backupButtons{display:grid;gap:9px}.backupBtn{width:100%;padding:14px 15px;color:var(--text);text-align:center}.backupBtn.export{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.backupBtn.import{display:block;background:var(--card2)}.backupBtn.reset{background:rgba(239,68,68,.07);color:var(--bad)}.backupNote{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.45}
.themeChoices{display:grid;gap:9px}.themeChoice{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:var(--card2);color:var(--text);text-align:left}.themeChoice.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.themeChoice strong{display:block}.themeChoice small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.themePreview{width:48px;height:34px;border-radius:11px;border:1px solid rgba(127,127,127,.22);position:relative;overflow:hidden;flex:0 0 auto}.themePreview::before{content:"";position:absolute;left:7px;right:7px;top:7px;height:6px;border-radius:4px}.themePreview::after{content:"";position:absolute;left:7px;bottom:7px;width:20px;height:7px;border-radius:4px}.previewNormal{background:#0d1420}.previewNormal::before{background:#a78bfa}.previewNormal::after{background:#1d2b43}.previewLight{background:#f8f6fb}.previewLight::before{background:#8062d6}.previewLight::after{background:#e6def3}.previewDark{background:#05080d}.previewDark::before{background:#8f7be6}.previewDark::after{background:#121b26}
.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:var(--card2);border:1px solid var(--line);margin-bottom:12px}.segBtn{border:0;border-radius:10px;padding:9px 12px;background:transparent;color:var(--muted)}.segBtn.active{background:var(--card);color:var(--text);box-shadow:0 4px 12px rgba(0,0,0,.1)}.calendarPanel{display:none}.calendarPanel.active{display:block}.calendarMonthHead,.yearHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendarMonthTitle{font-size:21px;font-weight:850}.yearTitle{font-size:25px;font-weight:860}.monthNavBtn{width:39px;height:39px;padding:0;background:var(--card2);color:var(--text);font-size:22px}.monthSummary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--accentSoft),transparent 78%)}.monthSummary strong{font-size:22px}.monthSummary span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.monthSummaryIcon{font-size:24px}.calendarWeekdays,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendarWeekdays{padding:0 2px 5px;color:var(--muted);font-size:10px;text-transform:uppercase;text-align:center;font-weight:760}.calendarDay{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:14px;background:transparent;color:var(--text);padding:2px}.calendarDay.outside{color:var(--muted);opacity:.4}.calendarDay.future{opacity:.25}.calendarDay.selected{background:var(--accent2);color:#fff;box-shadow:0 7px 16px rgba(124,58,237,.22)}.calendarDay.today:not(.selected){background:var(--accentSoft);color:var(--accent)}.calendarDayNumber{font-size:16px;font-weight:800;line-height:1}.calendarDayDot{width:5px;height:5px;border-radius:50%;background:transparent}.calendarDay.hasData .calendarDayDot{background:var(--blue)}.calendarDay.selected .calendarDayDot{background:#fff}.calendarDayMilk{font-size:8px;line-height:1;color:inherit;opacity:.72;white-space:nowrap}.calendarDetails{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.calendarDateRow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.calendarDate{font-size:17px;font-weight:830}.calendarAdd{padding:10px 12px;background:var(--accentSoft);color:var(--text)}.calendarSummary{display:flex;align-items:center;gap:12px;padding:13px;margin-bottom:7px;border:1px solid var(--line);border-radius:17px;background:var(--card2)}.calendarSummaryIcon{font-size:22px}.calendarSummaryValue{font-size:23px;font-weight:900}.calendarSummaryLabel,.calendarSummaryNote{color:var(--muted);font-size:11px}.calendarEntry{padding:12px 2px;border-bottom:1px solid var(--line)}.calendarEntry:last-child{border-bottom:0}.calendarEntryTop{display:flex;justify-content:space-between;gap:10px;font-weight:780}.calendarGap{margin-top:5px;font-size:12px;color:var(--muted)}.calendarEntryActions{display:flex;justify-content:flex-end;margin-top:8px}.calendarEditBtn{padding:8px 11px;background:var(--input);color:var(--accent)}.calendarEmpty{padding:11px 1px;color:var(--muted);line-height:1.45}.monthsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.monthTile{min-width:0;min-height:94px;background:var(--card2);color:var(--text);padding:11px 8px;text-align:left}.monthTile.current{border-color:var(--accent)}.monthName{display:block;font-weight:830}.monthTotal{display:block;font-size:15px;font-weight:850;margin-top:12px;color:var(--accent)}.monthCount{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.bottomNav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:100;width:min(620px,100%);padding:7px max(8px,var(--safe-right)) calc(7px + var(--safe-bottom)) max(8px,var(--safe-left));background:var(--nav);border-top:1px solid var(--line);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);display:grid;grid-template-columns:repeat(4,1fr)}.tabBtn{border:0;background:transparent;color:var(--muted);padding:5px 2px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:730}.tabBtn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9}.tabBtn.active{color:var(--accent)}
.pickerBackdrop{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);display:flex;align-items:flex-end;justify-content:center}.timeSheet{width:min(620px,100%);background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;padding:10px 18px calc(22px + var(--safe-bottom));box-shadow:0 -24px 70px rgba(0,0,0,.42);animation:sheetUp .26s ease}.sheetHandle{width:44px;height:5px;border-radius:999px;background:var(--muted);opacity:.5;margin:0 auto 16px}.timeSheetHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.timeSheetHead h2{margin:5px 0 4px;font-size:28px;letter-spacing:-.03em}.closeSheet{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--card2);color:var(--text);font-size:26px}.editorHint{margin-top:7px;padding:9px 11px;border-radius:12px;background:var(--accentSoft);font-size:12px;color:var(--muted);line-height:1.45}.dateTimeFields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0 12px}.dateTimeFields label,.amountEditorField{display:block;color:var(--muted);font-size:12px;font-weight:750}.dateTimeFields input,.amountEditorField input{display:block;margin-top:7px}.amountEditorField{margin-bottom:17px}.timeSheetActions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.deleteEntryBtn{display:none;width:100%;margin-top:10px;padding:13px 14px;border:1px solid rgba(239,68,68,.2);border-radius:15px;background:rgba(239,68,68,.07);color:var(--bad);font-weight:800}.deleteEntryBtn.show{display:block}body.sheetOpen{overflow:hidden}@keyframes sheetUp{from{transform:translateY(100%);opacity:.7}to{transform:none;opacity:1}}
.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translateX(-50%) scale(.94);z-index:150;max-width:calc(100vw - 32px);padding:11px 15px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text);font-weight:800;opacity:0;pointer-events:none;transition:.2s ease;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) scale(1)}
@media(max-width:390px){.app{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.greet{font-size:32px}.card{border-radius:23px}.saveRow{gap:7px;padding-left:14px;padding-right:14px}.big{font-size:17px}.small{padding:12px 9px}.monthsGrid{gap:6px}.monthTile{min-height:90px;padding:10px 7px}.dateTimeFields{grid-template-columns:1fr}.intervalRow{grid-template-columns:1fr 1fr}.intervalSave{grid-column:1/-1}.pageTitleRow h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* vNext: prostsza nawigacja i kalendarz w stylu iOS */
.bottomNav{grid-template-columns:repeat(3,1fr)}
.homeHistoryHead{margin-bottom:2px}
.calendarCard{overflow:hidden}
.calendarBack{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 12px;padding:7px 7px 7px 2px;border:0;background:transparent;color:var(--accent);font-size:16px;font-weight:760}
.calendarBack span{font-size:14px}
.calendarPanel{animation:calendarFade .18s ease}
@keyframes calendarFade{from{opacity:.35;transform:translateX(5px)}to{opacity:1;transform:none}}
#calendarMonthsPanel.active{display:block}
#calendarDaysPanel.active{display:block}

/* Dynamiczne szybkie wartości mleka */
.quickAmounts{margin:12px 0 4px;min-width:0}
.quickAmountRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}
.quickAmountBtn{min-width:0;height:44px;padding:0 4px!important;border:1px solid var(--line)!important;border-radius:13px;background:var(--card2)!important;color:var(--text)!important;display:flex;align-items:baseline;justify-content:center;gap:3px;box-shadow:none!important}
.quickAmountBtn strong{font-size:15px;letter-spacing:-.02em;line-height:1}
.quickAmountBtn span{font-size:9px;color:var(--muted);font-weight:700}
.quickAmountBtn:active,.quickAmountBtn.selected{transform:scale(.97);background:var(--accentSoft)!important;border-color:var(--accent)!important}
.editor .quickAmounts{grid-column:1/-1;grid-row:2;margin:0}
#sheetQuickAmounts .quickAmounts{margin:0 0 14px}
.quickPicked{animation:quickPicked .28s ease}
@keyframes quickPicked{0%{box-shadow:0 0 0 0 var(--accentSoft)}50%{box-shadow:0 0 0 4px var(--accentSoft);border-color:var(--accent)}100%{box-shadow:none}}
@media(max-width:370px){.quickAmountRow{gap:5px}.quickAmountBtn strong{font-size:14px}.editor{grid-template-columns:minmax(0,1fr) auto}.editor>button{padding-left:12px;padding-right:12px}}


/* Web Push */
.pushCard{overflow:hidden}.pushStatePill{padding:6px 9px;border-radius:999px;background:var(--card2);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:800}.pushStatePill.on{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.25);color:#22c55e}.pushStatePill.warn{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.25);color:#f59e0b}.pushControls{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.pushDelayLabel{display:block;color:var(--muted);font-size:12px;font-weight:750}.pushDelayLabel select{display:block;width:100%;margin-top:7px;min-height:47px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:var(--input);color:var(--text);font:inherit;font-weight:760}.pushMainBtn{min-height:47px;padding:0 15px;background:var(--accent);color:white}.pushMainBtn.off{background:rgba(239,68,68,.10);color:var(--bad);border:1px solid rgba(239,68,68,.20)}.pushTestBtn{grid-column:1/-1;padding:11px 13px;background:var(--card2);color:var(--text);border:1px solid var(--line)}.pushStatus{margin-top:11px;color:var(--muted);font-size:11px;line-height:1.45}.pushStatus strong{color:var(--text)}
@media(max-width:390px){.pushControls{grid-template-columns:1fr}.pushMainBtn{width:100%}}
