/* Authenticated FoodLeo home. It deliberately reuses the public site's visual
   language, but every action below is a signed Mini App action, not a CTA. */
.site-home { display: grid; gap: 24px; color: #edf5ff; }
.site-home__header { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.site-home__brand { padding: 0; border: 0; display: inline-flex; align-items: center; gap: 9px; color: #fff; background: transparent; text-align: left; cursor: pointer; font-size: 23px; font-weight: 900; letter-spacing: -.07em; }
.site-home__brand img { filter: drop-shadow(0 5px 12px rgba(255, 121, 48, .24)); }.site-home__brand > span > span { color: #ff7a32; }.site-home__brand small { display: block; margin-top: 2px; color: #91a7bc; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.site-home__header-actions { display: flex; gap: 7px; }.site-home__profile { min-height: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 0 10px; color: #edf5ff; background: rgba(255,255,255,.07); font-size: 12px; font-weight: 800; cursor: pointer; }
.site-home__hero { min-height: 390px; position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(330px, .82fr); align-items: center; gap: 22px; }
.site-home__kicker { display: inline-block; color: #ffad77; font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.site-home__hero h1 { margin: 11px 0 14px; color: #fff; font-size: clamp(39px, 7.4vw, 68px); line-height: .94; letter-spacing: -.075em; }.site-home__hero h1 em { color: #ff7939; font-style: normal; }.site-home__hero p { max-width: 540px; margin: 0; color: #b5c6d6; font-size: 15px; line-height: 1.53; }.site-home__hero p b { color: #fff; }.site-home__identity { display: flex; align-items: center; gap: 7px; margin-top: 10px !important; color: #91a7bc !important; font-size: 11px !important; font-weight: 750; }.site-home__admin { padding: 3px 7px; border: 1px solid #8e7ad1; border-radius: 999px; color: #d9d0ff; background: rgba(104, 79, 182, .28); font-size: 9px; font-weight: 850; }
.site-home__hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }.site-home__primary, .site-home__secondary { min-height: 49px; border-radius: 14px; padding: 0 16px; font-size: 13px; font-weight: 850; cursor: pointer; }.site-home__primary { border: 0; color: #152230; background: linear-gradient(135deg, #ffd05a, #ff7a32); box-shadow: 0 12px 25px rgba(255, 122, 50, .22); }.site-home__secondary { border: 1px solid rgba(255,255,255,.18); color: #edf5ff; background: rgba(255,255,255,.06); }.site-home__hero-copy > small { display: block; margin-top: 10px; color: #7f96ab; font-size: 10px; }
.site-home__visual { min-height: 355px; position: relative; overflow: hidden; border-radius: 26px; background: #fff9d9; }.site-home__glow { position: absolute; z-index: 1; right: -8%; bottom: -10%; width: 72%; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(135deg, #ff7a32, #ffca53); }.site-home__visual > img { position: absolute; z-index: 2; right: -3%; bottom: 0; width: 105%; height: 100%; object-fit: cover; object-position: 58% 25%; }.site-home__demo { position: absolute; z-index: 3; left: 16px; bottom: 15px; width: min(245px, calc(100% - 32px)); padding: 14px; border: 1px solid rgba(173, 204, 224, .3); border-radius: 19px; color: #edf5ff; background: rgba(12, 33, 49, .92); box-shadow: 0 16px 30px rgba(2, 12, 23, .22); }.site-home__demo > span { color: #a9bac9; font-size: 9px; font-weight: 800; text-transform: uppercase; }.site-home__demo > b { display: block; margin-top: 4px; color: #fff; font-size: 27px; line-height: 1; }.site-home__demo > b small { color: #a9bac9; font-size: 9px; }.site-home__demo > div { display: flex; gap: 5px; margin: 11px 0 8px; }.site-home__demo i { width: 100%; height: 5px; overflow: hidden; border-radius: 99px; background: #304558; }.site-home__demo i i { display: block; width: var(--amount); background: #83c65d; }.site-home__demo i:nth-child(2) i { background: #ffbd56; }.site-home__demo i:nth-child(3) i { background: #ff8d72; }.site-home__demo p { color: #b9c9d7; font-size: 8px; white-space: nowrap; }
.site-home__proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 12px; border: 1px solid rgba(177, 211, 235, .2); border-radius: 20px; background: rgba(23, 56, 77, .62); }.site-home__proof article { min-width: 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; align-items: center; }.site-home__proof article > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(255, 154, 80, .15); font-size: 17px; }.site-home__proof b, .site-home__proof small { display: block; }.site-home__proof b { color: #fff; font-size: 11px; }.site-home__proof small { margin-top: 2px; color: #9db1c3; font-size: 9px; line-height: 1.25; }
.site-home__dashboard, .site-home__lower { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); gap: 14px; align-items: start; }.site-home__day, .site-home__add, .site-home__recent, .site-home__links button { border: 1px solid rgba(177, 211, 235, .2); border-radius: 23px; background: #102335; box-shadow: 0 14px 30px rgba(0, 8, 18, .16); }.site-home__day, .site-home__add, .site-home__recent { padding: 19px; }.site-home__day header, .site-home__recent header { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.site-home__day h2, .site-home__add h2, .site-home__recent h2 { margin: 5px 0 5px; color: #fff; font-size: 21px; line-height: 1.06; }.site-home__day h2 strong { color: #ff8a4b; }.site-home__day p, .site-home__add > p { margin: 0; color: #9db1c3; font-size: 11px; line-height: 1.45; }.site-home__text-action { border: 0; padding: 3px 0; color: #ffad77; background: transparent; font-size: 11px; font-weight: 850; white-space: nowrap; cursor: pointer; }.site-home__kcal { margin: 18px 0 14px; }.site-home__kcal > i { display: block; height: 10px; overflow: hidden; border-radius: 999px; background: #2e465a; }.site-home__kcal > i > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff7a32, #ffd05a); }.site-home__macros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.site-home__macro { min-width: 0; padding: 9px; border: 1px solid rgba(177, 211, 235, .14); border-radius: 14px; background: rgba(255,255,255,.04); }.site-home__macro > span { float: right; font-size: 14px; }.site-home__macro small, .site-home__macro b { display: block; }.site-home__macro small { color: #9db1c3; font-size: 8px; text-transform: uppercase; }.site-home__macro b { margin-top: 3px; overflow: hidden; color: #fff; font-size: 13px; white-space: nowrap; }.site-home__macro b em { color: #9db1c3; font-size: 8px; font-style: normal; font-weight: 650; }.site-home__macro > i { display: block; height: 4px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: #2e465a; }.site-home__macro > i > i { display: block; height: 100%; border-radius: inherit; background: #73c879; }.site-home__macro--fat > i > i { background: #ffbd56; }.site-home__macro--carbs > i > i { background: #9d94ff; }
.site-home__add-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 14px; }.site-home__add-actions button { min-height: 43px; border: 1px solid rgba(177, 211, 235, .18); border-radius: 12px; padding: 7px 9px; color: #dce9f3; background: rgba(255,255,255,.045); text-align: left; font-size: 10px; font-weight: 760; cursor: pointer; }.site-home__add-actions .site-home__add-primary { grid-column: 1 / -1; min-height: 63px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 8px; border-color: transparent; color: #152230; background: linear-gradient(135deg, #ffd05a, #ff7a32); }.site-home__add-primary > span:first-child { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.34); font-size: 17px; }.site-home__add-primary b, .site-home__add-primary small { display: block; }.site-home__add-primary b { font-size: 12px; }.site-home__add-primary small { opacity: .74; font-size: 9px; font-weight: 700; }.site-home__add-primary strong { font-size: 18px; }
.site-home__recent { min-height: 212px; }.site-home__meal { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(177, 211, 235, .13); }.site-home__meal > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: rgba(255, 154, 80, .13); font-size: 18px; }.site-home__meal div { min-width: 0; }.site-home__meal b, .site-home__meal small, .site-home__meal strong { display: block; }.site-home__meal div b { overflow: hidden; color: #fff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.site-home__meal div small { margin-top: 2px; overflow: hidden; color: #9db1c3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.site-home__meal > strong { color: #fff; font-size: 12px; text-align: right; }.site-home__meal > strong small { color: #9db1c3; font-size: 8px; }.site-home__empty { display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 8px; align-items: center; padding: 17px 0 0; }.site-home__empty > span { font-size: 25px; }.site-home__empty b, .site-home__empty small { display: block; }.site-home__empty b { color: #fff; font-size: 12px; }.site-home__empty small { margin-top: 2px; color: #9db1c3; font-size: 10px; line-height: 1.35; }
.site-home__links { display: grid; gap: 8px; }.site-home__links button { min-height: 65px; padding: 10px; display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: 8px; color: #fff; text-align: left; cursor: pointer; }.site-home__links button > span:first-child { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: rgba(255, 154, 80, .13); font-size: 18px; }.site-home__links b, .site-home__links small { display: block; }.site-home__links b { font-size: 11px; }.site-home__links small { margin-top: 2px; overflow: hidden; color: #9db1c3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.site-home__links strong { color: #ffad77; font-size: 17px; }
.is-auth-site-home { padding: 0; background: radial-gradient(circle at 90% 4%, #173c53 0, transparent 27%), radial-gradient(circle at 8% 38%, #372047 0, transparent 27%), #07121f; }.is-auth-site-home .app-shell { width: min(100%, 1180px); min-height: 100dvh; max-width: none; margin: 0 auto; border-radius: 0; padding: calc(8px + var(--safe-top)) 20px calc(30px + var(--safe-bottom)); overflow: visible; box-shadow: none; }.is-auth-site-home .topbar, .is-auth-site-home .bottom-nav { display: none; }.is-auth-site-home .app-shell::before { content: ""; position: fixed; inset: 0; z-index: -1; background: inherit; }.is-auth-site-home .bottom-sheet, :root[data-theme="dark"] .is-auth-site-home .bottom-sheet { color: var(--tg-text); }
@media (max-width: 780px) { .site-home { gap: 16px; }.site-home__header { min-height: 58px; }.site-home__hero { min-height: 0; grid-template-columns: 1fr; gap: 13px; }.site-home__hero-copy { order: 2; }.site-home__visual { min-height: 300px; order: 1; }.site-home__hero h1 { font-size: clamp(38px, 13vw, 57px); }.site-home__hero p { font-size: 14px; }.site-home__proof { grid-template-columns: 1fr; gap: 9px; }.site-home__dashboard, .site-home__lower { grid-template-columns: 1fr; }.is-auth-site-home .app-shell { width: min(100%, 620px); padding-inline: 14px; } }
@media (max-width: 410px) { .site-home__brand { font-size: 20px; }.site-home__header-actions { gap: 5px; }.site-home__profile { min-height: 35px; padding: 0 8px; }.site-home__visual { min-height: 266px; }.site-home__demo { left: 11px; bottom: 11px; padding: 11px; }.site-home__demo > b { font-size: 23px; }.site-home__day, .site-home__add, .site-home__recent { padding: 15px; }.site-home__macro { padding: 7px; }.site-home__macro > span { display: none; }.site-home__macro b { font-size: 11px; }.site-home__add-actions { gap: 6px; } }
