.template-card { margin-bottom: 12px; padding: 16px 18px; .template-head { display: flex; align-items: center; gap: 10px; } .template-title { flex: 1; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-weight: 700; color: var(--ft-text); } .template-calories { color: var(--ft-warning); font-weight: 700; font-size: 0.88rem; white-space: nowrap; } .template-items { list-style: none; margin: 10px 0 0; padding: 0; font-size: 0.87rem; li { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; border-top: 1px solid var(--ft-border-light); } } .template-item-icon { color: var(--ft-primary); font-size: 0.78rem; } .template-item-name { flex: 1; min-width: 0; color: var(--ft-text); } .template-item-quantity { color: var(--ft-text-secondary); white-space: nowrap; } .template-item-calories { color: var(--ft-text-muted); font-weight: 600; white-space: nowrap; min-width: 72px; text-align: right; } } .template-form { .chart-title { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ft-text-secondary); margin: 0 0 14px; } margin-top: 20px; } // Odkaz na vnořenou šablonu se v editaci odlišuje ikonou před výběrem .workout-item-nested-icon { align-self: center; color: var(--ft-primary); flex: 0 0 auto; } .meal-template-price { color: var(--ft-text-secondary); font-weight: 600; font-size: 0.85rem; white-space: nowrap; } // Postup přípravy v Markdownu .recipe-note { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--ft-border-light); font-size: 0.83rem; color: var(--ft-text-secondary); p, ul, ol, blockquote, pre { margin: 0 0 0.6em; } > :last-child { margin-bottom: 0; } h1, h2, h3, h4, h5, h6 { margin: 0.8em 0 0.35em; font-size: 0.95rem; font-weight: 700; color: var(--ft-text); } h1 { font-size: 1.05rem; } > :first-child { margin-top: 0; } ul, ol { padding-left: 1.4em; } blockquote { padding-left: 10px; border-left: 3px solid var(--ft-border); } code { padding: 1px 4px; border-radius: var(--ft-radius-sm); background: var(--ft-bg-hover); color: var(--ft-text); font-size: 0.95em; } pre code { display: block; padding: 8px 10px; white-space: pre-wrap; } hr { margin: 0.8em 0; border-color: var(--ft-border); } img { max-width: 100%; } } // Řádek suroviny receptu — název se roztáhne, číselná pole mají pevnou šířku .recipe-ingredient-row { align-items: center; // Množství s výběrem jednotky .recipe-ingredient-amount { width: 160px; flex: 0 0 auto; .form-control { min-width: 0; } .form-select { flex: 0 0 82px; padding-left: 8px; } } // Přepočet na gramy u jiné jednotky .recipe-ingredient-weight { width: 90px; flex: 0 0 auto; } .recipe-ingredient-rate { width: 100px; flex: 0 0 auto; } .recipe-ingredient-calories { width: 90px; flex: 0 0 auto; font-weight: 600; font-size: 0.87rem; color: var(--ft-warning); white-space: nowrap; } .recipe-ingredient-price { width: 110px; flex: 0 0 auto; } @media (max-width: 640px) { flex-wrap: wrap; .recipe-ingredient-amount, .recipe-ingredient-weight, .recipe-ingredient-rate, .recipe-ingredient-calories, .recipe-ingredient-price { width: auto; flex: 1; } } } .recipe-summary { margin-top: 8px; font-size: 0.87rem; font-weight: 600; color: var(--ft-text-secondary); .recipe-summary-portion { color: var(--ft-primary); } } // Vazby receptu na jiné recepty — ve formuláři výběr, na kartě odkazy .recipe-links { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; font-size: 0.87rem; .recipe-links-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .recipe-links-label { color: var(--ft-text-muted); font-weight: 600; } } .recipe-link { border: none; background: var(--ft-primary-light); color: var(--ft-primary); border-radius: 999px; padding: 2px 10px; font-size: 0.8rem; font-weight: 600; &:is(button):hover { filter: brightness(0.95); text-decoration: underline; } .recipe-link-remove { margin-left: 6px; border: none; background: none; color: inherit; padding: 0; line-height: 1; } } .recipe-links-input { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; .form-select { width: auto; min-width: 180px; flex: 1 1 180px; } } // Popisek postupu s přepínačem psaní a náhledu .recipe-note-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 0.5rem; .form-label { margin-bottom: 0; } } .recipe-note-preview { min-height: 120px; padding: 8px 12px; border: 1px solid var(--ft-border); border-radius: var(--ft-radius-sm); background: var(--ft-bg-card); .recipe-note { margin: 0; padding: 0; border: none; } } // ============================================ // PLÁNY TRÉNINKŮ // ============================================ .tag-plan { background: var(--ft-primary-light); color: var(--ft-primary); } .template-card { .template-plan-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 4px; font-size: 0.8rem; color: var(--ft-text-muted); } .template-plan-day { margin-top: 12px; } // Hlavička dne je podbarvený pruh, cviky pod ní odsazené s linkou — na první // pohled je vidět, kde den začíná a co k němu patří .template-plan-day-head { display: flex; align-items: baseline; gap: 8px; padding: 6px 10px; border-left: 3px solid var(--ft-primary); border-radius: var(--ft-radius-sm); background: var(--ft-primary-light); font-size: 0.9rem; } .template-plan-day-label { color: var(--ft-primary); font-weight: 700; min-width: 20px; } .template-plan-day-name { flex: 1; font-weight: 700; color: var(--ft-text); } .template-plan-day .template-items { margin: 2px 0 0 12px; padding-left: 12px; border-left: 2px solid var(--ft-border); li:first-child { border-top: none; } } // Den volna není záznam, jen připomínka konce cyklu .template-plan-rest { padding: 6px 10px; border: 1px dashed var(--ft-border); border-radius: var(--ft-radius-sm); font-size: 0.85rem; color: var(--ft-text-muted); font-style: italic; } } .template-form { .template-form-head { display: flex; flex-wrap: wrap; gap: 12px; > * { flex: 1 1 180px; } .template-form-name { flex: 3 1 260px; } } .input-with-unit { display: flex; align-items: center; gap: 8px; span { color: var(--ft-text-secondary); font-size: 0.88rem; } } } .workout-items-actions { display: flex; gap: 8px; } .plan-day-editor { margin-bottom: 14px; padding: 12px; border: 1px solid var(--ft-border); border-radius: var(--ft-radius); .plan-day-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; } .plan-day-weekday { width: 140px; flex: 0 0 auto; } .plan-day-order { font-weight: 700; color: var(--ft-text-secondary); min-width: 22px; } .plan-day-calories { color: var(--ft-warning); font-weight: 600; font-size: 0.85rem; white-space: nowrap; } } .plan-rest-day { margin-bottom: 14px; padding: 10px 12px; border: 1px dashed var(--ft-border); border-radius: var(--ft-radius); font-size: 0.87rem; color: var(--ft-text-muted); }