body { background: #f0f2f7; margin: 0; font-family: 'Jost', 'Century Gothic', sans-serif; }
.pf-page { max-width: 1440px; margin: 0 auto; padding: 24px; }
/* PISTO-FIT Recompo Tracker — CSS v1.8 */

#pistofit-app {
  --pf-bg:       #f0f2f7;
  --pf-surface:  #ffffff;
  --pf-surface2: #e8ecf4;
  --pf-border:   #d0d6e8;
  --pf-border2:  #b8c0d8;
  --pf-text:     #0d1117;
  --pf-text2:    #2d3550;
  --pf-text3:    #606880;
  --pf-accent:   #009966;
  --pf-accent2:  #0055cc;
  --pf-accent3:  #cc4400;
  --pf-mono:     'Jost', 'Century Gothic', sans-serif;
  --pf-sans:     'Jost', 'Century Gothic', sans-serif;
  --pf-radius:   8px;
  --pf-shadow:   0 1px 5px rgba(0,0,0,0.10);

  font-family: var(--pf-sans);
  font-size: 15px;
  color: var(--pf-text);
  background: var(--pf-bg);
  padding: 24px;
  border-radius: 12px;
  box-sizing: border-box;
  line-height: 1.5;
}

#pistofit-app *, #pistofit-app *::before, #pistofit-app *::after { box-sizing: border-box; }

/* ── HEADER ── */
.pf-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--pf-border);
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 14px;
}

.pf-logo {
  font-family: 'Jost', 'Century Gothic', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--pf-text3);
  letter-spacing: 0.38em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.pf-logo strong {
  font-weight: 400;
  color: var(--pf-accent);
  letter-spacing: 0.22em;
}
.pf-title {
  font-family: 'Jost', 'Century Gothic', sans-serif;
  font-size: 23px;
  font-weight: 200;
  letter-spacing: 0.20em;
  color: var(--pf-text);
  text-transform: uppercase;
  margin: 0;
  padding: 0;
  border: none;
  line-height: 1.2;
}
.pf-title em {
  font-style: normal;
  font-weight: 400;
  color: var(--pf-accent);
}

