:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#163249;background:#f2f6fa;font-synthesis:none;--blue:#0764de;--ink:#123449;--line:#dce6f0;--muted:#637c91;--green:#087d67}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #cfdce9;color:var(--ink);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600;min-height:40px;transition:background .15s}button:hover{background:#edf4fc}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91bfff;outline-offset:2px}input,select,textarea{width:100%;min-width:0;border:1px solid #cedce9;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);min-height:41px}textarea{resize:vertical;font-size:12px}label{display:block;font-size:12px;font-weight:600;color:#47637a;margin:12px 0 0}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,2.4vw,34px);line-height:1.18;letter-spacing:-.8px}h2{font-size:16px}h3{font-size:13px}.top{background:#103348;color:#fff;padding:16px max(24px,calc((100vw - 1512px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-size:20px;font-weight:650;white-space:nowrap}.mark{display:grid;place-items:center;width:36px;height:36px;background:#0974ef;border-radius:10px;font-weight:800;font-size:25px}.brand small{display:block;margin-top:4px;color:#a0c4dd;font-size:9px;letter-spacing:2px}.top-actions,.heading-actions,.button-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.top-actions button{background:#214b62;border-color:#3b6178;color:#fff}.read-only{font-size:11px;color:#b4ecd9;border:1px solid #376a6e;padding:7px 11px;border-radius:30px}.read-only:before{content:'●';margin-right:7px;color:#5cdbb0}main{max-width:1512px;margin:auto;padding:28px 24px 0}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#0d6bce;margin-bottom:9px}.page-heading>div>p:last-child{font-size:13px;color:var(--muted);margin-top:10px;max-width:650px;line-height:1.6}.tabs{display:flex;gap:4px;background:#e7edf4;border:1px solid var(--line);border-radius:12px;padding:5px;width:max-content;max-width:100%;margin-bottom:20px}.tabs button{border:0;background:transparent;min-width:145px;color:#647d90}.tabs button.active{background:white;color:#0d5db3;box-shadow:0 2px 5px #12344910}.workspace{display:grid;grid-template-columns:355px minmax(0,1fr);gap:20px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;min-width:0}.setup{padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title>span{font-size:11px;color:var(--muted)}.badge{font-size:10px!important;background:#eff4f9;padding:5px 8px;border-radius:5px;white-space:nowrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{font-size:11px;line-height:1.6;color:var(--muted);margin-top:9px;overflow-wrap:anywhere}.field-block{border-top:1px solid #e7edf3;margin-top:19px;padding-top:17px}.lab-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.lab-grid input{font-size:16px;font-weight:600;padding:10px 8px}.text-button{background:transparent;border:0;color:var(--blue);font-size:11px;min-height:30px;padding:4px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#6d8497;font-size:10px;font-weight:650;background:#f4f7fb;padding:10px 9px;border-bottom:1px solid var(--line)}td{padding:10px 9px;border-bottom:1px solid #e6edf5;vertical-align:middle}th:last-child,td:last-child{text-align:right}.composition th{padding:8px 3px;font-size:9px}.composition td{padding:6px 3px}.composition select{font-size:11px;padding:8px 3px;max-width:180px}.composition input{padding:8px 6px;font-size:12px;min-width:65px}.composition td:last-child{width:22px}.remove{border:0;padding:0;min-height:30px;font-size:20px;color:#94a7b7;background:transparent}.total{display:flex;justify-content:space-between;font-size:12px;padding:12px 4px;background:#f3f7fc;border-radius:7px;margin-top:4px}.total strong{color:#124773}details{border-top:1px solid #e7edf3;margin-top:18px;padding-top:14px}summary{font-size:12px;font-weight:600;color:#49657a;cursor:pointer;line-height:1.5}.details-body{padding-top:2px}.check{display:flex;align-items:center;gap:9px;line-height:1.5}.check input{width:16px;min-height:16px;margin:0}.results-area{display:grid;gap:18px;min-width:0}.algorithm-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.algorithm-option{display:flex;align-items:flex-start;gap:8px;background:#f6f9fc;padding:10px 12px;border:1px solid #dfe8f1;border-radius:9px;margin:0;flex:1;min-width:155px;color:#355369;font-size:12px;font-weight:600;cursor:pointer}.algorithm-option:has(input:checked){background:#eff6ff;border-color:#9fc5f6}.algorithm-option input{width:16px;min-height:16px;margin:1px 0 0}.algorithm-option small{display:block;font-size:10px;font-weight:400;margin-top:4px;color:#71899e}.run-row{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.primary{background:var(--blue);border-color:var(--blue);color:#fff;padding:12px 20px;box-shadow:0 3px 7px #0877ec18}.primary:hover{background:#0558c4}.run-row>span{font-size:11px;color:var(--muted)}.progress{height:4px;border-radius:2px;background:#e5eef8;margin-top:16px;overflow:hidden}.progress div{height:100%;width:4%;background:#1878eb;transition:width .3s}.empty-state{background:#f9fbfd;border:1px dashed #ccdae7;border-radius:14px;padding:70px 30px;text-align:center;color:#698195;grid-column:1/-1}.empty-state h2{color:#35546b;font-size:20px;margin:18px 0 10px}.empty-state p{font-size:13px;max-width:420px;line-height:1.8;margin:auto}.empty-symbol{display:grid;place-items:center;margin:auto;background:#e8f2ff;border-radius:17px;width:52px;height:52px;color:#1377e5;font-size:28px}.steps{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:35px;font-size:10px;color:#96a6b6}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.result-card{padding:20px;background:white;border:1px solid var(--line);border-radius:14px;min-width:0}.result-card .algorithm-name{font-size:10px;letter-spacing:1px;color:#4c7fa5;text-transform:uppercase;margin-bottom:6px}.result-card h3{font-size:16px}.result-card .result-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:19px 0 15px}.metric strong{display:block;font-size:35px;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#154d76}.metric small{display:block;color:#788fa1;font-size:10px;margin-bottom:6px}.metric .pass{color:var(--green)}.metric .fail{color:#b66d15}.amount{text-align:right;font-size:20px;color:#345c77;font-weight:700}.amount small{display:block;font-size:10px;color:#788fa1;font-weight:400;margin-bottom:6px}.lab-line{background:#f3f7fb;padding:10px;border-radius:7px;font-size:11px;color:#567187;line-height:1.7;font-variant-numeric:tabular-nums}.result-card table{margin-top:15px}.result-card td{font-weight:550}.result-card td small{font-size:10px;color:#8298aa}.result-card .variant{border-top:1px solid #e7edf3;margin-top:18px;padding-top:14px}.error{color:#a74921;background:#fff7ee;border:1px solid #f2d9bd;font-size:12px;line-height:1.7;padding:15px;border-radius:10px}.notice{background:#ebf3fd;color:#335d7b;border:1px solid #cbdff5;border-radius:9px;padding:12px 15px;font-size:12px;line-height:1.7;margin-bottom:18px}.notice.warning{background:#fff7ed;border-color:#f0d8b7;color:#8a581d}.notice.success{background:#eaf8f3;border-color:#bfdfd0;color:#236a55}.outcome label{font-size:10px}.outcome input{font-size:13px}.outcome h4{font-size:12px;margin:17px 0 4px}.actual-dose{max-width:105px;font-size:12px;padding:7px}.outcome .lab-grid{margin-bottom:12px}.outcome button{font-size:11px;width:100%;margin-top:8px}.outcome .recorded{background:#eaf8f2;color:#1e7557;padding:10px;border-radius:7px;font-size:11px;line-height:1.7;margin-top:10px}.comparison-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#eaf3ff;border:1px solid #c9ddf7;padding:15px 18px;border-radius:11px;font-size:12px;line-height:1.7}.comparison-strip strong{color:#135b9e}.snapshot-note{grid-column:1/-1;font-size:11px;color:#748ca0;line-height:1.7}.archive-item{display:block;width:100%;text-align:left;margin-top:7px;font-size:11px;overflow-wrap:anywhere}.archive-item small{display:block;margin-top:4px;color:#7b90a0;font-size:10px}.chart{width:100%;height:80px;display:block;margin-top:12px}.chart path{fill:none;stroke:#1979e6;stroke-width:2}.chart .target{stroke:#718da2;stroke-dasharray:4 3}.chart .axis{stroke:#dfe8f1;stroke-width:1}#historyRows td{font-size:11px;line-height:1.7}footer{display:flex;justify-content:space-between;gap:20px;color:#89a0b1;font-size:10px;padding:25px 0;line-height:1.7}dialog{padding:0;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 30px);border:1px solid #d7e4f0;border-radius:17px;box-shadow:0 20px 80px #0d2f4b33;color:var(--ink)}dialog::backdrop{background:#173c5666;backdrop-filter:blur(4px)}.dialog-content{padding:25px}.dialog-content>p{font-size:12px;line-height:1.8;margin-top:16px}.dialog-content .hint{font-size:11px}.close{border:0;font-size:25px;min-height:30px;padding:0 5px}.dialog-content .primary{width:100%}.dialog-content .notice{margin-top:15px}.visually-muted{color:#71899e}button[hidden],div[hidden],section[hidden],p[hidden],input[hidden]{display:none!important}@media(min-width:1550px){.workspace{grid-template-columns:390px minmax(0,1fr)}}@media(max-width:1100px){.workspace{grid-template-columns:330px minmax(0,1fr)}.result-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.heading-actions{justify-content:flex-end}}@media(max-width:760px){main{padding:21px 13px 0}.top{padding:13px 15px}.top-actions{justify-content:flex-end}.read-only{font-size:9px;padding:6px 8px}.top-actions button{font-size:11px;padding:8px}.brand{font-size:17px}.brand small{font-size:8px;letter-spacing:1px}.page-heading{display:block;margin-bottom:19px}.heading-actions{margin-top:16px;justify-content:flex-start}.heading-actions button{font-size:12px}.workspace{grid-template-columns:1fr;gap:15px}.tabs{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.tabs button{min-width:0;padding:9px 5px;font-size:11px}.card{padding:18px}.algorithm-bar{padding:18px}.algorithm-option{min-width:140px}.results-area{gap:14px}.result-grid{grid-template-columns:1fr}.empty-state{padding:40px 20px}.setup .composition select{max-width:none}.page-heading>div>p:last-child{font-size:12px}.run-row .primary{flex:1}footer{flex-direction:column;gap:5px}.dialog-content{padding:21px}.lab-grid input{font-size:17px}.composition select,.composition input{font-size:14px}.composition td:nth-child(2){width:100px}.section-title .badge{font-size:9px!important}}

