:root{--ink: #1f2328;--ink-soft: #5b6570;--line: #e4e7eb;--blue: #2563eb;--red: #dc2626}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:900px;margin:0 auto;padding:48px 24px 96px}h1{font-size:26px;font-weight:600;margin:0 0 4px}h2{font-size:15px;font-weight:600;margin:0}.age{font-weight:400;color:var(--ink-soft)}.sub{margin:0;color:var(--ink-soft);font-size:14px}.link{background:none;border:0;padding:0;margin:0 0 28px;color:var(--blue);font:inherit;font-size:14px;cursor:pointer}.link:hover{text-decoration:underline}.button{background:#fff;border:1px solid var(--line);border-radius:4px;padding:8px 18px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}.button:hover{border-color:#b9c0c8}.inline-link{background:none;border:0;padding:0;font:inherit;color:var(--blue);cursor:pointer}.inline-link:hover{text-decoration:underline}.patient-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}.patient-row{display:grid;grid-template-columns:1fr 34px;align-items:stretch;border-bottom:1px solid var(--line)}.patient-open{display:grid;grid-template-columns:18px minmax(0,220px) 1fr;align-items:baseline;gap:12px;width:100%;padding:7px 8px;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.patient-row:hover{background:#f7f9fb}.patient-row.is-cleared .patient-open{opacity:.55}.patient-clear{border:0;background:none;padding:0;font-size:14px;line-height:1;color:transparent;cursor:pointer}.patient-row:hover .patient-clear{color:#c3cad2}.patient-clear:focus-visible{color:#c3cad2;outline:2px solid var(--blue);outline-offset:-2px}.patient-row.is-cleared .patient-clear,.patient-row.is-cleared:hover .patient-clear{color:var(--blue)}.patient-clear:hover{color:var(--blue)!important}.patient-name{font-size:15px;font-weight:500}.patient-meta{color:var(--ink-soft);font-size:13px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.section{margin-top:36px}.section-title{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin-bottom:6px}.section-title.is-attention{color:var(--red)}.collapse-toggle{background:none;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.caret{display:inline-block;width:12px}.count{margin-left:8px;color:#98a1ab}.rows.is-collapsed{display:none}.marker-row{display:grid;grid-template-columns:minmax(0,170px) minmax(0,190px) 1fr 126px;align-items:center;gap:12px;width:100%;padding:14px 8px;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;text-align:left;cursor:pointer}.marker-row:first-child{border-top:1px solid var(--line)}.marker-row:hover{background:#f7f9fb}.marker-name{font-size:16px;font-weight:500}.marker-span{font-variant-numeric:tabular-nums;font-size:15px}.marker-trend{color:var(--ink-soft);font-size:14px}.marker-row.is-attention .marker-span,.marker-row.is-attention .marker-name{color:var(--red)}.sparkline{justify-self:end;line-height:0}.plain{font-size:15px;color:var(--ink);margin:0}.empty{margin-top:32px;color:var(--ink-soft)}.footnote{margin-top:56px;padding-top:16px;border-top:1px solid var(--line);color:#98a1ab;font-size:12px}.chart{margin:32px 0 8px}.chart-caption{margin:4px 0 0;color:var(--ink-soft);font-size:13px}.readings{width:100%;border-collapse:collapse;margin-top:32px;font-size:14px}.readings th{text-align:left;font-weight:500;color:var(--ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:0 10px 8px;border-bottom:1px solid var(--line)}.readings td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.readings .num{text-align:right;font-variant-numeric:tabular-nums}.readings td.num.out{color:var(--red);font-weight:600}.printed-as,.original{display:block;color:var(--ink-soft);font-size:12px}.badge{display:inline-block;margin:0 6px 4px 0;padding:2px 7px;border:1px solid var(--line);border-radius:3px;background:#f4f6f8;color:var(--ink-soft);font-size:11px;white-space:nowrap;cursor:help}.notes{margin-top:20px;padding-left:14px;border-left:2px solid var(--line);color:var(--ink-soft);font-size:13px}.notes p{margin:0 0 6px}.print-frame,.print-frame>tbody,.print-frame>tbody>tr,.print-frame>tbody>tr>td{display:block;width:auto;padding:0;margin:0;border:0}.print-frame>thead,.print-frame>tfoot{display:none}.print-banner,.print-head,.print-foot{display:none}@page{size:A4 portrait;margin:15mm}@media print{html,body{font-size:10.5pt;color:#000;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.page{max-width:none;padding:0}.demo-banner{margin:0 0 4mm}.sheet-header h1{display:none}.sheet-header{padding-bottom:2mm}.print-frame{display:table;width:100%;border-collapse:collapse}.print-frame>thead{display:table-header-group}.print-frame>tfoot{display:table-footer-group}.print-frame>tbody{display:table-row-group}.print-frame tr{display:table-row}.print-frame td{display:table-cell;padding:0;border:0;vertical-align:top}.print-banner{display:block;margin-bottom:3mm;padding:1.6mm 2mm;background:#fef6d8!important;border:1.2pt solid #000;color:#000;font-size:8.5pt;font-weight:500;text-align:center;print-color-adjust:exact;-webkit-print-color-adjust:exact}body:has(.print-frame) .demo-banner{display:none!important}.print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8mm;padding-bottom:2mm;margin-bottom:3mm;border-bottom:.5pt solid #000;font-size:8.5pt;line-height:1.35}.print-head-brand{color:#444;letter-spacing:.04em;white-space:nowrap}.print-head-patient{display:block;flex:1;text-align:center}.print-head-name{display:block;font-size:11pt;font-weight:600}.print-head-ref{display:block;margin-top:.5mm;color:#666;font-size:7.5pt;letter-spacing:.04em}.print-head-range{color:#444;white-space:nowrap;text-align:right}.print-foot{display:flex;align-items:baseline;justify-content:space-between;gap:6mm;margin-top:3mm;padding-top:1.5mm;border-top:.5pt solid #bbb;color:#555;font-size:7.5pt}.print-foot-boundary{flex:1}.print-foot-date{white-space:nowrap}.footnote{display:none}.no-print{display:none!important}.sheet-header{padding-bottom:2.5mm;margin-bottom:1mm;border-bottom:.5pt solid #ccc}h1{font-size:14pt}.sub,.marker-trend,.section-title,.age,.count,.inline-link,.plain{color:#000}.section{margin-top:5mm;break-inside:auto}.section-title{font-size:8pt;margin-bottom:1mm;break-after:avoid;page-break-after:avoid}.rows.is-collapsed{display:block}.caret{display:none}.marker-row{display:grid;grid-template-columns:minmax(0,150px) minmax(0,165px) 1fr 126px;padding:2mm 0;break-inside:avoid;page-break-inside:avoid}.marker-row.is-attention .marker-name,.marker-row.is-attention .marker-span,.section-title.is-attention,.readings td.num.out{color:#000;font-weight:600}.sparkline .recharts-curve{stroke:#000!important;stroke-width:2.2px!important;stroke-linecap:round;stroke-linejoin:round}.sparkline circle{fill:#000!important;r:2.1px}.readings{page-break-inside:auto}.readings tr{break-inside:avoid;page-break-inside:avoid}.source-row,.source-toggle,.range-widened{display:none!important}}.lede{max-width:60ch;margin:0 0 32px;color:var(--ink-soft);font-size:15px}.dropzone{border:1px dashed #c7cdd4;border-radius:6px;padding:40px 24px;text-align:center;background:#fcfdfe}.dropzone.is-dragging{border-color:var(--blue);background:#f2f6fe}.dropzone-main{margin:0;font-size:16px;font-weight:500}.dropzone-sub{margin:4px 0 0;color:var(--ink-soft);font-size:13px}.dropzone-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.button-primary{background:var(--blue);border-color:var(--blue);color:#fff}.button-primary:hover{background:#1d4fd8;border-color:#1d4fd8}.button:disabled{opacity:.5;cursor:default}.file-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}.file-row{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:16px;align-items:baseline;padding:12px 8px 12px 12px;border-bottom:1px solid var(--line);border-left:3px solid transparent;font-size:14px}.file-row.is-ok{border-left-color:var(--blue)}.file-row.is-warn{border-left-color:#b45309;background:#fffbf4}.file-row.is-warn .file-found{color:#92400e}.file-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:var(--ink-soft);overflow-wrap:anywhere}.file-found{color:var(--ink)}.build-row{display:flex;align-items:center;gap:14px;margin-top:28px}.build-note{color:var(--ink-soft);font-size:13px}.source-toggle{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--blue);cursor:pointer;white-space:nowrap}.source-toggle:hover{text-decoration:underline}.source-row td{padding:0 10px 14px;border-bottom:1px solid var(--line)}.source-panel{background:#f7f9fb;border:1px solid var(--line);border-radius:4px;padding:12px 14px}.source-file{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--ink-soft);margin-bottom:8px}.source-text{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.source-note{margin-top:8px;color:var(--ink-soft);font-size:12px}@media print{.dropzone,.file-list,.build-row,.source-row,.source-toggle{display:none!important}}.demo-banner{position:sticky;top:0;z-index:20;padding:9px 24px;background:#fef6d8;border-bottom:1px solid #e6d38f;color:#4a3c0b;font-size:13px;line-height:1.45;text-align:center}.demo-banner strong{font-weight:600}.demo-banner+.page{padding-top:36px}@media print{.demo-banner{position:static;display:block!important;margin:0 0 12pt;padding:6pt 8pt;background:#fef6d8!important;border:1.5pt solid #000;color:#000;font-size:10pt;font-weight:500;text-align:center;print-color-adjust:exact;-webkit-print-color-adjust:exact;page-break-after:avoid;break-after:avoid}.demo-banner+.page{padding-top:0}}.patient-note{display:block;margin-top:3px;color:var(--ink-soft);font-size:12px;font-weight:400}.range-widened{margin:4px 0 0;color:var(--ink-soft);font-size:12px}@media print{.patient-note,.range-widened{color:#000}}.room-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 10px}.search{flex:0 1 260px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:14px;color:var(--ink);background:#fff}.search:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}.sorts{display:flex;gap:2px;margin-left:auto}.sort{border:1px solid transparent;background:none;padding:5px 9px;border-radius:4px;font:inherit;font-size:12.5px;color:var(--ink-soft);cursor:pointer;white-space:nowrap}.sort:hover{background:#f2f5f8}.sort.is-on{color:var(--ink);background:#eef2f7;border-color:#dbe2ea}.room-summary{display:flex;align-items:baseline;gap:12px;padding-bottom:6px;color:var(--ink-soft);font-size:12.5px}.room-reset{margin-top:24px;color:var(--ink-soft);font-size:12px}@media print{.room-controls,.room-summary,.room-reset,.patient-clear{display:none!important}}.demo-banner+.page.room{padding-top:20px}.room .link{margin-bottom:10px}.room h1{font-size:22px;margin-bottom:2px}.room .room-controls{margin:12px 0 8px}.room .room-summary{padding-bottom:4px}.room .patient-list{margin-top:0}.room .patient-open{padding:5px 8px;line-height:1.4}.empty-hint{margin:6px 0 0;color:var(--ink-soft);font-size:12.5px}.inline-edit{display:inline-flex;flex-direction:column;vertical-align:top;gap:1px}.inline-edit-display{display:inline-flex;align-items:center;gap:3px}.pencil-btn{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;padding:0 1px;font-size:.7em;color:var(--ink-soft);opacity:0;transition:opacity .15s;line-height:1}.inline-edit:hover .pencil-btn,.inline-edit:focus-within .pencil-btn{opacity:1}.pencil-btn:hover{color:var(--ink)}.inline-edit-original{font-size:.68em;color:var(--ink-soft);line-height:1.3;font-weight:400}.inline-edit-input{font:inherit;font-size:.85em;border:1.5px solid #2563eb;border-radius:3px;padding:1px 5px;width:9ch;outline:none;background:var(--bg);color:var(--ink)}.inline-edit-error{font-size:.72em;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:3px;padding:1px 5px;margin-top:2px;white-space:nowrap}@media print{.pencil-btn,.inline-edit-original,.inline-edit-input,.inline-edit-error{display:none!important}}.patient-row{grid-template-columns:1fr 34px}.note-add{border:0;background:none;font:inherit;font-size:12px;color:#c3cad2;cursor:pointer;padding:0 8px 4px;grid-column:1 / -1}.patient-row:hover .note-add{color:var(--ink-soft)}.note-display{border:0;background:none;font:inherit;font-size:12px;color:var(--ink-soft);cursor:pointer;padding:0 8px 4px;text-align:left;grid-column:1 / -1}.note-icon{margin-right:4px;font-size:11px}.note-text{white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.note-input{grid-column:1 / -1;margin:0 8px 4px;font:inherit;font-size:12px;border:1.5px solid #2563eb;border-radius:3px;padding:4px 6px;resize:vertical;outline:none;background:var(--bg);color:var(--ink)}.sheet-header .note-add,.sheet-header .note-display{padding:0;font-size:13px;margin-top:2px}.sheet-header .note-input{margin:4px 0;font-size:13px;width:100%;max-width:500px}@media print{.note-add,.note-input,.note-icon{display:none!important}.note-display{font-size:11px;padding:0}}