/* KPI bar */
.pf-kpi { display: flex; align-items: center; gap: 0; background: #ffffff; border: 1px solid var(--pf-border2); border-radius: 10px; padding: 0; overflow: hidden; box-shadow: var(--pf-shadow); }
.pf-kpi-item { padding: 10px 18px; text-align: center; }
.pf-kpi-sep { width: 1px; height: 40px; background: var(--pf-border); }
.pf-kpi-val { font-family: var(--pf-mono); font-size: 20px; font-weight: 400; color: var(--pf-text); line-height: 1; }
.pf-kpi-label { font-size: 10px; color: var(--pf-text3); text-transform: uppercase; letter-spacing: 0.07em; margin-top: 3px; }
#pfKpiStart .pf-kpi-val { color: var(--pf-accent); }
#pfKpiGoal  .pf-kpi-val { color: var(--pf-accent3); }
#pfKpiDay   .pf-kpi-val { color: var(--pf-accent2); }

/* ── PROGRESS ── */
.pf-progress-wrap { background: #fff; border: 1px solid var(--pf-border2); border-radius: var(--pf-radius); padding: 14px 22px; margin-bottom: 16px; box-shadow: var(--pf-shadow); }
.pf-progress-label { display: flex; justify-content: space-between; margin-bottom: 9px; font-family: var(--pf-mono); font-size: 14px; color: var(--pf-text2); font-weight: 400; }
.pf-progress-label strong { color: var(--pf-accent); font-size: 15px; }
.pf-progress-track { height: 10px; background: var(--pf-border); border-radius: 5px; overflow: hidden; }
.pf-progress-fill { height: 100%; background: linear-gradient(90deg, var(--pf-accent), var(--pf-accent2)); border-radius: 5px; transition: width 0.6s ease; }

/* ── TABS ── */
.pf-tabs { display: flex; gap: 6px; margin-bottom: 16px; }
.pf-tab { font-family: var(--pf-mono); font-size: 12px; font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; padding: 8px 16px; border: 2px solid var(--pf-border2); background: #fff; color: var(--pf-text2); cursor: pointer; border-radius: 5px; transition: all 0.15s; }
.pf-tab:hover { border-color: var(--pf-accent); color: var(--pf-accent); }
.pf-tab.active { background: var(--pf-accent); color: #fff; border-color: var(--pf-accent); }
.pf-panel { display: none; }
.pf-panel.active { display: block; }

/* ── FORM ── */
.pf-form { background: #fff; border: 1px solid var(--pf-border2); border-radius: var(--pf-radius); padding: 16px 18px; margin-bottom: 14px; box-shadow: var(--pf-shadow); }
.pf-form-title { font-family: var(--pf-mono); font-size: 11px; color: var(--pf-accent); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 12px; font-weight: 400; }
.pf-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); gap: 9px; margin-bottom: 12px; }
.pf-fg { display: flex; flex-direction: column; gap: 3px; }
.pf-fg label { font-family: var(--pf-mono); font-size: 9px; color: var(--pf-text3); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 400; }
.pf-fg input, .pf-fg select { background: var(--pf-surface2); border: 1px solid var(--pf-border2); color: var(--pf-text); font-family: var(--pf-mono); font-size: 13px; padding: 7px 9px; border-radius: 4px; outline: none; transition: border-color 0.15s; width: 100%; -webkit-appearance: none; }
.pf-fg input:focus, .pf-fg select:focus { border-color: var(--pf-accent); background: #fff; box-shadow: 0 0 0 3px rgba(0,153,102,0.1); }
.pf-fg input::placeholder { color: var(--pf-text3); }

.pf-btn-add { font-family: var(--pf-mono); font-size: 13px; font-weight: 400; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 24px; background: var(--pf-accent); color: #fff; border: none; border-radius: 5px; cursor: pointer; transition: all 0.15s; }
.pf-btn-add:hover { background: #007a50; transform: translateY(-1px); }
.pf-btn-add:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.pf-saving { font-family: var(--pf-mono); font-size: 11px; color: var(--pf-text3); margin-left: 10px; animation: pfPulse 1s ease-in-out infinite; }
@keyframes pfPulse { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* ── TOOLBAR ── */
.pf-toolbar { display: flex; gap: 7px; margin-bottom: 12px; align-items: center; flex-wrap: wrap; }
.pf-filters { display: flex; gap: 5px; align-items: center; }
.pf-filter-label { font-family: var(--pf-mono); font-size: 11px; color: var(--pf-text3); text-transform: uppercase; font-weight: 400; }
.pf-filter { font-family: var(--pf-mono); font-size: 11px; font-weight: 400; padding: 5px 11px; border: 1px solid var(--pf-border2); background: #fff; color: var(--pf-text2); cursor: pointer; border-radius: 4px; transition: all 0.12s; }
.pf-filter:hover, .pf-filter.active { border-color: var(--pf-accent); color: var(--pf-accent); background: #e6fff6; }
.pf-fw { border-color: #00a86e; color: #007a50; }
.pf-fr { border-color: #cc1133; color: #bb0022; }
.pf-fs { border-color: #0055cc; color: #0044aa; }
.pf-btn-sm { font-family: var(--pf-mono); font-size: 11px; font-weight: 400; padding: 6px 11px; border: 1px solid var(--pf-border2); background: #fff; color: var(--pf-text2); cursor: pointer; border-radius: 4px; transition: all 0.12s; }
.pf-btn-sm:hover { border-color: var(--pf-accent2); color: var(--pf-accent2); }
.pf-danger { color: #bb0022 !important; border-color: #eeb0b8 !important; }
.pf-danger:hover { background: #fff0f2 !important; }
.pf-count { font-family: var(--pf-mono); font-size: 11px; color: var(--pf-text3); margin-left: auto; font-weight: 400; }

/* ── TABLE ── */
.pf-table-wrap { overflow-x: auto; border-radius: var(--pf-radius); border: 1px solid var(--pf-border); box-shadow: var(--pf-shadow); -webkit-overflow-scrolling: touch; }

.pf-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; min-width: 900px; table-layout: fixed; }

.pf-table thead tr { background: #e0e5f0; border-bottom: 2px solid var(--pf-border2); }
.pf-table th { font-family: var(--pf-mono); font-size: 10px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--pf-text2); padding: 9px 5px; text-align: center; white-space: nowrap; font-weight: 400; overflow: hidden; }

/* Column widths */
.pf-table th:nth-child(1)  { text-align:left; padding-left:8px; width:92px;  } /* Data */
.pf-table th:nth-child(2)  { width:52px;  } /* Waga */
.pf-table th:nth-child(3)  { width:44px;  } /* Delta */
.pf-table th:nth-child(4)  { width:54px;  } /* G/L */
.pf-table th:nth-child(5)  { width:50px;  } /* od startu */
.pf-table th:nth-child(6)  { width:44px;  } /* Do 80 */
.pf-table th:nth-child(7)  { width:58px;  } /* Po gymie */
.pf-table th:nth-child(8)  { width:48px;  } /* T5d */
.pf-table th:nth-child(9)  { width:72px;  } /* Whoosh */
.pf-table th:nth-child(10) { width:36px;  } /* RSW */
.pf-table th:nth-child(11) { width:82px;  } /* Metabolic */
.pf-table th:nth-child(12) { width:90px;  } /* Fat/Lean */
.pf-table th:nth-child(13) { width:100px; } /* Lokalizacja */
.pf-table th:nth-child(14) { width:60px;  } /* Kcal */
.pf-table th:nth-child(15) { width:136px; } /* Push-ups */
.pf-table th:nth-child(16) { width:58px;  } /* Del */

.pf-table tbody tr { border-bottom: 1px solid var(--pf-border); transition: background 0.12s; position: relative; }
.pf-table tbody tr:hover { background: #fff0f0; }
.pf-table tbody tr:nth-child(even) { background: #f7f9ff; }
.pf-table tbody tr:nth-child(even):hover { background: #fff0f0; }
.pf-table tbody tr:last-child { border-bottom: none; }

.pf-table td { padding: 8px 5px; text-align: center; white-space: nowrap; font-family: var(--pf-mono); font-size: 13px; color: var(--pf-text); font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.pf-table td:first-child { text-align: left; padding-left: 8px; font-size: 12px; color: var(--pf-text2); }

.pf-td-weight { font-size: 15px; font-weight: 400; }
.pf-td-neg { color: #006644; font-weight: 400; }
.pf-td-pos { color: #aa0022; font-weight: 400; }
.pf-td-zero { color: var(--pf-text3); }
.pf-td-from-start { color: var(--pf-accent2); font-weight: 400; }

/* G/L combined column */
.pf-gl-neg { color: #006644; font-weight: 400; font-size: 13px; }
.pf-gl-pos { color: #aa0022; font-weight: 400; font-size: 13px; }

/* RSW badge */
.pf-rsw-badge { display: inline-block; width: 28px; height: 28px; border-radius: 6px; font-family: var(--pf-mono); font-size: 13px; font-weight: 400; line-height: 28px; text-align: center; }
.pf-rsw-W { background: #c0f0dc; color: #005533; border: 1px solid #70d0a8; }
.pf-rsw-R { background: #ffd0d8; color: #880011; border: 1px solid #f090a0; }
.pf-rsw-S { background: #c8deff; color: #003399; border: 1px solid #80aaee; }

/* Fat/lean chips */
.pf-fat-lean { font-size: 12px; padding: 3px 8px; border-radius: 5px; white-space: nowrap; font-weight: 400; }
.pf-fl-fat-down { background: #c0f0dc; color: #005533; border: 1px solid #70d0a8; }
.pf-fl-lean     { background: #c8deff; color: #003399; border: 1px solid #80aaee; }
.pf-fl-fat-up   { background: #ffe0d0; color: #882200; border: 1px solid #f0aa88; }
.pf-fl-neut     { background: #e8ecf4; color: #4a5070; }

/* Location badge */
.pf-loc { font-size: 11px; padding: 2px 7px; border-radius: 4px; font-weight: 400; white-space: nowrap; }
.pf-loc-home { background: #e8f4ff; color: #003388; border: 1px solid #aaccee; }
.pf-loc-gym  { background: #fff0e0; color: #884400; border: 1px solid #ddaa66; }
.pf-loc-away { background: #f0e8ff; color: #440088; border: 1px solid #bb88ee; }

/* Push-ups cell — editable inline */
.pf-pushups-input { font-family: var(--pf-mono); font-size: 14px; font-weight: 600; color: var(--pf-accent2); background: transparent; border: none; width: 74px; text-align: center; cursor: text; padding: 3px 2px; border-bottom: 2px solid var(--pf-border2); outline: none; }

.pf-pushups-input:focus { border-bottom: 2px solid var(--pf-accent2); background: #f0f6ff; border-radius: 3px; }
.pf-pushups-input:hover { border-bottom-color: var(--pf-accent2); }

.pf-whoosh-text { font-size: 12px; color: var(--pf-text2); font-weight: 400; max-width: 108px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; }

/* Delete cell */
.pf-del-cell { width: 58px; text-align: center; padding: 0 4px !important; }
.pf-btn-del { opacity: 0; pointer-events: none; background: #bb0022; border: none; color: #fff; font-size: 10px; font-family: var(--pf-mono); font-weight: 400; padding: 4px 8px; border-radius: 4px; cursor: pointer; transition: opacity 0.15s; white-space: nowrap; }
.pf-table tbody tr:hover .pf-btn-del { opacity: 1; pointer-events: auto; }
.pf-btn-del:hover { background: #880011; }

/* ── DASHBOARD ── */
.pf-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 10px; margin-bottom: 16px; }
.pf-stat-card { background: #fff; border: 1px solid var(--pf-border2); border-radius: var(--pf-radius); padding: 13px 15px; position: relative; overflow: hidden; box-shadow: var(--pf-shadow); }
.pf-stat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--pf-accent), transparent); }
.pf-stat-card.a2::before { background: linear-gradient(90deg, var(--pf-accent2), transparent); }
.pf-stat-card.a3::before { background: linear-gradient(90deg, var(--pf-accent3), transparent); }
.pf-stat-card.push::before { background: linear-gradient(90deg, #7700cc, transparent); }
.pf-stat-val { font-family: var(--pf-mono); font-size: 22px; font-weight: 400; color: var(--pf-text); line-height: 1; margin-bottom: 5px; }
.pf-stat-val .pf-unit { font-size: 13px; color: var(--pf-text3); font-weight: 400; margin-left: 2px; }
.pf-stat-label { font-size: 10px; color: var(--pf-text3); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 400; }

/* challenge card */
.pf-challenge-card { background: linear-gradient(135deg, #f0f8ff 0%, #e8f0ff 100%); border: 2px solid #aaccee; }
.pf-challenge-card::before { background: linear-gradient(90deg, #0055cc, #7700cc); }
.pf-challenge-val { font-family: var(--pf-mono); font-size: 36px; font-weight: 400; color: #0055cc; line-height: 1; }
.pf-challenge-sub { font-size: 12px; color: #4a5070; margin-top: 4px; }

/* ── CHARTS ── */
.pf-chart-wrap { background: #fff; border: 1px solid var(--pf-border2); border-radius: var(--pf-radius); padding: 16px; margin-bottom: 14px; box-shadow: var(--pf-shadow); }
.pf-chart-title { font-family: var(--pf-mono); font-size: 11px; color: var(--pf-text2); font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 12px; }
.pf-clickable { cursor: pointer; transition: box-shadow 0.15s; }
.pf-clickable:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.pf-clickable:hover .pf-chart-title { color: var(--pf-accent2); }
.pf-expand { font-size: 9px; color: var(--pf-text3); float: right; padding: 1px 5px; border: 1px solid var(--pf-border2); border-radius: 3px; }
.pf-clickable:hover .pf-expand { border-color: var(--pf-accent2); color: var(--pf-accent2); }
.pf-rsw-legend { display: flex; flex-direction: column; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--pf-border); }
.pf-rsw-row { display: flex; align-items: center; gap: 7px; }
.pf-rsw-name { font-size: 11px; color: var(--pf-text); font-weight: 400; }
.pf-rsw-desc { font-size: 10px; color: var(--pf-text3); }

/* ── MODAL ── */
.pf-modal { display: none; position: fixed; inset: 0; background: rgba(10,14,30,0.75); z-index: 99999; align-items: center; justify-content: center; padding: 20px; }
.pf-modal.open { display: flex; }
.pf-modal-inner { background: #ffffff; border: 2px solid var(--pf-border2); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); padding: 22px; width: 100%; max-width: 960px; max-height: 90vh; display: flex; flex-direction: column; gap: 14px; animation: pfModalIn 0.2s ease; }
@keyframes pfModalIn { from{transform:scale(0.96);opacity:0} to{transform:scale(1);opacity:1} }
.pf-modal-header { display: flex; align-items: center; justify-content: space-between; }
.pf-modal-title { font-family: var(--pf-mono); font-size: 13px; color: var(--pf-text2); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 400; }
.pf-modal-close { font-size: 18px; color: var(--pf-text3); background: none; border: 1px solid var(--pf-border2); cursor: pointer; padding: 3px 9px; border-radius: 4px; transition: all 0.1s; }
.pf-modal-close:hover { color: #bb0022; background: #ffd0d8; border-color: #f090a0; }
.pf-modal-canvas-wrap { position: relative; flex: 1; min-height: 380px; max-height: 65vh; }

/* ── TOAST ── */
.pf-toast { position: fixed; bottom: 24px; right: 24px; background: var(--pf-accent); color: #fff; font-family: var(--pf-mono); font-size: 13px; font-weight: 400; padding: 11px 18px; border-radius: 6px; transform: translateY(80px); opacity: 0; transition: all 0.25s; z-index: 100000; pointer-events: none; box-shadow: 0 4px 16px rgba(0,153,102,0.4); }
.pf-toast.show { transform: translateY(0); opacity: 1; }

/* ── AUTO-FILL HINT ── */
.pf-fg input[data-manual=""], .pf-fg select[data-manual=""] { border-left: 3px solid var(--pf-accent); }

@media (max-width: 640px) {
  #pistofit-app { padding: 12px; }
  .pf-kpi { flex-wrap: wrap; }
  .pf-form-grid { grid-template-columns: repeat(2,1fr); }
  .pf-stats-grid { grid-template-columns: repeat(2,1fr); }
  .pf-modal-inner { padding: 14px; }
  .pf-modal-canvas-wrap { min-height: 260px; }
}

.pf-pu-cell { display: flex; align-items: center; gap: 3px; justify-content: center; }
.pf-pushups-save { font-size: 12px; font-weight: 400; width: 22px; height: 22px; border-radius: 4px; border: 1px solid #d0d6e8; background: #e8ecf4; color: #606880; cursor: pointer; padding: 0; line-height: 1; transition: all 0.15s; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pf-pushups-save:hover { background: #009966; color: #fff; border-color: #009966; }

.pf-heatmap-wrap{display:flex;flex-direction:column;gap:3px;min-width:600px;}
.pf-heatmap-row{display:flex;align-items:center;gap:3px;}
.pf-heatmap-month{font-family:'Jost','Century Gothic',sans-serif;font-size:9px;color:#9098b0;width:28px;flex-shrink:0;text-transform:uppercase;}
.pf-hm-day{width:18px;height:18px;border-radius:3px;flex-shrink:0;cursor:default;transition:transform 0.1s;}
.pf-hm-day:hover{transform:scale(1.3);z-index:10;}
.pf-hm-empty{background:#e8ecf4;}.pf-hm-W{background:#009966;}.pf-hm-R{background:#cc1133;}.pf-hm-S{background:#0055cc;}.pf-hm-none{background:#e0e4f0;}
.pf-heatmap-legend{display:flex;gap:12px;margin-top:8px;align-items:center;flex-wrap:wrap;}
.pf-hm-leg{display:flex;align-items:center;gap:5px;font-family:'Jost','Century Gothic',sans-serif;font-size:10px;color:#2d3550;}
.pf-hm-dot{width:12px;height:12px;border-radius:2px;}
/* ── FOOTER ── */
.pf-footer{max-width:1440px;margin:0 auto;padding:18px 24px;text-align:center;font-family: 'Jost', 'Century Gothic', sans-serif;font-size:13px;font-weight:400;letter-spacing:0.08em;color:#606880;border-top:2px solid #d0d6e8;margin-top:8px;}
.pf-footer span{color:#009966;}

/* v6 inline edit */
.pf-edit-cell{text-align:center;white-space:nowrap;padding:6px 4px!important;}
.pf-kcal-inp,.pf-pu-inp{font-family:var(--pf-mono);font-size:13px;background:transparent;border:none;border-bottom:2px solid var(--pf-border2);width:50px;text-align:center;padding:3px 2px;outline:none;vertical-align:middle;margin-right:2px;}
.pf-kcal-inp{color:var(--pf-accent2);}
.pf-pu-inp{color:var(--pf-accent);}
.pf-kcal-inp:focus{border-bottom-color:var(--pf-accent2);background:#f0f6ff;border-radius:3px;}
.pf-pu-inp:focus{border-bottom-color:var(--pf-accent);background:#f0fff8;border-radius:3px;}
.pf-kcal-inp::placeholder,.pf-pu-inp::placeholder{color:var(--pf-text3);}
.pf-save-btn{font-size:11px;width:22px;height:22px;border-radius:4px;border:1px solid var(--pf-border2);background:var(--pf-surface2);color:var(--pf-text3);cursor:pointer;padding:0;line-height:22px;display:inline-block;vertical-align:middle;text-align:center;transition:all .15s;}
.pf-save-bl:hover{background:var(--pf-accent2);color:#fff;border-color:var(--pf-accent2);}
.pf-save-gr:hover{background:var(--pf-accent);color:#fff;border-color:var(--pf-accent);}
.pf-btn-saveall{font-family:var(--pf-mono);font-size:13px;letter-spacing:.07em;text-transform:uppercase;padding:10px 20px;background:var(--pf-accent2);color:#fff;border:none;border-radius:5px;cursor:pointer;transition:all .15s;margin-left:10px;}
.pf-btn-saveall:hover{background:#0044aa;transform:translateY(-1px);}
.pf-btn-saveall:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.pf-btn-bk{color:#005533!important;border-color:#70d0a8!important;}
.pf-btn-bk:hover{background:#e6fff6!important;}
.pf-btn-rst{color:#884400!important;border-color:#f0aa66!important;}
.pf-btn-rst:hover{background:#fff4e0!important;}
.pf-table{min-width:1060px!important;}
.pf-table th:nth-child(8){width:72px;}
.pf-table th:nth-child(9){width:36px;}
.pf-table th:nth-child(10){width:82px;}
.pf-table th:nth-child(11){width:90px;}
.pf-table th:nth-child(12){width:100px;}
.pf-table th:nth-child(13){width:90px;}
.pf-table th:nth-child(14){width:90px;}
.pf-table th:nth-child(15){width:58px;}

/* gym inline edit */
.pf-gym-inp{font-family:var(--pf-mono);font-size:12px;color:var(--pf-text2);background:transparent;border:none;border-bottom:2px solid var(--pf-border2);width:64px;text-align:center;padding:3px 2px;outline:none;vertical-align:middle;margin-right:2px;}
.pf-gym-inp:focus{border-bottom-color:#cc6600;background:#fff8f0;border-radius:3px;}
.pf-gym-inp:hover{border-bottom-color:#cc6600;}
.pf-save-or{font-size:11px;width:22px;height:22px;border-radius:4px;border:1px solid var(--pf-border2);background:var(--pf-surface2);color:var(--pf-text3);cursor:pointer;padding:0;line-height:22px;display:inline-block;vertical-align:middle;text-align:center;transition:all .15s;}
.pf-save-or:hover{background:#cc6600;color:#fff;border-color:#cc6600;}

/* ═══════════════════════════════════════════════
   HEALTH TAB — identyczna szata z Trackerem v7
   ═══════════════════════════════════════════════ */

/* Tab button — wyróżniony kolorem accent, reszta identyczna z .pf-tab */
.pf-tab-health { border-color: var(--pf-accent) !important; color: var(--pf-accent) !important; }
.pf-tab-health.active { background: var(--pf-accent) !important; color: #fff !important; border-color: var(--pf-accent) !important; }

/* Grid dwóch kart */
.pf-health-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

/* Karta Health — dziedziczy po .pf-form, dodaje accent-line jak .pf-stat-card::before */
.pf-health-card {
    display: flex;
    flex-direction: column;
    min-height: 320px;
    position: relative;
    overflow: hidden;
}
.pf-health-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
}
#pfCardTrening::before { background: linear-gradient(90deg, var(--pf-accent),  transparent); }
#pfCardDieta::before   { background: linear-gradient(90deg, var(--pf-accent2), transparent); }

/* Tytuły kart — bazują na .pf-form-title */
.pf-health-title-green { color: var(--pf-accent)  !important; }
.pf-health-title-blue  { color: var(--pf-accent2) !important; }

/* Treść odpowiedzi AI */
.pf-health-body {
    font-family: var(--pf-sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--pf-text2);
    flex: 1;
    margin-bottom: 14px;
    min-height: 100px;
}
.pf-health-body p            { margin: 0 0 5px; }
.pf-health-body p:last-child { margin: 0; }
.pf-health-ph { color: var(--pf-text3); font-style: italic; font-size: 13px; }

/* Spinner — reużywa animacji pfPulse z oryginału */
.pf-health-spin { display: none; margin-bottom: 10px; }

/* Przyciski — reużywają .pf-btn-add */
.pf-health-btn { width: 100%; justify-content: center; margin-top: auto; }
.pf-health-btn-blue { background: var(--pf-accent2) !important; }
.pf-health-btn-blue:hover:not(:disabled) { background: #0044aa !important; }

/* KPI Health — identyczny z .pf-kpi z headerka */
.pf-health-kpi { flex-wrap: wrap; }

@media (max-width: 640px) {
    .pf-health-grid { grid-template-columns: 1fr; }
}

/* ── HEALTH FIELDS divider w formularzu Trackera ── */
.pf-health-fields-divider {
    font-family:    var(--pf-mono);
    font-size:      11px;
    font-weight:    400;
    letter-spacing: .10em;
    text-transform: uppercase;
    color:          var(--pf-accent);
    padding:        10px 0 8px;
    border-top:     1px solid var(--pf-border);
    margin-top:     4px;
}

/* Health form — 6 równych kolumn, wyrównane */
.pf-health-form-grid {
    grid-template-columns: repeat(6, 1fr) !important;
}
@media (max-width: 900px) {
    .pf-health-form-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
    .pf-health-form-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Health form — wyrównane pola (jednakowa wysokość mimo różnych etykiet) */
.pf-health-form-grid .pf-fg {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* input zawsze na dole, etykieta góra */
}
.pf-health-form-grid .pf-fg label {
    min-height: 28px;          /* stała wysokość etykiety = pola na równym poziomie */
    display: flex;
    align-items: flex-end;
    line-height: 1.2;
}
.pf-health-form-grid .pf-fg input {
    height: 36px;              /* jednakowa wysokość inputów */
}
