#fit-layer { pointer-events: none; }
#fit-layer button, #fit-layer .fit-card, #fit-layer .fit-today, #fit-layer .fit-scrim { pointer-events: auto; }
.fit-scrim { position: fixed; z-index: 30; inset: 0 0 calc(68px + env(safe-area-inset-bottom)) 0; background: rgba(16, 32, 26, .46); }
.bottom-nav { z-index: 34; }
.bottom-nav button.fit-spot { position: relative; z-index: 1; color: #176148; background: #fff; border-radius: 16px; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #258761; }
.fit-card, .fit-today { position: fixed; z-index: 33; left: 50%; bottom: calc(80px + env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(calc(100% - 20px), 520px); box-sizing: border-box; padding: 16px; border-radius: 20px; background: #fff; color: #1e2923; box-shadow: 0 16px 40px rgba(20, 40, 32, .18); font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; }
body:not([data-fit="home"]) #fit-layer .fit-today,
body:not([data-fit="home"]) #fit-layer .fit-card,
body:not([data-fit="home"]) #fit-layer .fit-scrim,
body:not([data-fit="home"]) #fit-layer .fit-help { display: none; }
.fit-card h2, .fit-today b { margin: 0 0 6px; color: #14201b; font-size: 16px; letter-spacing: -.3px; }
.fit-card p, .fit-today p { margin: 0 0 12px; color: #5d6b64; font-size: 13px; line-height: 1.45; }
.fit-kicker, .fit-today-head span { margin: 0 0 6px; color: #258761; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fit-actions { display: flex; gap: 8px; }
.fit-actions button, .fit-today button { min-height: 40px; border: 0; border-radius: 12px; padding: 0 14px; background: #eef3f0; color: #1e2923; font: inherit; font-size: 13px; font-weight: 700; }
.fit-actions .primary, .fit-today button[data-go] { background: #258761; color: #fff; }
.fit-actions button:last-child { margin-left: auto; }
body:has(#fit-layer .fit-today) .page { padding-bottom: calc(300px + env(safe-area-inset-bottom)); }
.page:has(.setup-card):has(.day-head) { display: flex; flex-direction: column; }
.page:has(.setup-card):has(.day-head) > .calendar-card { order: 2; margin-top: 8px; }
.page:has(.setup-card):has(.day-head) > .setup-card { order: 3; }
.fit-today { max-height: min(38vh, 280px); overflow: auto; }
.fit-today + .fit-help { display: none; }
.fit-today-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.fit-today-head button { min-height: 32px; background: transparent; color: #258761; padding: 0; }
.fit-today ul { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.fit-today li { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.fit-today li span { min-width: 0; overflow-wrap: anywhere; }
.fit-today li small { flex: none; color: #5d6b64; font-weight: 700; }
.fit-today .fit-loading { color: #5d6b64; font-size: 13px; }
.fit-help { position: fixed; z-index: 33; left: 12px; bottom: calc(132px + env(safe-area-inset-bottom)); width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #176148; font-weight: 800; box-shadow: 0 6px 18px rgba(20, 40, 32, .16); }
