
#food-rhythm .fr-detail-choice:has(input:checked) .fr-detail-choice-mark::after { transform:scale(1); }
#food-rhythm .fr-detail-choice:has(input:focus-visible) { outline:3px solid var(--fr-leaf); outline-offset:2px; }
#food-rhythm .fr-detail-panel .fr-error { min-height:20px; margin:5px 0 1px; }
#food-rhythm .fr-detail-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:9px; }
#food-rhythm .fr-detail-cancel,#food-rhythm .fr-detail-save { min-height:50px; padding:10px 14px; border:0; border-radius:15px; font-weight:750; }
#food-rhythm .fr-detail-cancel { background:#edf2ed; color:#64736c; }
#food-rhythm .fr-detail-save { background:var(--fr-green); color:white; box-shadow:0 9px 22px #196c5030; }
#food-rhythm .fr-detail-edit:focus-visible,#food-rhythm .fr-detail-close:focus-visible,#food-rhythm .fr-detail-cancel:focus-visible,#food-rhythm .fr-detail-save:focus-visible { outline:3px solid var(--fr-leaf); outline-offset:2px; }
@keyframes fr-detail-fade { from { opacity:0; } }
@keyframes fr-detail-rise { from { opacity:0; transform:translateY(34px) scale(.97); } }
#food-rhythm .fr-profile-panel { padding:18px; border:1px solid #e1e8dd; border-radius:23px; background:white; box-shadow:0 8px 24px #173c2c0a; }
#food-rhythm .fr-profile-panel+.fr-profile-panel { margin-top:12px; }
#food-rhythm .fr-profile-panel-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
#food-rhythm .fr-profile-panel-title small { display:block; margin-bottom:2px; color:#74837b; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.06em; }
#food-rhythm .fr-profile-panel-title h2 { margin:0; font-size:19px; }
#food-rhythm .fr-section-title-row h2 { margin:0 0 10px 3px; font-size:19px; }
#food-rhythm .fr-goals-content { min-height:620px; padding:0 20px 34px; background:#f7f9f4; }
#food-rhythm .fr-goal-visibility { display:grid; place-items:center; width:44px; height:44px; flex:none; padding:0; border:0; background:transparent; color:#7a8982; transition:color .18s,transform .16s; }
#food-rhythm .fr-goal-visibility[data-visible="true"] { color:var(--fr-leaf); }
#food-rhythm .fr-goal-visibility:active { transform:scale(.88); }
#food-rhythm .fr-goal-visibility:focus-visible { outline:3px solid var(--fr-leaf); outline-offset:1px; border-radius:12px; }
#food-rhythm .fr-goal-visibility .fr-ui-icon { width:25px; height:25px; stroke-width:1.8; }
#food-rhythm .fr-goal-input { display:grid; gap:6px; min-width:0; color:#6b7a72; font-size:11px; }
#food-rhythm .fr-goal-input>span:last-child { display:flex; align-items:center; gap:5px; min-width:0; }
#food-rhythm .fr-goal-input input { width:100%; min-width:0; height:42px; padding:8px 9px; border:1px solid #dbe5db; border-radius:13px; background:#f9fbf8; color:var(--fr-ink); font:750 15px/1 system-ui,sans-serif; text-align:center; }
#food-rhythm .fr-goal-input small { flex:none; color:#7b8982; font-size:9px; }
#food-rhythm .fr-nutrition-goal { padding:22px; border-radius:27px; box-shadow:0 12px 32px #173c2c0d; }
#food-rhythm .fr-nutrition-goal .fr-profile-panel-title small { font-size:11px; }
#food-rhythm .fr-nutrition-goal .fr-profile-panel-title h2 { margin-top:4px; font-size:23px; letter-spacing:-.45px; }
#food-rhythm .fr-goal-input--calories { display:block; margin-top:22px; }
#food-rhythm .fr-goal-input--calories>span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
#food-rhythm .fr-goal-input--calories>span:last-child { align-items:baseline; gap:8px; }
#food-rhythm .fr-goal-input--calories input { width:178px; height:64px; padding:0; border:0; border-radius:0; background:transparent; font-size:48px; line-height:1; text-align:left; }
#food-rhythm .fr-goal-input--calories small { color:#789087; font-size:17px; font-weight:700; }
#food-rhythm .fr-goal-macros { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid #e4ebe3; }
#food-rhythm .fr-goal-input--macro { gap:8px; min-width:0; padding:11px 9px; border:1px solid #dfe7de; border-radius:17px; background:#fbfcfa; }