/* RECATOOLS — shared clinical-calculator styles (Batch 8 Tier S) */
.med-form { display: flex; flex-direction: column; gap: .85rem; }
.med-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; padding: .85rem; background: #fafaf9; border: 1px solid #ebebeb; border-radius: 10px; }
@media (max-width: 540px) { .med-inputs { grid-template-columns: 1fr; } }
.med-field { display: flex; flex-direction: column; gap: .25rem; }
.med-field label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #6b6760; }
.med-field input[type="number"], .med-field select { padding: .5rem .6rem; font-size: .9rem; font-family: inherit; border: 1px solid #ebebeb; border-radius: 6px; background: #fff; color: #1a1814; width: 100%; box-sizing: border-box; }
.med-field input:focus, .med-field select:focus { outline: none; box-shadow: inset 0 0 0 2px #4f46e5; }
.med-checks { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .85rem; background: #fafaf9; border: 1px solid #ebebeb; border-radius: 10px; }
@media (max-width: 540px) { .med-checks { grid-template-columns: 1fr; } }
.med-check { display: flex; align-items: center; gap: .55rem; padding: .55rem .7rem; background: #fff; border: 1px solid #ebebeb; border-radius: 6px; cursor: pointer; }
.med-check input { width: 16px; height: 16px; accent-color: #4f46e5; cursor: pointer; flex-shrink: 0; }
.med-check label { font-size: .8rem; cursor: pointer; user-select: none; flex: 1; color: #1a1814; }
.med-check .pts { font-size: .68rem; font-weight: 800; background: #eef2ff; color: #4338ca; padding: .1rem .35rem; border-radius: 4px; white-space: nowrap; }
.med-seg-row { display: flex; align-items: center; gap: .6rem; }
.med-seg-row .lbl { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #6b6760; }
.med-seg { display: inline-flex; border: 1px solid #ebebeb; border-radius: 8px; overflow: hidden; }
.med-seg-btn { border: none; background: #fafaf9; padding: .4rem .85rem; font-size: .8rem; font-weight: 600; color: #6b6760; cursor: pointer; font-family: inherit; }
.med-seg-btn.is-active { background: #4f46e5; color: #fff; }
.med-calc-btn { width: 100%; margin: .25rem 0 .25rem; padding: .8rem 1.25rem; background: #E8472F; color: #fff; border: none; border-radius: 8px; font-size: .95rem; font-weight: 700; cursor: pointer; font-family: inherit; }
.med-calc-btn:hover { background: #c8391f; }
.med-error { padding: .7rem 1rem; background: #fef2f2; border-left: 3px solid #dc2626; border-radius: 0 6px 6px 0; font-size: .82rem; color: #991b1b; line-height: 1.5; }
.med-headline { padding: 1rem 1.1rem; background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 12px; text-align: center; }
.med-headline-lbl { font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #4338ca; }
.med-headline-val { font-size: 2.4rem; font-weight: 800; font-family: 'IBM Plex Serif', serif; color: #312e81; line-height: 1.05; margin-top: .1rem; }
.med-headline-sub { font-size: .8rem; color: #475569; margin-top: .25rem; }
.med-band { margin-top: .25rem; padding: .75rem 1rem; border-left: 3px solid #64748b; border-radius: 0 6px 6px 0; font-size: .875rem; line-height: 1.6; color: #1a1814; background: #f8fafc; }
.med-band:empty { display: none; }
.med-band.is-normal { border-left-color: #16a34a; background: #f0fdf4; }
.med-band.is-warn { border-left-color: #d97706; background: #fffbeb; }
.med-band.is-high { border-left-color: #dc2626; background: #fef2f2; }
.med-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
@media (max-width: 600px) { .med-grid { grid-template-columns: 1fr 1fr; } }
.med-card { padding: .8rem .55rem; background: #fafaf9; border: 1px solid #ebebeb; border-radius: 10px; text-align: center; }
.med-card-key { background: #eef2ff; border-color: #c7d2fe; }
.med-lbl { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #6b6760; }
.med-val { font-size: 1.05rem; font-weight: 800; font-family: 'IBM Plex Serif', serif; color: #312e81; margin-top: .2rem; line-height: 1.2; }
.med-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin-top: .25rem; }
.med-table th, .med-table td { padding: .45rem .6rem; border-bottom: 1px solid #ebebeb; text-align: left; }
.med-table th:last-child, .med-table td:last-child { text-align: right; }
.med-table thead th { font-size: .64rem; text-transform: uppercase; letter-spacing: .04em; color: #6b6760; background: #fafaf9; }
/* cache-buster: 2026-05-31T01:00:00Z */
