/* Generated by tools/build_layout_assets.py; preserve source order. */
/* Source: assets/beta29.css */
.beta29-template{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:14px 0 20px}.beta29-template label{display:grid;gap:8px;flex:1 1 150px;min-width:0}.beta29-template input,.beta29-template select{width:100%;min-width:0}.beta29-template .btn{min-height:44px}.mobile-dock{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:600px){.beta29-template label{flex-basis:100%}}
.beta29-archive article{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line,#29313b)}
.beta146-pp-metrics.metric-grid:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.beta146-pp-metrics.metric-grid:has(>:nth-child(3):last-child){grid-template-columns:1fr}}

/* Source: assets/beta31.css */
.beta29-template .beta31-target[hidden]{display:none}
.beta31-stopwatch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;margin:0 0 20px;border:1px solid var(--line,#303746);border-radius:14px;background:var(--panel,#141923)}
.beta31-stopwatch strong{font-size:clamp(24px,3vw,34px);font-variant-numeric:tabular-nums;color:var(--accent,#83abff)}
form.beta31-food-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;border:1px solid var(--line,#303746);border-radius:14px;background:rgba(0,0,0,.12)}
.beta31-food-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) auto;align-items:center;gap:12px;flex:0 0 100%;min-width:0}
.beta31-food-filters input,.beta31-food-filters select{width:100%;min-width:0}
form.beta31-food-form select[name=food_id]{flex:1 1 300px;min-width:0;max-width:100%}
form.beta31-food-form input[name=amount_value]{width:90px;flex:0 1 90px;min-width:0}
form.beta31-food-form .nutrition-live-preview{flex:0 0 100%;font-size:14px;line-height:1.5}
.beta31-food-count{color:var(--muted,#9ba7b9);white-space:nowrap}
form.beta31-food-form .beta16-food-picker{display:grid;grid-template-columns:minmax(0,1fr) 44px;flex:1 1 400px;min-width:0;max-width:100%;gap:8px}
form.beta31-food-form .beta16-food-picker>select{grid-column:auto;width:100%;min-width:0}
form.beta31-food-form>select[name=meal_id]{width:auto;flex:0 1 140px}
form.beta31-food-form>select[name=amount_unit]{width:auto;flex:0 1 100px}
@media(max-width:600px){.beta31-food-filters{grid-template-columns:minmax(0,1fr)}form.beta31-food-form{padding:12px;gap:10px}form.beta31-food-form select[name=food_id]{flex-basis:calc(100% - 60px)}.beta31-stopwatch{padding:14px}}

/* Source: assets/beta32.css */
/* Beta 3.2: progress charts stay inside their own cards at every viewport width. */
.beta32-progress-page,
.beta32-progress-page > *,
.beta32-progress-page .panel,
.beta32-progress-page .beta13-section-head,
.beta32-progress-page .beta13-section-head > *{box-sizing:border-box;min-width:0;max-width:100%}
.beta32-progress-page{width:100%;overflow:clip}
.beta32-progress-page .beta13-component-charts{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.beta32-progress-page .beta13-component-charts>.panel{width:100%;overflow:hidden}
.beta32-progress-page .beta13-combined-chart,
.beta32-progress-page .beta13-mini-chart{width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.beta32-progress-page .beta13-combined-chart article{flex:0 0 62px;min-width:62px}
.beta32-progress-page .beta13-mini-chart article{flex:0 0 35px;min-width:35px}
.beta32-progress-page .beta13-section-head small{overflow-wrap:anywhere}

@media(min-width:1001px){
 .beta32-progress-page .beta13-combined-chart article{flex-basis:86px;min-width:86px}
 .beta32-progress-page .beta13-mini-chart article{flex-basis:52px;min-width:52px}
}
@media(max-width:1000px){
 .beta32-progress-page .beta13-component-charts{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 .beta32-progress-page{overflow:visible}
 .beta32-progress-page .beta13-score-chart,
 .beta32-progress-page .beta13-component-charts>.panel{padding-left:16px;padding-right:16px}
 .beta32-progress-page .beta13-combined-chart{padding-bottom:8px}
 .beta32-progress-page .beta13-combined-chart article{flex-basis:62px}
 .beta32-progress-page .beta13-mini-chart article{flex-basis:42px;min-width:42px}
}
@media print{
 .beta32-progress-page{overflow:visible}
 .beta32-progress-page .beta13-combined-chart,
 .beta32-progress-page .beta13-mini-chart{overflow:visible}
}

/* Source: assets/beta33.css */
@media(max-width:900px){
  .mobile-dock{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mobile-dock a[data-route=zikr]{color:#e7bd5b}
  .mobile-dock a[data-route=zikr].active{color:#ffd978;background:rgba(231,189,91,.12)}
}
@media(max-width:420px){
  .mobile-dock{inset-inline:5px;padding-inline:4px}
  .mobile-dock a{padding-inline:1px}
  .mobile-dock small{font-size:7.5px;letter-spacing:-.02em}
}

/* Source: assets/beta34.css */
/* Beta 3.4 — Ruhun Uyanışı, dinlenme günü, kaza namazı DP ve Challenge günlüğü. */

/* --- Ortak ilerleme çubuğu --- */
.zikr-progress{height:8px;border-radius:99px;background:#1b212b;border:1px solid var(--line);overflow:hidden;margin:0 0 20px}
.zikr-progress>i{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .3s ease}

/* --- Zikir Ayarları --- */
.zikr-settings{margin:0 0 20px}
.zikr-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;flex-wrap:wrap}
.zikr-settings>summary::-webkit-details-marker{display:none}
.zikr-settings-title{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--accent)}
.zikr-settings>summary small{color:var(--muted);font-size:12px}
.zikr-settings-note{margin:16px 0 20px;font-size:13px;line-height:1.7;color:var(--muted)}
.zikr-settings-form{display:grid;gap:14px}
.zikr-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0f141c}
.zikr-settings-word{font-size:18px;line-height:1.9;min-width:0;overflow-wrap:anywhere}
.zikr-settings-dp{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--accent);white-space:nowrap}
.zikr-settings-input{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zikr-settings-input input{width:92px;padding:10px 12px;border-radius:9px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:15px;font-weight:700}
.zikr-settings-input small{color:var(--muted);font-size:12px}

/* --- Görev kartları --- */
.beta25-goal{margin:0 0 14px;font-size:13px;color:var(--muted)}
.beta25-task.is-done{opacity:.86}

/* --- Dinlenme günü --- */
/* Beta 3.9: panel layout() tarafindan antrenman secme panelinin ONUNE eklenir;
   alt bosluk olmadan iki panel bitisik goruntuleniyordu. */
.rest-day-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.rest-day-panel.is-rest{border-color:var(--ok)}
.rest-day-head{display:grid;gap:4px;min-width:0}
.rest-day-head strong{font-size:16px;line-height:1.5}
.rest-day-head small{color:var(--muted);font-size:12px;line-height:1.6}
.rest-day-panel.is-rest .rest-day-head strong{color:var(--ok)}
.rest-day-note{margin:0;font-size:13px;color:var(--muted);max-width:42ch}

/* --- Kaza namazı günlük özeti --- */
.makeup-dp-summary{margin:0 0 20px}
.makeup-dp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 16px}
.makeup-dp-head strong{display:block;font-size:20px;line-height:1.4}
.makeup-dp-head small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:4px}
.makeup-dp-score{font-size:28px;font-weight:800;color:var(--accent);white-space:nowrap}
.makeup-dp-score small{font-size:12px;margin-left:4px;color:var(--muted)}
.makeup-dp-list{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.makeup-dp-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#0f141c;font-size:14px}
.makeup-dp-list li.is-done{border-color:var(--ok)}
.makeup-dp-list li.is-done b{color:var(--ok)}
.makeup-dp-list li.is-optional{border-style:dashed}
.makeup-dp-list li small{color:var(--muted);font-size:11px}
.makeup-dp-bonus{margin:0;font-size:13px;color:var(--muted);line-height:1.7}
.makeup-dp-bonus.is-earned{color:var(--ok)}

/* --- Challenge günlüğü --- */
.challenge-journal{display:grid;gap:20px}
.journal-head h2{margin:6px 0 8px;font-size:20px}
.journal-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.journal-daystrip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.journal-day{flex:0 0 auto;display:grid;justify-items:center;gap:4px;min-width:60px;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:#0f141c;color:var(--muted);text-decoration:none;font-size:12px;font-weight:700}
.journal-day i{font-style:normal;font-size:10px;line-height:1}
.journal-day.has-entry{color:var(--text)}
.journal-day.has-entry i{color:var(--accent)}
.journal-day.is-selected{border-color:var(--accent);background:var(--glow);color:var(--text)}
.journal-editor h3{margin:0 0 14px;font-size:15px;letter-spacing:.02em}
.journal-form{display:grid;gap:14px}
.journal-form label{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);min-width:0}
.journal-form textarea,.journal-form input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:15px;font-family:inherit;line-height:1.6}
.journal-form textarea{resize:vertical;min-height:84px}
.journal-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.journal-actions{display:flex;gap:10px;flex-wrap:wrap}
.journal-hint{color:var(--muted);font-size:12px;line-height:1.6}
.journal-archive{border-top:1px solid var(--line);padding-top:16px}
.journal-archive>summary{cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--accent)}
.journal-list{display:grid;gap:12px;margin-top:16px}
.journal-list article{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0f141c;justify-items:start}
.journal-list time{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.journal-meta{font-size:13px;color:var(--accent);font-weight:700}
.journal-list p{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}

/* --- Dar ekranlar --- */
@media (max-width:640px){
  .rest-day-panel{align-items:stretch}
  .rest-day-panel form,.rest-day-panel .btn{width:100%}
  .makeup-dp-head{flex-direction:column;gap:10px}
  .makeup-dp-score{font-size:24px}
  .zikr-settings-row{grid-template-columns:minmax(0,1fr) auto}
  .journal-actions .btn{flex:1 1 auto}
}

/* Beta 3.7 — yeni Esma-i Hüsna zikirleri için kart renkleri */
.beta25-task.ya_qawiyy{--zikr-tone:#7fd1c4;--zikr-shade:#16322e}
.beta25-task.ya_hayy{--zikr-tone:#9db8ff;--zikr-shade:#1d2540}
.beta25-task.ya_matin{--zikr-tone:#e0a6f0;--zikr-shade:#33203c}

/* Beta 3.8 — Nuh ve Şuayb salâtları */
.beta25-task.salat_nuh{--zikr-tone:#8ad6a8;--zikr-shade:#17301f}
.beta25-task.salat_shuayb{--zikr-tone:#f0c88a;--zikr-shade:#33291a}
/* Beta 3.8 — Tövbe */
.beta25-task.tawba_yunus{--zikr-tone:#c9b6ff;--zikr-shade:#221c3a}

/* Source: assets/beta35.css */
/* Beta 3.5 — diyet sayfası ve besin seçici. */

/* --- Makro özeti --- */
.nutrition35-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:0 0 20px}
.nutrition35-macro{display:grid;gap:8px;min-width:0}
.nutrition35-macro-label{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--muted)}
.nutrition35-macro strong{font-size:24px;line-height:1.2;font-weight:800}
.nutrition35-macro strong small{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:4px}
.nutrition35-bar{height:6px;border-radius:99px;background:#1b212b;border:1px solid var(--line);overflow:hidden}
.nutrition35-bar>i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}
.nutrition35-macro.is-over .nutrition35-bar>i{background:var(--danger)}
.nutrition35-macro.is-over strong{color:var(--danger)}

/* --- Hızlı planlama --- */
.nutrition35-tools{margin:0 0 20px}
.nutrition35-tool-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* --- Öğün kartları --- */
.nutrition35-meals{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:0 0 20px}
.nutrition35-meal{display:grid;gap:14px;align-content:start;min-width:0}
.nutrition35-meal>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.nutrition35-meal h3{margin:0;font-size:17px}
.nutrition35-meal-total{font-size:13px;font-weight:800;color:var(--accent);white-space:nowrap}
.nutrition35-entries{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.nutrition35-entries li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#0f141c}
.nutrition35-entry-name{min-width:0;font-size:14px;overflow-wrap:anywhere}
.nutrition35-entry-name small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nutrition35-entries b{font-size:13px;white-space:nowrap}
.nutrition35-remove{margin:0}
.nutrition35-meal-macros{margin:0;font-size:12px;color:var(--muted)}
.nutrition35-empty{margin:0;font-size:13px;color:var(--muted)}
.nutrition35-meal-actions{display:grid;gap:10px}
.nutrition35-add-btn{width:100%}
.save-meal-template{display:flex;gap:8px;flex-wrap:wrap}
.save-meal-template input{flex:1 1 140px;min-width:0;padding:10px 12px;border-radius:9px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:14px}

/* --- Kütüphane özeti --- */
.nutrition35-library{display:grid;gap:16px}
.nutrition35-library-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nutrition35-library-head h2{margin:6px 0 0;font-size:20px}
.nutrition35-fav-title{margin:0;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--muted)}
.nutrition35-fav-list{display:flex;gap:8px;flex-wrap:wrap}
.nutrition35-fav{padding:9px 13px;border-radius:99px;border:1px solid var(--line);background:#0f141c;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}
.nutrition35-fav:hover{border-color:var(--accent)}
.nutrition35-newfood>summary{cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--accent)}

/* JS açıkken klasik form gizlenir; kapalıyken görünür kalır. */
.nutrition35-add-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end;margin:0 0 20px}
.nutrition35-add-form.b35-enhanced{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nutrition35-field{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);min-width:0}
.nutrition35-field select,.nutrition35-field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:15px}

/* --- Besin seçici --- */
body.b35-locked{overflow:hidden}
.b35-overlay{position:fixed;inset:0;z-index:90;background:rgba(4,6,9,.72);display:flex;align-items:flex-end;justify-content:center;padding:0}
/* display:flex, [hidden] varsayilanini ezer; kapali kaplama tiklamalari yutardi. */
.b35-overlay[hidden]{display:none}
.b35-sheet{width:min(680px,100%);max-height:92vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -14px 48px #0009;overflow:hidden}
/* Basliki, arama ve kategori seridi ASLA sikismamali. Flex sutununda
 * varsayilan flex-shrink:1 oldugu icin uzun sonuc listesi bu satirlari
 * eziyor ve kategori sekmeleri yaridan kesiliyordu. */
.b35-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}
.b35-head strong{font-size:15px;min-width:0;overflow-wrap:anywhere}
.b35-close{width:36px;height:36px;flex:0 0 auto;border-radius:10px;border:1px solid var(--line);background:#0f141c;color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.b35-searchrow{flex:0 0 auto;padding:14px 20px 10px}
.b35-search{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:16px}
.b35-chips{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:50px;overflow-x:auto;overflow-y:hidden;padding:0 20px 12px;scrollbar-width:thin;overscroll-behavior-x:contain}
.b35-chip{flex:0 0 auto;padding:8px 13px;border-radius:99px;border:1px solid var(--line);background:#0f141c;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.b35-chip.is-active{border-color:var(--accent);color:var(--text);background:var(--glow)}
/* Serit saga dogru devam ediyorsa sag kenar soluklasir; sona gelince kalkar. */
.b35-chips.is-scrollable{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 34px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 34px),transparent 100%)}
.b35-chips.is-scrollable.at-start{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%)}
.b35-chips.is-scrollable.at-end{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 34px,#000 100%);mask-image:linear-gradient(to right,transparent 0,#000 34px,#000 100%)}
.b35-results{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 20px;display:grid;gap:8px;align-content:start;-webkit-overflow-scrolling:touch}
.b35-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#0f141c;color:var(--text);text-align:left;cursor:pointer;font-size:14px}
.b35-row:hover{border-color:var(--accent)}
.b35-row-name{min-width:0;overflow-wrap:anywhere}
.b35-row-name small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.b35-row b{white-space:nowrap;font-size:13px;color:var(--muted);font-weight:700}
.b35-row b small{font-size:11px;font-weight:500}
.b35-empty{margin:12px 0;color:var(--muted);font-size:13px;line-height:1.7}
.b35-selected{flex:0 0 auto;max-height:58vh;overflow-y:auto;border-top:1px solid var(--line);padding:16px 20px 20px;background:var(--surface2);display:grid;gap:12px}
.b35-chosen{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.b35-chosen strong{font-size:16px;overflow-wrap:anywhere}
.b35-chosen small{color:var(--muted);font-size:12px;white-space:nowrap}
.b35-portion-title{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.b35-portions{display:flex;gap:8px;flex-wrap:wrap}
.b35-portion{padding:10px 13px;border-radius:11px;border:1px solid var(--line);background:#0f141c;color:var(--text);font-size:13px;font-weight:700;cursor:pointer;text-align:left;line-height:1.3}
.b35-portion small{display:block;font-weight:500;color:var(--muted);font-size:11px;margin-top:2px}
.b35-portion.is-active{border-color:var(--accent);background:var(--glow)}
.b35-grams{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.b35-grams input{width:100%;padding:13px 15px;border-radius:11px;border:1px solid #424a55;background:#151a20;color:#fff;font-size:17px;font-weight:700}
.b35-preview{margin:0;font-size:13px;color:var(--accent);font-weight:600}
.b35-confirm{width:100%}

/* --- Kütüphane onarımı --- */
.food-repair>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;flex-wrap:wrap}
.food-repair>summary::-webkit-details-marker{display:none}
.food-repair-title{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--accent)}
.food-repair>summary small{color:var(--muted);font-size:12px}
.food-repair-note{margin:16px 0;font-size:13px;line-height:1.7;color:var(--muted)}
.food-repair-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.food-repair-grid span{display:inline-flex;align-items:baseline;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:#0f141c;font-size:12px;color:var(--muted)}
.food-repair-grid b{color:var(--text);font-size:13px}

@media (min-width:720px){
  .b35-overlay{align-items:center;padding:24px}
  .b35-sheet{border-radius:20px;max-height:86vh}
}
@media (max-width:640px){
  .nutrition35-macro strong{font-size:20px}
  .nutrition35-meals{grid-template-columns:1fr}
  .b35-sheet{max-height:94vh}
}

/* --- Besin kütüphanesi sayfalayıcı --- */
.food-pager{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0 8px}
.food-pager span{font-size:13px;color:var(--muted);font-weight:600}
.food-pager-note{margin:20px 0 8px;text-align:center;font-size:13px;color:var(--muted)}

/* Source: assets/beta41.css */
/* Beta 4.1 — zikir sayfalarında "Günlük raporlar".
 *
 * "Tüm kayıtlar" bölümü kaldırıldı: bütün kayıtlar tek listede alt alta
 * duruyordu ve aylar geçtikçe okunamaz hâle geliyordu. Yerine Antrenman Zikri
 * sayfasındaki düzen geldi: önce gün seçilir (düzeltme ve geri alma orada),
 * altında gün gün tablo durur.
 *
 * Tablo geniştir (Ruhun Uyanışı'nda 14 zikir sütunu). Kendi kabı içinde yatay
 * kayar; sayfanın tamamını kaydırmaz — bkz. Beta 4.0 yatay taşma düzeltmesi.
 */

/* --- Günün kayıtları --- */
.beta25-day-head{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.beta25-day-head>div{display:grid;gap:4px;min-width:0}
.beta25-day-head h2{margin:0}
.beta25-day-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.beta25-day-head .beta22-date{margin:0;flex:0 0 auto}
.beta25-day-empty{margin:14px 0 0;color:var(--muted);font-size:13px}

/* --- Tamamlanmış kartta geri alma (Beta 4.2) ---
 * "Günün kayıtları" bölümü kaldırıldığında geri alma imkânı da kaybolmasın
 * diye düğme kartın kendisine taşındı: hata nerede görünüyorsa orada. */
.beta25-undo{margin-top:6px}
.beta25-undo .text-btn{color:#ff9ba0;letter-spacing:.1em;font-weight:700}
.beta25-undo .text-btn:hover{color:#ffc4c7;text-decoration:underline}

/* --- Günlük raporlar tablosu --- */
.beta25-daily-table{max-width:100%;overflow:auto;margin-top:14px}
.beta25-daily-table table{min-width:0}
.beta25-daily-table th a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.beta25-daily-table td.is-zero{color:#66707c}
.beta25-daily-table tbody th{white-space:nowrap;font-weight:600}
.beta25-daily-table thead th{text-align:center;vertical-align:bottom}
.beta25-daily-table thead th span[lang=ar]{display:block;font-size:20px;line-height:1.9}
.beta25-daily-table thead th small{display:block;margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.04em;font-weight:600}
.beta25-daily-table thead th:first-child,.beta25-daily-table thead th:last-child{text-align:left}
.beta25-daily-table tbody td{text-align:center}
.beta25-daily-table tbody td:last-child,.beta25-daily-table tbody td:nth-last-child(2){color:var(--text)}

@media(max-width:600px){
  .beta25-day-head{align-items:stretch}
  .beta25-day-head .beta22-date{width:100%}
  .beta25-daily-table thead th span[lang=ar]{font-size:17px}
  .beta25-daily-table th,.beta25-daily-table td{padding:10px 8px}
}

/* Source: assets/beta40.css */
/* Beta 4.0 — Diyet Programı sayfası.
 *
 * YATAY TAŞMA HATASI: sayfa 14" bir ekrana sığdığı hâlde sağa kaydırılabiliyordu.
 * Sebebi `.diet-meal-grid{grid-template-columns:repeat(2,1fr)}` idi. CSS'te `1fr`
 * aslında `minmax(auto,1fr)` demektir; yani sütun, içindeki en geniş öğeden daha
 * dar OLAMAZ. Öğün kartındaki besin listesinde 86 karakterlik bir ürün adı
 * bulununca sütun ekranı aşıyor ve bütün sayfa kayıyordu.
 *
 * Çözüm iki parçalı: her ızgara `minmax(0,…)` kullanır (sütun daralabilir) ve
 * ızgara/esnek kutu çocuklarına `min-width:0` verilir (içerik taşmasına izin
 * verilmez, uzun ad satır kırar). Testlerde 390–1920 px arası ölçülür.
 */

/* --- Sayfa başlığı --- */
.pagehead-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* --- Program seçici --- */
.diet-program-picker{display:grid;gap:16px;margin-bottom:16px}
.diet-program-picker-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.diet-program-picker-head>div{display:grid;gap:4px;min-width:0}
.diet-program-picker-head strong{font-size:22px}
.diet-program-create{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.diet-program-create input{min-width:0;flex:1 1 220px}
.diet-program-tabs{display:flex;flex-wrap:wrap;gap:8px}
.diet-program-tabs a{flex:0 1 auto;display:grid;gap:3px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);min-width:0;max-width:100%}
.diet-program-tabs a strong{color:var(--text);overflow-wrap:anywhere;line-height:1.35}
.diet-program-tabs a small{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.diet-program-tabs a.active{border-color:var(--accent);background:#20252c;box-shadow:inset 2px 0 var(--accent)}

/* --- Hazır beslenme listesi kurulum paneli (Beta 4.4) --- */
.diet-plan-install{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;border-left:3px solid var(--accent)}
.diet-plan-install>div{display:grid;gap:5px;min-width:0;flex:1 1 320px}
.diet-plan-install strong{font-size:19px}
.diet-plan-install small{color:var(--muted);font-size:12px;line-height:1.7}
.diet-plan-install.is-complete{border-left-color:var(--ok)}
.diet-plan-install.is-complete strong{color:var(--ok)}
.diet-plan-install form{flex:0 0 auto}

/* --- Araç çubuğu --- */
.diet-program-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.diet-program-rename{display:flex;gap:8px;flex:1 1 280px;min-width:0}
.diet-program-rename input{min-width:0;flex:1;font-weight:700}
.diet-program-actions{display:flex;gap:8px;flex-wrap:wrap}
.diet-program-actions form{display:contents}

/* --- Öğün kartları --- */
.diet-meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:16px 0}
.diet-meal-card{display:flex;flex-direction:column;gap:14px;min-width:0}
.diet-meal-head{display:flex;align-items:center;gap:8px;min-width:0}
.diet-meal-name{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.diet-meal-name input{min-width:0;flex:1;font-size:17px;font-weight:700}
.diet-meal-name .btn{flex:0 0 auto;padding:12px 14px}
.diet-items{display:grid;min-width:0}
.diet-items article{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.diet-items article:first-child{border-top:0}
.diet-items article>div{display:grid;gap:2px;min-width:0}
.diet-items article strong{font-weight:600;overflow-wrap:anywhere;line-height:1.35}
.diet-items article span{white-space:nowrap;color:var(--muted);font-size:12px}
.diet-items small{color:var(--muted);font-size:11px}
.diet-items-empty{margin:0;padding:14px 0;color:var(--muted);font-size:13px}
.diet-meal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.diet-meal-foot>strong{font-size:19px}
.diet-add-btn{flex:0 0 auto}
.diet-meal-card.is-empty{justify-content:center}

/* --- Öğün ekleme + yedek besin formu --- */
.add-diet-meal{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.add-diet-meal input{min-width:0;flex:1 1 240px}
.diet-add-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 120px auto;gap:10px;align-items:end;margin-top:16px}
.diet-add-item>.diet-add-item-note{grid-column:1/-1;display:grid;gap:4px}
.diet-add-item-note small{color:var(--muted);line-height:1.6}
.diet-add-item label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:11px}
.diet-add-item select,.diet-add-item input{min-width:0;max-width:100%}
/* JS calisiyorsa yedek form gereksizdir; secici zaten aciliyor. */
.diet-add-item.b35-enhanced{display:none}

/* --- Diyet sayfasındaki uygulama paneli --- */
.diet-apply{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:16px}
.diet-apply-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.diet-apply-head>div{display:grid;gap:4px;min-width:0}
.diet-apply-head h2{margin:0;font-size:24px}
.diet-apply-head p{margin:0;color:var(--muted);font-size:13px}
.diet-apply-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.diet-apply-form label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:11px}
.diet-apply-form select{min-width:0;max-width:100%}
.diet-apply-form .btn{white-space:nowrap}
.diet-apply-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.diet-apply-suggest{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--accent);border-radius:999px;font-size:11px;line-height:1.6;letter-spacing:.06em;color:var(--accent);max-width:100%;justify-self:start}
.diet-apply-empty{margin:0;color:var(--muted);font-size:13px}

@media(max-width:900px){
  .diet-add-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .diet-add-item>label:nth-of-type(2){grid-column:1/-1}
  .diet-add-item>button{grid-column:1/-1}
  .diet-apply-form{grid-template-columns:1fr}
  .diet-apply-form .btn{width:100%}
  .diet-program-picker-head{align-items:stretch}
}

@media(max-width:560px){
  .diet-meal-grid{grid-template-columns:1fr}
  .diet-add-item{grid-template-columns:1fr}
  .diet-add-item>label,.diet-add-item>button{grid-column:auto}
  .diet-program-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .diet-program-actions .btn{width:100%}
  .add-diet-meal .btn{width:100%}
  .pagehead-actions{width:100%}
  .pagehead-actions .btn{flex:1 1 auto}
}
