.fasting-calculator{margin:28px 0;padding:24px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:var(--radius);box-shadow:var(--shadow)}
.fasting-calculator>h2{margin:0 0 10px}
.fasting-calculator>p{margin:10px 0 18px}
.fasting-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fasting-inputs>div{min-width:0}
.fasting-inputs label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.fasting-inputs select,.fasting-inputs input{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--control-border);border-radius:6px;background:var(--white);color:var(--navy);font:inherit}
.fasting-inputs select:focus-visible,.fasting-inputs input:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.fasting-help,.fasting-disclaimer{font-size:13px;color:var(--muted)}
.fasting-calculator #fasting-help{padding:12px 14px;background:color-mix(in srgb,var(--teal) 22%,var(--white));border-left:4px solid var(--teal);border-radius:6px;color:var(--navy);font-weight:700;overflow-wrap:anywhere}
.fasting-help a{color:var(--navy);text-underline-offset:3px}
.fasting-error{font-size:13px;font-weight:700}
.fasting-results{padding:20px;background:var(--surface);border-radius:6px;overflow-wrap:anywhere}
.fasting-results>p{margin:0}
.fasting-details{margin:0 0 18px}
.fasting-details>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;margin-bottom:8px}
.fasting-details dt{font-weight:600}
.fasting-details dd{margin:0;font-variant-numeric:tabular-nums}
.fasting-completion{padding-top:16px;border-top:1px solid var(--line)}
.fasting-completion span{display:block;font-size:13px}
.fasting-completion strong{display:block;margin-top:5px;font-size:22px;line-height:1.4;font-variant-numeric:tabular-nums}
.fasting-calculator .fasting-disclaimer{margin-top:20px;padding-left:14px;border-left:3px solid var(--teal)}
@media(max-width:650px){.fasting-calculator{padding:18px}.fasting-inputs{grid-template-columns:1fr;gap:16px}.fasting-details>div{grid-template-columns:1fr;gap:2px}.fasting-completion strong{font-size:19px}}
