
*{box-sizing:border-box}
:root{
  --bg:#edf4f8;
  --bg-soft:#f7fafc;
  --panel:#ffffff;
  --panel-2:#f9fbfd;
  --line:#dbe6ed;
  --line-strong:#c9d8e2;
  --text:#173247;
  --muted:#728696;
  --navy:#0b3859;
  --navy-2:#0f4f78;
  --blue:#2478aa;
  --blue-soft:#e8f2f8;
  --green:#208754;
  --green-soft:#eaf7ef;
  --amber:#a96e22;
  --amber-soft:#fff3e7;
  --red:#b64c43;
  --red-soft:#fff0ee;
  --shadow-sm:0 4px 14px rgba(26,62,88,.06);
  --shadow:0 10px 30px rgba(26,62,88,.08);
  --shadow-lg:0 18px 50px rgba(20,54,78,.10);
  --radius:18px;
  --radius-sm:12px;
}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;
  min-height:100%;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(36,120,170,.08), transparent 34%),
    radial-gradient(circle at top right, rgba(15,79,120,.06), transparent 30%),
    linear-gradient(180deg,#f8fbfd 0%,#edf4f8 100%);
  font-size:14px;
  letter-spacing:.001em;
}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
button{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
button:active{transform:translateY(1px)}

.app-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:78px;
  padding:12px max(22px,calc((100vw - 1500px)/2));
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(203,218,228,.9);
  backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 3px 16px rgba(19,55,79,.04);
}
.brand{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;
  color:var(--navy);
}
.brand img{
  width:78px;height:46px;object-fit:contain;
  filter:drop-shadow(0 3px 8px rgba(11,56,89,.10));
}
.brand span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#456578;
}
.header-actions{display:flex;align-items:center;gap:8px}
.save-state,.user-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 11px;border-radius:999px;
  font-size:10px;font-weight:850;
  border:1px solid transparent;
}
.save-state{background:#f1f6f9;color:#607788}
.save-state.ok{background:var(--green-soft);color:var(--green);border-color:#cde8d7}
.save-state.saving{background:var(--amber-soft);color:var(--amber);border-color:#f0ddc4}
.save-state.bad{background:var(--red-soft);color:var(--red);border-color:#efcfcb}
.user-badge{background:#edf4f8;color:#35576c;border-color:#dae6ed}

.main-nav{
  position:sticky;top:78px;z-index:45;
  display:flex;justify-content:center;gap:6px;
  padding:9px 14px;
  background:rgba(238,245,249,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
  overflow-x:auto;scrollbar-width:none;
}
.main-nav::-webkit-scrollbar{display:none}
.main-nav button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 15px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#5c7484;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.main-nav button:hover{
  background:rgba(255,255,255,.75);
  color:var(--navy);
}
.main-nav button.active{
  background:#fff;
  color:var(--navy-2);
  border-color:#d5e2ea;
  box-shadow:var(--shadow-sm);
}

.app-main{
  max-width:1500px;
  margin:0 auto;
  padding:24px 22px 72px;
}
.page-stack{display:flex;flex-direction:column;gap:18px}

.card{
  background:rgba(255,255,255,.97);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card-head{
  padding:18px 20px;
  border-bottom:1px solid #e8eef2;
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.card-head.split{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.card-head h2{
  margin:3px 0 0;
  font-size:20px;
  line-height:1.15;
  color:var(--navy);
  letter-spacing:-.01em;
}
.card-head small{color:var(--muted);font-size:9px}
.eyebrow{
  display:block;
  color:#7b92a2;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid transparent;
  border-radius:10px;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.btn.primary{
  background:linear-gradient(180deg,#2c84b7,#1f6d9b);
  color:white;
  box-shadow:0 5px 14px rgba(36,120,170,.20);
}
.btn.primary:hover{box-shadow:0 8px 18px rgba(36,120,170,.26)}
.btn.secondary{
  background:#f5f9fb;
  border-color:#cfdee7;
  color:#315d77;
}
.btn.secondary:hover{background:#edf5f9}
.btn.ghost{
  background:#fff;
  border-color:#d6e1e8;
  color:#4e6777;
}
.btn.danger-ghost{
  background:#fff8f7;
  border-color:#ecd4d0;
  color:var(--red);
}
.btn.small{min-height:33px;padding:0 10px;font-size:9px}

.icon-btn{
  display:inline-grid;place-items:center;
  width:34px;height:34px;
  border:1px solid #d7e2e9;
  border-radius:10px;
  background:#fff;
  color:#4e6979;
  font-size:18px;
  cursor:pointer;
}
.icon-btn:hover{background:#f3f8fa}
.icon-btn.danger{color:var(--red)}

.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.toolbar.end{justify-content:flex-end}
.toolbar label{
  display:flex;align-items:center;gap:7px;
  color:var(--muted);
  font-size:9px;font-weight:850;
}

input,select,textarea{
  width:100%;
  min-height:40px;
  padding:8px 11px;
  border:1px solid #cbd9e2;
  border-radius:10px;
  background:#fff;
  color:var(--text);
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
textarea{resize:vertical;line-height:1.5}
input:hover,select:hover,textarea:hover{border-color:#b8cbd7}
input:focus,select:focus,textarea:focus{
  border-color:#6aa4c6;
  box-shadow:0 0 0 3px rgba(36,120,170,.10);
}
input:disabled,select:disabled,textarea:disabled{
  background:#f1f5f7;color:#7b8992
}

.table-scroll{overflow-x:auto}
.table-scroll table{min-width:720px}
table{width:100%;border-collapse:separate;border-spacing:0}
th{
  padding:11px 13px;
  background:#f3f7fa;
  color:#4f6b7b;
  font-size:9px;
  font-weight:900;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  border-bottom:1px solid #e1e9ee;
}
td{
  padding:10px 13px;
  border-bottom:1px solid #edf2f5;
  vertical-align:middle;
  font-size:11px;
}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fbfdfe}
td input{min-width:70px}
.workout-table th:first-child,.workout-table td:first-child{min-width:240px}
.exercise-name strong,.exercise-name small{display:block}
.exercise-name strong{color:#173d59;font-size:11px}
.exercise-name small{margin-top:3px;color:var(--muted);font-size:8px}
.link-btn{
  margin-top:5px;padding:0;border:0;background:none;
  color:var(--blue);font-size:8px;font-weight:900;cursor:pointer
}

.stats{
  display:grid;gap:12px;
  padding:16px 18px;
}
.stats.three{grid-template-columns:repeat(3,1fr)}
.stats.four{grid-template-columns:repeat(4,1fr)}
.stats article{
  padding:15px 16px;
  border:1px solid #dce6ec;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdfe,#f7fafc);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.stats span{
  display:block;color:var(--muted);
  font-size:8px;font-weight:900;
  text-transform:uppercase;letter-spacing:.05em
}
.stats strong{
  display:block;margin-top:5px;
  font-size:22px;line-height:1.1;
  color:#123d61
}
.stats strong.small-value{font-size:12px}
.stats small{display:block;margin-top:4px;color:#87969f;font-size:8px}
.positive{color:var(--green)!important}.warning{color:var(--amber)!important}

.segmented{
  display:flex;gap:4px;
  padding:4px;
  border-radius:11px;
  background:#edf3f7;
  border:1px solid #e0e9ef;
}
.segmented button{
  min-width:78px;min-height:34px;
  border:0;border-radius:8px;
  background:transparent;
  color:#617988;
  font-size:9px;font-weight:900;
  cursor:pointer
}
.segmented button.active{
  background:#fff;
  color:var(--blue);
  box-shadow:0 2px 9px rgba(27,64,88,.11)
}

.chart-box{padding:12px 18px 0}
.chart-scroll{
  overflow-x:auto;
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(244,248,250,.7),rgba(255,255,255,.4));
}
.progress-svg{display:block;width:100%;min-width:720px;height:auto}
.grid-line{stroke:#e4ebf0;stroke-width:1}
.axis-label{fill:#758998;font-size:10px}
.chart-line{
  fill:none;stroke:#2477aa;stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round
}
.chart-dot{fill:#2477aa;stroke:#fff;stroke-width:2}
.insight{
  margin:12px 18px 18px;
  padding:12px 14px;
  border-radius:11px;
  background:#f2f7fa;
  color:#5e7787;
  font-size:9px;
  border:1px solid #e2ebf0
}
.trend{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  background:#f0f4f6;
  color:#667b88;
  font-size:8px;font-weight:900
}
.trend.good{background:var(--green-soft);color:var(--green)}
.trend.watch{background:var(--amber-soft);color:var(--amber)}

.workout-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding:15px 18px;
  background:#fbfdfe;
  border-bottom:1px solid #e7eef2
}
.workout-meta label{
  display:grid;gap:5px;
  color:var(--muted);font-size:8px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em
}
.unit-input{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px}
.unit-input span{color:var(--muted);font-weight:900}

.diet-summary .card-head{
  background:
    linear-gradient(135deg,rgba(36,120,170,.07),rgba(255,255,255,.85));
}
.diet-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);
  gap:18px
}
.recipe-groups{padding:12px}
.recipe-group{
  border:1px solid #dfe8ed;
  border-radius:13px;
  overflow:hidden;
  margin-bottom:10px;
  background:#fff
}
.group-head{
  display:grid;grid-template-columns:1fr auto auto;
  align-items:center;gap:10px;
  width:100%;min-height:48px;
  padding:0 14px;
  border:0;
  background:linear-gradient(180deg,#f8fbfc,#f3f7fa);
  color:#21465f;
  font-weight:900;
  text-align:left;
  cursor:pointer
}
.group-head:hover{background:#f0f6f9}
.group-head b{
  min-width:28px;padding:4px 8px;
  border-radius:999px;
  background:#e6f0f6;
  color:#3a6279;
  text-align:center;
  font-size:9px
}
.group-head i{font-style:normal;font-size:17px;color:#7891a0}
.group-body{padding:9px;background:#fff}
.recipe-card{
  padding:13px 14px;
  border:1px solid #e2eaef;
  border-radius:12px;
  margin-bottom:8px;
  background:linear-gradient(180deg,#fff,#fbfdfe);
  box-shadow:0 3px 10px rgba(25,61,86,.03)
}
.recipe-card:hover{border-color:#cedee7}
.recipe-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.recipe-top h3{margin:0;color:#173f5c;font-size:13px}
.recipe-top p{margin:4px 0 0;color:var(--muted);font-size:8px}
.recipe-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px}
.recipe-details{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin-top:11px;padding-top:11px;
  border-top:1px solid #edf1f4
}
.recipe-details strong{font-size:8px;color:#4d6879;text-transform:uppercase;letter-spacing:.04em}
.recipe-details p{margin:5px 0 0;color:#657c8a;font-size:9px;line-height:1.6}
.check{
  display:inline-flex;align-items:center;gap:6px;
  color:#5f7584;font-size:8px;font-weight:900
}
.check input{width:16px;height:16px;min-height:0;padding:0}

.shopping-card{align-self:start;position:sticky;top:137px}
.shopping-list{padding:10px 12px}
.shopping-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;gap:9px;
  padding:11px 10px;
  border-bottom:1px solid #e8eef2
}
.shopping-item:last-child{border-bottom:0}
.shopping-item.checked{opacity:.55}
.shopping-meta{text-align:right}
.shopping-meta span,.shopping-meta small{display:block;color:var(--muted);font-size:8px}
.shopping-meta strong{display:block;margin:2px 0;color:#234d68;font-size:11px}
.shopping-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;
  border-top:1px solid #dfe8ee;
  background:linear-gradient(180deg,#fbfdfe,#f5f9fb)
}
.shopping-total span{font-size:9px;font-weight:900;text-transform:uppercase;color:#607989}
.shopping-total strong{font-size:18px;color:#173e5a}

.empty{
  padding:48px 20px;
  text-align:center;color:#778c99;font-size:10px
}
.empty.compact{padding:18px}
.empty.error{color:var(--red)}

.admin-tabs{
  display:flex;gap:6px;
  padding:10px 12px;
  border-bottom:1px solid #e5edf2;
  overflow-x:auto;
  background:#fbfdfe
}
.admin-tabs button{
  flex:0 0 auto;min-height:36px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:9px;
  background:#f1f6f9;
  color:#587181;
  font-size:8px;font-weight:900;cursor:pointer
}
.admin-tabs button.active{
  background:#fff;color:#185b83;border-color:#d4e2ea;
  box-shadow:var(--shadow-sm)
}
.admin-pad{padding:16px}
.simple-list{display:grid;gap:7px}
.simple-list>div{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 13px;
  border:1px solid #e0e8ed;
  border-radius:10px;
  background:#fbfdfe
}
.simple-list span,.simple-list small{color:var(--muted);font-size:8px}

.admin-plan-block{
  padding:14px 0;
  border-bottom:1px solid #e5edf2
}
.admin-plan-block h3{margin:0 0 9px;color:#21465f}
.plan-row,.price-row,.user-row{
  display:grid;grid-template-columns:minmax(170px,1fr) minmax(110px,.45fr) auto;
  gap:7px;align-items:center;margin-bottom:7px
}
.price-row{grid-template-columns:minmax(160px,1fr) 90px auto 70px 85px auto auto}
.user-row{grid-template-columns:minmax(150px,1fr) 150px 110px auto}
.inline-form{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  margin-bottom:16px;padding:12px;border:1px solid #e0e8ed;
  border-radius:12px;background:#f9fbfd
}
.inline-form input,.inline-form select{width:auto;min-width:120px}
.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.action-card{
  padding:17px;
  border:1px solid #dfe7ec;
  border-radius:13px;
  background:linear-gradient(180deg,#fff,#f9fbfd)
}
.action-card h3{margin:0;font-size:13px;color:#173e5b}
.action-card p{color:var(--muted);font-size:8px;line-height:1.6}

.training-mode{display:grid;gap:10px}
.training-mode article{
  padding:15px;
  border:1px solid #dfe8ed;
  border-radius:12px;
  background:#fbfdfe
}
.training-mode h3{margin:3px 0;color:#173e5b}
.training-mode p{margin:0;color:var(--muted)}
.mini-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mini-grid b{
  padding:7px 9px;
  border-radius:8px;
  background:#eef4f7;
  font-size:9px;
  color:#355a70
}

.modal-backdrop{
  position:fixed;inset:0;z-index:100;
  background:rgba(9,34,50,.46);
  display:grid;place-items:center;
  padding:18px;
  backdrop-filter:blur(4px)
}
.modal-card{
  width:min(780px,100%);
  max-height:90vh;overflow:auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 75px rgba(7,29,44,.30);
  border:1px solid rgba(255,255,255,.8)
}
.modal-card>header{
  position:sticky;top:0;z-index:1;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #e0e8ed
}
.modal-card h2{margin:0;font-size:16px;color:#173e5b}
.modal-body{padding:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.form-grid label{
  display:grid;gap:5px;
  color:var(--muted);
  font-size:8px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em
}
.form-grid .wide{grid-column:1/-1}
.form-actions{display:flex;justify-content:flex-end;gap:8px}

.toast{
  position:fixed;right:18px;bottom:18px;z-index:120;
  padding:11px 14px;
  border-radius:11px;
  background:#173f5b;color:#fff;
  box-shadow:0 12px 34px rgba(12,39,57,.24);
  font-size:9px;font-weight:900
}
.toast.bad{background:#a4453f}

@media(max-width:1100px){
  .diet-layout{grid-template-columns:1fr}
  .shopping-card{position:static}
  .backup-grid{grid-template-columns:1fr}
  .plan-row,.price-row,.user-row{grid-template-columns:1fr 1fr}
  .stats.four{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{font-size:16px}
  .app-header{
    position:static;
    min-height:auto;
    padding:8px 10px
  }
  .brand span{display:none}
  .brand img{width:64px;height:40px}
  .header-actions{gap:5px}
  .user-badge{display:none}
  .save-state{font-size:8px;min-height:31px}
  .main-nav{
    top:0;
    justify-content:flex-start;
    padding:7px 8px
  }
  .main-nav button{min-height:42px;padding:0 12px}
  .app-main{padding:12px 10px 54px}
  .page-stack{gap:12px}
  .card{border-radius:15px}
  .card-head{padding:15px}
  .card-head.split{align-items:flex-start;flex-direction:column}
  .stats.three,.stats.four{grid-template-columns:1fr}
  .workout-meta{grid-template-columns:1fr}
  .recipe-details{grid-template-columns:1fr}
  .shopping-item{grid-template-columns:minmax(0,1fr) auto}
  .shopping-item>.icon-btn{grid-column:2}
  .form-grid{grid-template-columns:1fr}
  .form-grid .wide{grid-column:auto}
  .plan-row,.price-row,.user-row{grid-template-columns:1fr}
  .inline-form{align-items:stretch;flex-direction:column}
  .inline-form input,.inline-form select{width:100%}
  .segmented{width:100%}
  .segmented button{flex:1;min-width:0}
  .progress-svg{min-width:620px}
  .modal-backdrop{padding:8px}
  .modal-card{border-radius:14px}
}

body.pdf-open{overflow:hidden!important}.pdf-viewer{position:fixed;inset:0;z-index:250;display:flex;flex-direction:column;background:#dfe8ee}.pdf-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;background:#fff;border-bottom:1px solid #d5e1e8}.pdf-viewer-bar>strong{color:#173e5b}.pdf-viewer-actions{display:flex;gap:6px;flex-wrap:wrap}.pdf-viewer-frame{display:block;flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff}.pdf-mobile-note{display:none;padding:8px 10px;background:#fff8e9;color:#76663b;font-size:9px}@media(max-width:700px){.pdf-viewer-bar{align-items:stretch;flex-direction:column}.pdf-viewer-actions{display:grid;grid-template-columns:1fr 1fr}.pdf-viewer-actions .btn{width:100%;min-height:40px}.pdf-mobile-note{display:block}}


/* V7.3 — bezpieczny podgląd przepisów na iPhone/Android */
html.recipe-preview-open,
body.recipe-preview-open{
  overflow:hidden!important;
}

.recipe-print-preview{
  position:fixed;
  inset:0;
  z-index:220;
  overflow:auto;
  background:#edf4f8;
  -webkit-overflow-scrolling:touch;
}

.recipe-print-toolbar{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:66px;
  padding:max(10px,env(safe-area-inset-top)) 14px 10px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #d6e1e8;
  box-shadow:0 4px 16px rgba(24,58,80,.08);
  backdrop-filter:blur(12px);
}

.recipe-print-toolbar-title strong{
  display:block;
  color:#173e5b;
  font-size:13px;
}

.recipe-print-toolbar-title span{
  display:block;
  margin-top:2px;
  color:#7b8e9a;
  font-size:8px;
}

.recipe-print-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}

.recipe-print-page{
  width:min(940px,calc(100% - 24px));
  margin:18px auto 40px;
  padding:34px;
  background:#fff;
  border:1px solid #dbe5eb;
  border-radius:16px;
  box-shadow:0 14px 40px rgba(24,58,80,.08);
}

.recipe-print-title{
  padding-bottom:20px;
  margin-bottom:18px;
  border-bottom:2px solid #163e5b;
}

.recipe-print-title span{
  color:#6f8492;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.recipe-print-title h1{
  margin:5px 0 0;
  color:#163e5b;
  font-size:26px;
}

.recipe-print-title p{
  margin:5px 0 0;
  color:#7a8c98;
  font-size:10px;
}

.recipe-print-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid #e4ebef;
  break-inside:avoid;
  page-break-inside:avoid;
}

.recipe-print-card:last-child{
  border-bottom:0;
}

.recipe-print-number{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:#eaf3f8;
  color:#1e668f;
  font-size:11px;
  font-weight:900;
}

.recipe-print-content h2{
  margin:0;
  color:#173e5b;
  font-size:17px;
}

.recipe-print-macros{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}

.recipe-print-macros span{
  padding:6px 8px;
  border-radius:8px;
  background:#f2f7fa;
  color:#536e7e;
  font-size:9px;
}

.recipe-print-macros b{
  color:#153d5a;
}

.recipe-print-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:14px;
}

.recipe-print-grid h3{
  margin:0 0 5px;
  color:#617989;
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.recipe-print-grid p{
  margin:0;
  color:#344f60;
  font-size:10px;
  line-height:1.65;
}

@media(max-width:700px){
  .recipe-print-toolbar{
    align-items:flex-start;
    flex-direction:column;
    padding-left:10px;
    padding-right:10px;
  }

  .recipe-print-toolbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .recipe-print-toolbar-actions .btn{
    width:100%;
    min-height:42px;
  }

  .recipe-print-toolbar-actions [data-preview-back]{
    grid-column:1/-1;
  }

  .recipe-print-page{
    width:100%;
    margin:0;
    padding:18px 14px 36px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }

  .recipe-print-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media print{
  body>*:not(#recipePrintPreview){
    display:none!important;
  }

  html,body{
    background:#fff!important;
    overflow:visible!important;
  }

  .recipe-print-preview{
    position:static!important;
    overflow:visible!important;
    background:#fff!important;
  }

  .recipe-print-toolbar{
    display:none!important;
  }

  .recipe-print-page{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .recipe-print-card{
    break-inside:avoid;
    page-break-inside:avoid;
  }
}

/* V7.4 */
.history-summary,.goals-grid,.records-grid,.backup-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}
.history-summary article,.goal-card,.records-grid article,.backup-status-grid article{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.history-summary span,.goal-card span,.records-grid span,.backup-status-grid span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.history-summary strong,.goal-card strong,.records-grid strong,.backup-status-grid strong{display:block;margin-top:5px;color:var(--navy);font-size:17px}
.history-chart-box{padding:10px;border:1px solid var(--line);border-radius:12px;margin:0 14px 14px;overflow:auto}.history-chart{display:block;width:100%;min-width:520px}.history-line{fill:none;stroke:var(--blue);stroke-width:3}.history-dot{fill:var(--blue);stroke:#fff;stroke-width:2}.history-label{fill:var(--muted);font-size:10px}
.goals-grid{grid-template-columns:repeat(4,1fr)}.goal-bar,.macro-bar{height:7px;margin-top:9px;border-radius:999px;background:#e7eef3;overflow:hidden}.goal-bar i,.macro-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2a83b6,#49a0c9)}.goal-card small{display:block;margin-top:6px;color:var(--muted);font-size:8px}
.progress-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.period-grid article{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.period-grid>article>span{display:block;margin-bottom:8px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.period-grid article div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #e7eef2}.period-grid article div b{font-size:8px;color:var(--muted)}.period-grid article div strong{font-size:10px;color:var(--navy)}
.records-grid{grid-template-columns:repeat(2,1fr)}.records-grid article small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.nutrition-goal-stat .macro-bar{margin-top:8px}
.section-title{margin:18px 0 8px;color:var(--navy);font-size:13px}.price-history{display:grid;gap:6px}.price-history>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}.price-history span{font-weight:800}.price-history strong{font-size:10px;color:var(--navy)}.price-history small{font-size:8px;color:var(--muted)}
.backup-status-grid{grid-template-columns:repeat(4,1fr);padding:0;margin-bottom:12px}.backup-status-grid .small-file{font-size:10px;word-break:break-word}.backup-now-row{margin-bottom:14px}
@media(max-width:1000px){.goals-grid{grid-template-columns:1fr 1fr}.progress-two-col{grid-template-columns:1fr}.backup-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.history-summary,.goals-grid,.records-grid,.backup-status-grid,.period-grid{grid-template-columns:1fr}.price-history>div{grid-template-columns:1fr}}

/* V7.4.2 — Pomiary: przycisk Wyczyść cały tydzień */
.measure-date-cell{
  display:grid;
  grid-template-columns:minmax(145px,1fr) auto;
  gap:7px;
  align-items:center;
  min-width:0;
}
.measure-date-cell input[type="date"]{
  min-width:145px;
}
.measure-clear-btn{
  min-width:72px;
  white-space:nowrap;
}
@media(max-width:700px){
  .measure-date-cell{
    grid-template-columns:1fr;
    gap:6px;
  }
  .measure-date-cell input[type="date"]{
    min-width:160px;
    min-height:44px;
    font-size:16px;
  }
  .measure-clear-btn{
    width:100%;
    min-height:40px;
  }
}

/* V7.5 — baza produktów + automatyczne liczenie przepisu */
.recipe-per-serving{display:block;margin-top:4px;color:var(--blue);font-size:8px;font-weight:800}
.recipe-auto-form{display:flex;flex-direction:column;gap:14px}.recipe-basic-grid{margin:0}
.recipe-builder,.recipe-live-summary{border:1px solid var(--line);border-radius:14px;background:#fbfdfe;overflow:hidden}
.recipe-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}
.recipe-builder-head span,.recipe-summary-title span,.product-db-intro span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em}.recipe-builder-head p,.product-db-intro p{margin:4px 0 0;color:var(--muted);font-size:9px}
#ingredientRows{padding:10px}.ingredient-row{display:grid;grid-template-columns:minmax(190px,1.3fr) 95px 90px minmax(220px,1.4fr) 34px;gap:7px;align-items:end;padding:9px;border:1px solid #e1e9ee;border-radius:11px;background:#fff;margin-bottom:7px}.ingredient-row label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.ingredient-product-info{align-self:center;color:#607989;font-size:8px;line-height:1.4}.ingredient-product-info.missing{color:var(--red)}
.recipe-summary-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px 0}.recipe-summary-title small{color:var(--muted);font-size:8px}.recipe-live-stats{padding-top:10px}.recipe-cost-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px 13px}.recipe-cost-summary>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.recipe-cost-summary span{display:block;color:var(--muted);font-size:8px}.recipe-cost-summary strong{display:block;margin-top:4px;color:var(--navy);font-size:14px}.recipe-warnings{padding:0 14px 13px}.recipe-warnings div{margin-top:5px;padding:8px 10px;border-radius:9px;background:var(--amber-soft);color:var(--amber);font-size:8px}.recipe-instructions-label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.product-db-intro{padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,var(--blue-soft),#fff)}.product-db-intro h3{margin:3px 0 0;color:var(--navy);font-size:16px}.product-editor-card,.product-db-card{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:10px}.product-editor-card{background:#f9fbfd}.product-editor-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px}.product-editor-grid label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.product-editor-card .form-actions,.product-db-actions{margin-top:10px;display:flex;justify-content:flex-end}.product-db-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #e6edf1}.product-db-card-head strong{display:block;color:var(--navy);font-size:12px}.product-db-card-head small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
@media(max-width:1100px){.product-editor-grid{grid-template-columns:repeat(3,1fr)}.ingredient-row{grid-template-columns:minmax(180px,1fr) 90px 85px 34px}.ingredient-product-info{grid-column:1/-1;grid-row:2}}
@media(max-width:700px){.ingredient-row{grid-template-columns:1fr 90px 80px 34px;padding:8px}.ingredient-row>label:first-child{grid-column:1/-1}.ingredient-product-info{grid-column:1/-1}.recipe-cost-summary{grid-template-columns:1fr}.recipe-builder-head{flex-direction:column}.recipe-builder-head .btn{width:100%}.product-editor-grid{grid-template-columns:1fr 1fr}.product-db-card-head{flex-direction:column}}
@media(max-width:430px){.product-editor-grid{grid-template-columns:1fr}}

/* V7.6 — Open Food Facts */



/* SALA V8.0 — telefon */
.workout-date-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scope-hint,.scope-modal-note{margin:8px 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f7fafc;color:var(--muted);font-size:10px}
@media(max-width:820px){
  input,select,textarea{font-size:16px !important}
  .workout-table input,.workout-table select{font-size:16px !important;min-height:42px}
  .workout-date-control{display:grid;grid-template-columns:1fr auto}
  .workout-date-control input{min-width:0;width:100%}
  .admin-plan-toolbar{align-items:end}
  .admin-plan-toolbar label{min-width:145px;flex:1}
}

/* SALA V8.1 — zatwierdzanie tygodni i historia treningu */
.history-list{display:grid;gap:14px;padding:0 18px 18px}
.history-week{border:1px solid var(--line,#dce8ef);border-radius:16px;overflow:hidden;background:#fff}
.history-week>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-weight:800;list-style:none}
.history-week>summary::-webkit-details-marker{display:none}
.history-week>summary small{font-size:12px;font-weight:600;opacity:.6}
.history-week-body{padding:0 16px 16px}
.history-workout{margin:12px 0 18px}
.history-workout-head{display:flex;justify-content:space-between;margin-bottom:8px}
.history-workout-head strong{display:block}
.history-workout-head small{display:block;margin-top:3px;opacity:.65}
.history-table td:first-child small{display:block;margin-top:3px;opacity:.65}
.all-weeks-done{font-size:13px;font-weight:700}
@media(max-width:820px){
  .history-list{padding:0 10px 12px}
  .history-week>summary{padding:14px}
  .history-week-body{padding:0 10px 12px}
  .toolbar [data-complete-week]{width:100%}
}

/* SALA V8.1.3 — czytelne, zwijane zatwierdzone tygodnie */
.history-chevron{display:inline-block;margin-left:7px;transition:transform .18s ease;font-size:20px;line-height:12px;vertical-align:-2px}
.history-week[open] .history-chevron{transform:rotate(90deg)}
.history-week>summary:active{opacity:.72}
