/* Circulating teal, readable type and a focused review workspace. */
:root{--text-scale:1.12;--green:#136c65;--green-dark:#0b514d;--ink:#173a40;--border:#dbe5e7}
body{background:#f3f6f8;color:#173a40;font-size:calc(16px * var(--text-scale));line-height:1.65}
button,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #219eaa;outline-offset:3px}
.sidebar{background:#fff;border-right:1px solid #dbe5e7;overflow-y:auto}
.brand small,.side-version,.side-bottom small{color:#61747a}
.nav-item{min-height:44px;border-radius:10px;color:#52676d}
.nav-item.active{background:#e2f1ee;color:#095d55}
.nav-item em{color:#61777e}
.side-bottom b{color:#436d66}
.topbar{height:auto;min-height:82px;gap:16px;background:#fff;padding-block:14px}
.header-right{gap:14px;flex-wrap:wrap;justify-content:flex-end}
.breadcrumb,.version-pill{color:#597078}
.main-inner{max-width:1800px;padding-top:28px}
.hero{border:1px solid #cfe1df;background:linear-gradient(115deg,#e8f4ef,#edf5f8);border-radius:20px;padding:30px 32px;box-shadow:0 5px 22px #254a4e05}
.hero h1{font-weight:650;letter-spacing:0;line-height:1.5;color:#173d43}
.hero p,.hero-meta{color:#4b6b70}
.hero .eyebrow{color:#39746e}
.eyebrow{letter-spacing:.1em;color:#5e767d;font-weight:600}
.hero-art{opacity:.75}
.section-heading h2{font-weight:650;color:#173b42}
.search-wrap{width:360px;min-height:48px;background:#fff;border-radius:12px;border-color:#d0dfe2}
.search-wrap input{color:#23464e}
.category-chips{gap:9px}
.chip{border-radius:22px;padding:9px 14px;background:#fff;color:#4e6970;border-color:#d8e3e6}
.chip.active{background:#136c65;color:#fff}
.workspace{grid-template-columns:minmax(0,1fr) 390px;gap:24px}
.cards{gap:16px}
.formula-card{border-radius:15px;box-shadow:0 3px 12px #27484b04}
.card-select h3{font-weight:650;color:#214b50;line-height:1.6}
.card-select p,.card-en,.card-bottom,.list-caption{color:#5c737b}
.card-select p{line-height:1.85}
.calculator{border-radius:18px;padding:25px 24px 8px;box-shadow:0 7px 28px #27494c07}
.calc-title p,.calc-step,.field label,.field-unit,.clinical-note,.formula-version{color:#526f76}
.input-shell{min-height:50px;border-radius:9px;background:#f9fbfc}
.input-shell>.unit-select{max-width:145px;color:#41636a}
.calculate-btn{border-radius:10px;min-height:48px;font-weight:600;gap:18px}
.result-box{background:#edf7f3;border-color:#cce5d9;border-radius:13px}
.result-context,.result-label,.result-unit{color:#3f6b5b}
.formula-details summary,.formula-expression{color:#43676b}
.formula-expression{background:#f6f9fa;border-color:#e2e9eb}
.references a{color:#136c65}
.muted,footer,.library-bottom{color:#60747a}
footer{padding-block:24px}
.lab-workbench{border-radius:22px;padding:30px;background:#fff;border:1px solid #d7e5e7;box-shadow:0 8px 30px #27494c06}
.lab-heading h2{font-size:calc(29px * var(--text-scale));font-weight:650;color:#173e45;line-height:1.5}
.lab-heading p,.lab-start-copy p,.lab-help{color:#506b73;font-size:calc(15px * var(--text-scale));line-height:1.85}
.lab-privacy{background:#e9f5ef;color:#246b4e;border:1px solid #d4e9dd;font-size:calc(13px * var(--text-scale))}
.lab-upload{background:#f4faf8;border:1.5px dashed #8ebcaf;border-radius:16px;min-height:185px}
.lab-upload strong{font-size:calc(19px * var(--text-scale))}
.lab-upload span{color:#52766e}
.lab-status{background:#edf5fa;border:1px solid #d6e8f1;color:#295c75;border-radius:10px;padding:13px 16px;font-size:calc(15px * var(--text-scale));line-height:1.8}
.lab-ocr-options{padding:16px 0 8px;gap:16px}
.lab-ocr-options label{font-size:calc(14px * var(--text-scale));color:#45636b}
.lab-ocr-options select{min-height:44px;border-color:#c9d9de}
.lab-ocr-options>span{font-size:calc(13px * var(--text-scale));color:#5c737c}
.lab-workbench .text-btn{min-height:34px;font-size:calc(14px * var(--text-scale));font-weight:500}
.lab-secondary{font-size:calc(15px * var(--text-scale));border-radius:9px;padding:10px 15px;color:#245b60;min-height:44px}
.lab-report-top{font-size:calc(16px * var(--text-scale));color:#315961;padding-top:22px;gap:12px;overflow-wrap:anywhere}
.lab-triage{background:#f8fafc;border:1px solid #dde7eb;border-radius:16px;padding:22px;margin:14px 0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.lab-triage>div:first-child{flex:1;min-width:220px}
.lab-triage h3{margin:5px 0;font-size:calc(21px * var(--text-scale));font-weight:650;color:#244852}
.lab-triage p{font-size:calc(14px * var(--text-scale));color:#61747b;margin:4px 0;line-height:1.8}
.lab-review-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lab-review-filters button{border:1px solid #d2dfe4;background:#fff;border-radius:9px;color:#506b75;padding:10px 13px;font-size:calc(14px * var(--text-scale));min-height:44px}
.lab-review-filters button b{margin-left:6px;display:inline-block;min-width:20px;font-variant-numeric:tabular-nums}
.lab-review-filters button[aria-pressed=true]{border-color:#136c65;background:#e4f2ee;color:#0c5c54}
.lab-issue-list{flex-basis:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lab-issue-list:has(.lab-review-clear){grid-template-columns:1fr}
.lab-issue-list>button{background:#fffaf0;border:1px solid #ecddbc;border-radius:10px;text-align:left;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 12px}
.lab-issue-list b{font-size:calc(15px * var(--text-scale));color:#6b4d22}
.lab-issue-list span{font-size:calc(13px * var(--text-scale));color:#7c653e;grid-column:1;line-height:1.7;overflow-wrap:anywhere}
.lab-issue-list em{font-size:calc(13px * var(--text-scale));color:#80622f;font-style:normal;grid-column:2;grid-row:1/3;align-self:center}
.lab-triage .lab-review-clear{color:#3d735e;margin:0}
.lab-review-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.15fr);gap:22px;align-items:start}
.lab-viewer{position:sticky;top:18px;background:#f9fbfc;border:1px solid #d6e2e7;border-radius:15px;padding:16px;min-width:0}
.lab-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lab-viewer-head h3{font-size:calc(19px * var(--text-scale));margin:4px 0 12px;color:#224e58;font-weight:600}
.lab-viewer-head label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:calc(13px * var(--text-scale));color:#53717a}
.lab-viewer-head select{border:1px solid #cbdce0;border-radius:7px;background:white;color:#315b65;padding:7px;font:inherit}
.lab-viewer-tools{display:flex;align-items:center;gap:8px;margin:3px 0 12px;flex-wrap:wrap}
.lab-viewer-tools button{border:1px solid #d2e0e4;border-radius:7px;min-height:38px;min-width:38px;padding:4px 10px;background:#fff;font-size:calc(14px * var(--text-scale));color:#315c66}
.lab-viewer-tools output{font-size:calc(13px * var(--text-scale));font-variant-numeric:tabular-nums;min-width:45px;text-align:center;color:#456973}
.lab-review-layout .lab-viewer-tools a{font-size:calc(13px * var(--text-scale));margin:0 0 0 auto;color:#136c65;display:inline-block}
.lab-image-viewport{max-height:620px;overflow:auto;border:1px solid #d4dfe4;background:#eaf0f3;border-radius:9px;scrollbar-width:thin;position:relative;overscroll-behavior:contain}
.lab-image-stage{width:100%;position:relative;line-height:0;min-width:0}
.lab-review-layout .lab-image-stage img{width:100%;height:auto;max-height:none;display:block;border:0;border-radius:0;object-fit:fill;background:#fff}
#lab-highlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#lab-highlight rect{fill:#ffc34030;stroke:#d28b12;stroke-width:3;vector-effect:non-scaling-stroke}
.lab-review-layout .lab-location-hint{font-size:calc(14px * var(--text-scale));font-weight:550;line-height:1.8;color:#815716;margin:12px 0 6px;max-width:none}
.lab-review-layout .lab-viewer-note{font-size:calc(13px * var(--text-scale));color:#5e7680;line-height:1.8;margin:6px 0;max-width:none}
.lab-table-wrap{min-width:0;max-height:820px;overflow:auto;border:1px solid #dce7ea;border-radius:12px;scrollbar-width:thin}
.lab-table{min-width:560px;font-size:calc(16px * var(--text-scale))}
.lab-table th{background:#edf4f6;color:#365b65;font-size:calc(14px * var(--text-scale));padding:13px 10px;white-space:nowrap}
.lab-table td{padding:14px 10px;border-color:#e2eaed}
.lab-table th:nth-child(2){width:46%}
.lab-table th:nth-child(3){width:20%}
.lab-table th:nth-child(4){width:24%}
.lab-table td:first-child{width:32px}
.lab-table input[type=checkbox]{width:19px;height:19px;accent-color:#136c65}
.lab-table input:not([type=checkbox]),.lab-table select{padding:10px 9px;border-color:#d0dfe3;border-radius:8px;font-size:calc(16px * var(--text-scale));color:#244a52;min-height:44px;background:#fff}
.lab-table input[data-col=value]{font-size:calc(19px * var(--text-scale));font-weight:600;font-variant-numeric:tabular-nums;min-width:88px}
.lab-table input[data-col=unit]{min-width:112px;font-size:calc(15px * var(--text-scale))}
.lab-table input[data-col=name]{font-weight:550}
.lab-row-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.lab-row-state{font-size:calc(12px * var(--text-scale));background:#eef2f5;border-radius:5px;padding:3px 7px;color:#5b7180;white-space:nowrap}
.lab-row-state.warning{background:#fff0cd;color:#80571d}
.lab-row-state.done{background:#e3f3e9;color:#286d48}
.lab-locate{color:#08756b;font-size:calc(13px * var(--text-scale));padding:4px 0;white-space:nowrap}
.lab-locate:disabled{color:#80919a;opacity:1;cursor:default}
.lab-table tr.needs-attention{background:#fffdf6}
.lab-table tr.is-active{background:#eaf5f4;box-shadow:inset 3px 0 #18867a}
.lab-table .lab-row-problem{font-size:calc(13px * var(--text-scale));color:#86622b;line-height:1.8;margin-top:8px;overflow-wrap:anywhere}
.lab-table details{max-width:none;margin-top:9px;font-size:calc(13px * var(--text-scale))}
.lab-table details summary{font-size:calc(13px * var(--text-scale));color:#52737b;line-height:1.8;cursor:pointer}
.lab-mapping label{display:grid;gap:5px;padding:10px 0;color:#506d77}
.lab-table details span,.lab-table details small{font-size:calc(13px * var(--text-scale));color:#59717b;line-height:1.8;overflow-wrap:anywhere}
.lab-mark-reviewed{margin-top:8px}
.lab-empty-filter{text-align:center;color:#61747d;padding:32px!important}
.lab-context{padding:22px;background:#f8fbfc;border:1px solid #e1eaed;border-radius:13px;gap:18px}
.lab-context label{font-size:calc(14px * var(--text-scale));color:#45636d}
.lab-context input,.lab-context select{font-size:calc(16px * var(--text-scale));min-height:46px}
.lab-checks{font-size:calc(15px * var(--text-scale));color:#385e67;line-height:1.9;gap:14px}
.lab-checks input{width:18px;height:18px}
.lab-actions{gap:12px;padding:10px 0}
.lab-actions .calculate-btn{font-size:calc(16px * var(--text-scale));padding:14px 22px}
.lab-result-grid h4{font-size:calc(18px * var(--text-scale))}
.lab-result-grid article>span,.lab-result-grid small,.lab-result-grid details p,.lab-missing p{font-size:calc(14px * var(--text-scale));color:#4d6f70}
.lab-result-grid strong{font-size:calc(34px * var(--text-scale));color:#136c65}
.lab-workbench textarea{font-size:calc(15px * var(--text-scale));line-height:1.9}
.lab-workbench>details>summary{font-size:calc(15px * var(--text-scale));color:#3a6972}
.lab-workbench button:disabled{cursor:default}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 420px}.lab-review-layout{grid-template-columns:minmax(400px,1fr) minmax(0,1.25fr)}}
@media(max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) 350px}.main-inner{padding-inline:22px}.lab-workbench{padding:24px}.lab-review-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:16px}}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.lab-review-layout{grid-template-columns:1fr}.lab-review-layout .lab-viewer{display:block;position:static}.lab-image-viewport{max-height:470px}.lab-review-layout .lab-image-stage img{width:100%;max-height:none}.lab-table-wrap{max-height:700px}.header-right{gap:8px}.search-wrap{width:100%}}
@media(max-width:700px){.main-inner{padding:16px 12px 0}.topbar{padding:12px 15px}.hero{padding:24px 20px}.hero-art{display:none}.hero-text{max-width:100%}.hero h1{font-size:calc(30px * var(--text-scale))}.hero p{font-size:calc(15px * var(--text-scale))}.lab-workbench{padding:20px 14px;border-radius:17px}.lab-heading h2{font-size:calc(25px * var(--text-scale))}.lab-triage{padding:17px 13px}.lab-issue-list{grid-template-columns:1fr}.lab-review-filters{gap:6px}.lab-review-filters button{padding:9px 10px}.lab-viewer{padding:12px}.lab-context{padding:16px 12px;grid-template-columns:1fr 1fr;gap:16px 12px}.lab-result-grid{grid-template-columns:1fr}.lab-table{min-width:550px}.font-preference button{font-size:13px;padding:6px 8px}.avatar{display:none}.cards{grid-template-columns:1fr}.card-select h3{font-size:calc(19px * var(--text-scale))}.hero-meta{font-size:calc(13px * var(--text-scale))}.calculator{padding:24px 20px}.lab-review-layout .lab-viewer-tools a{margin-left:0}.lab-actions{align-items:stretch}.lab-actions .calculate-btn{width:100%}}
@media print{.lab-workbench,.font-preference{display:none!important}}
@media(max-width:700px){.topbar{flex-wrap:wrap}.topbar .header-right{width:100%;justify-content:space-between}.menu-open main:after{inset:0 0 0 220px}.lab-viewer{scroll-margin-top:16px}}