.palette{max-height:220px;overflow:auto;padding:4px 1px}.palette .check{font-size:11px;font-weight:400;overflow-wrap:anywhere}

.result-card[data-algorithm="archive-correct"]{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-card[data-algorithm="archive-correct"]>.algorithm-name,.result-card[data-algorithm="archive-correct"]>h3,.result-card[data-algorithm="archive-correct"]>.hint,.result-card[data-algorithm="archive-correct"]>details,.result-card[data-algorithm="archive-correct"]>.notice{grid-column:1/-1}.result-card[data-algorithm="archive-correct"]>.variant,.result-card[data-algorithm="archive-correct"]>.first-variant{border:1px solid #dce6f0;border-radius:10px;padding:14px;margin:0;min-width:0}.archive-origin{margin-top:17px}.archive-origin table{font-size:10px;table-layout:fixed}.archive-origin th,.archive-origin td{padding:8px 4px;text-align:right;overflow-wrap:anywhere}.archive-origin th:first-child,.archive-origin td:first-child{text-align:left;width:37%}.archive-origin h3{font-size:14px}.archive-origin small{color:#1572c9}@media(max-width:1200px){.result-card[data-algorithm="archive-correct"]{grid-template-columns:1fr}}@media(max-width:760px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-origin table{font-size:11px}}
