/* BUFF OS v153 — Blood tests (card on Goal + sheet). Apple Health-style lists; lime = in range, orange = flagged. */
.v153-card { padding: 14px 16px 16px !important; }
.v153-open { display: flex; align-items: center; gap: 12px; width: 100%; padding: 0; border: 0; background: transparent; color: var(--txt); font: inherit; text-align: left; cursor: pointer; }
.v153-ic { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: #ff375f; display: flex; align-items: center; justify-content: center; }
.v153-ic svg { width: 19px; height: 19px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v153-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.v153-tx b { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.v153-tx small { font-size: 13px; color: #8e8e93; }
.v153-chev { font-size: 22px; color: #636366; }
.v153-sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.v153-sum > div { background: rgba(120,120,128,.18); border-radius: 14px; padding: 10px 11px; min-width: 0; }
.v153-sum b { display: block; font-size: 22px; font-weight: 700; color: #fff; } .v153-sum b span { font-size: 14px; color: #8e8e93; font-weight: 500; }
.v153-sum > div:first-child b { color: #a6f23a; } .v153-sum > div:nth-child(2) b { color: #ff9f0a; }
.v153-sum small { display: block; font-size: 12px; line-height: 1.25; color: #8e8e93; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.v153-sh { padding-bottom: 28px; }
.v153-k { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: #ff375f; margin-top: 6px; }
.v153-t { font-size: 28px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.v153-s { font-size: 14px; color: #8e8e93; margin: 2px 0 6px; }
.v153-gh { font-size: 13px; color: #8e8e93; margin: 18px 4px 6px; }
.v153-list { background: #2c2c2e; border-radius: 16px; overflow: hidden; }
.v153-row { padding: 11px 14px 10px; }
.v153-row + .v153-row { box-shadow: inset 0 .5px 0 rgba(84,84,88,.6); }
.v153-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.v153-n { font-size: 16px; color: #fff; display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.v153-h { width: 13px; height: 13px; fill: #ff375f; flex: 0 0 auto; }
.v153-foot .v153-h { vertical-align: -2px; }
.v153-v { font-size: 17px; font-weight: 600; color: #fff; white-space: nowrap; font-variant-numeric: tabular-nums; }
.v153-v small { font-size: 12px; font-weight: 400; color: #8e8e93; }
.v153-v.low, .v153-v.high { color: #ff9f0a; }
.v153-bar { position: relative; height: 6px; border-radius: 3px; background: rgba(120,120,128,.28); margin: 8px 0 6px; }
.v153-bar i { position: absolute; top: 0; bottom: 0; border-radius: 3px; background: rgba(166,242,58,.45); }
.v153-bar b { position: absolute; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: #a6f23a; box-shadow: 0 0 0 2px #2c2c2e; }
.v153-bar b.low, .v153-bar b.high { background: #ff9f0a; }
.v153-meta { display: flex; justify-content: space-between; font-size: 12px; color: #8e8e93; }
.v153-meta .in { color: #a6f23a; } .v153-meta .low, .v153-meta .high { color: #ff9f0a; }
.v153-foot { font-size: 13px; line-height: 1.4; color: #8e8e93; margin: 18px 4px 0; }
