:root{--bg: #ffffff;--bg-2: #f6f7f9;--fg: #1d2430;--muted: #6a7380;--line: #e1e5ea;--accent: #0b6e4f;--accent-bg: #e3f3ec;--error: #b42318;--warning: #b54708;--info: #175cd3;--hl: #fff1a8;--mark: rgba(181, 71, 8, .18);--d-field: #8a3ffc;--d-comp: #0b6e4f;--d-rep: #b54708;--d-esc: #b42318;--d-sub: #175cd3;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--bg: #12161c;--bg-2: #181d25;--fg: #e6e9ee;--muted: #9aa4b1;--line: #2a323d;--accent: #4fd1a5;--accent-bg: #173b2f;--error: #ff8c82;--warning: #ffb866;--info: #7fb2ff;--hl: #4a4200;--mark: rgba(255, 184, 102, .22);--d-field: #c4a3ff;--d-comp: #4fd1a5;--d-rep: #ffb866;--d-esc: #ff8c82;--d-sub: #7fb2ff}}html,body{margin:0;background:var(--bg)}#hl7-app{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;color:var(--fg);background:var(--bg);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#hl7-app *{box-sizing:border-box}#hl7-app a{color:var(--accent)}#hl7-app code{font-family:var(--mono)}.bar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--line);background:var(--bg-2)}.bar .left,.bar .right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bar h1{font-size:1rem;margin:0 .5rem 0 0}.bar select,.btn{font:inherit;padding:.3rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);cursor:pointer}.btn:hover,.bar select:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn.primary:hover{filter:brightness(1.1)}.btn.summary.has-error{color:var(--error);border-color:var(--error)}.btn.summary.has-warning{color:var(--warning);border-color:var(--warning)}.badge{font-family:var(--mono);font-size:.8rem;color:var(--muted)}.status{color:var(--muted);font-size:.85rem;flex-basis:100%;order:99}.status:empty{display:none}.panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}@media (max-width: 900px){.panes{grid-template-columns:1fr}.raw-pane{min-height:40vh}}.raw-pane{position:relative;border-right:1px solid var(--line);min-height:60vh;max-height:calc(100vh - 110px)}.raw-overlay,.raw-input{position:absolute;inset:0;margin:0;padding:.75rem 1rem;font:13px/1.5 var(--mono);white-space:pre;overflow:auto;tab-size:4;border:0}.raw-overlay{color:var(--fg);pointer-events:none;background:var(--bg)}.raw-input{color:transparent;background:transparent;caret-color:var(--fg);resize:none;outline:none;width:100%;height:100%}.raw-input::placeholder{color:var(--muted)}.raw-input::selection{background:#0b6e4f40}.raw-overlay .d-field{color:var(--d-field);font-weight:600}.raw-overlay .d-comp{color:var(--d-comp)}.raw-overlay .d-rep{color:var(--d-rep);font-weight:600}.raw-overlay .d-esc{color:var(--d-esc)}.raw-overlay .d-sub{color:var(--d-sub)}.raw-overlay .ctl{color:var(--muted);background:var(--bg-2);border-radius:3px;font-size:.8em}.raw-overlay mark.hl{background:var(--hl);color:inherit;border-radius:2px;outline:1px solid var(--warning)}.raw-overlay .mark{background:var(--mark);border-bottom:2px solid var(--warning)}.raw-overlay .hover{background:var(--accent-bg);border-radius:2px;box-shadow:0 0 0 1px var(--accent) inset}.tip{position:fixed;z-index:10;max-width:26rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);box-shadow:0 4px 16px #0000002e;font-size:.8rem;pointer-events:none}.tip .tip-head{display:flex;gap:.5rem;align-items:baseline;font-family:var(--mono)}.tip .tip-head .addr{color:var(--d-field);font-weight:600}.tip .tip-head .dt{font-size:.7rem;padding:0 .3rem;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.tip .tip-name{font-weight:500}.tip .tip-val{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;margin-top:.15rem}.tip .muted{color:var(--muted)}.tip .tip-decoded{color:var(--accent)}.tree-pane{overflow:auto;max-height:calc(100vh - 110px);padding:.5rem .75rem 2rem}.empty{padding:2rem 1rem;color:var(--muted)}.empty .privacy{color:var(--fg);font-weight:500}.tree{font-family:var(--mono);font-size:12.5px}.tree details{margin:0}.tree details>summary{list-style:none;display:flex;align-items:baseline;cursor:default}.tree details>summary::-webkit-details-marker{display:none}.tree .caret{display:inline-block;width:1rem;cursor:pointer;color:var(--muted);flex:none}.tree .caret:before{content:"▾"}.tree details:not([open])>summary .caret:before{content:"▸"}.tree .children{padding-left:1.25rem;border-left:1px dotted var(--line);margin-left:.4rem}.tree .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;padding:.1rem .3rem;border-radius:4px;cursor:pointer;flex:1;min-width:0}.tree .row:hover{background:var(--bg-2)}.tree .row.selected{background:var(--accent-bg);outline:1px solid var(--accent)}.tree .row.segment{font-weight:600;margin-top:.35rem}.tree .row.segment .addr{color:var(--d-field)}.tree .row.note{color:var(--muted);cursor:default;font-style:italic}.tree .addr{color:var(--muted);min-width:6.5rem}.tree .name{color:var(--fg);font-family:system-ui,sans-serif}.tree .name.local{color:var(--muted);font-style:italic}.tree .dt,.tree .req,.tree .tier{font-size:.7rem;padding:0 .3rem;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.tree .req{color:var(--warning);border-color:var(--warning)}.tree .value{color:var(--fg);white-space:pre-wrap;word-break:break-all}.tree .value.empty{color:var(--muted)}.tree .value.escaped{text-decoration:underline dotted var(--d-esc);cursor:help}.tree .decoded{color:var(--accent);font-family:system-ui,sans-serif}.tree .decoded.missing{color:var(--warning)}.tree a.ref{font-size:.7rem;color:var(--info);text-decoration:none;border-bottom:1px dotted}.findings{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:.75rem}.findings h2{font-size:.95rem;margin:0 0 .5rem}.findings .note{color:var(--muted)}.finding-row{display:flex;align-items:center;gap:.5rem}.finding{display:flex;align-items:baseline;gap:.5rem;width:100%;text-align:left;font:inherit;background:none;border:0;border-radius:4px;padding:.25rem .4rem;color:var(--fg);cursor:pointer}.finding:hover{background:var(--bg-2)}.finding .icon{flex:none;width:1rem}.finding.error .icon{color:var(--error)}.finding.warning .icon{color:var(--warning)}.finding.info .icon{color:var(--info)}.finding .addr{font-family:var(--mono);color:var(--muted);flex:none;min-width:6rem}.finding .msg{flex:1}.finding .tier{font-size:.7rem;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 .3rem}.explain{font-size:.8rem;white-space:nowrap}.foot{padding:.75rem 1rem;border-top:1px solid var(--line);background:var(--bg-2);color:var(--muted);font-size:.85rem}.foot .funnel{color:var(--fg);font-weight:500;margin:0 0 .4rem}.foot .funnel:empty{display:none}.foot p{margin:0}dialog.disclaimer{max-width:44rem;width:calc(100% - 2rem);max-height:calc(100vh - 4rem);overflow:auto;padding:1.25rem 1.5rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}dialog.disclaimer::backdrop{background:#0000008c}dialog.disclaimer h2{margin:0 0 .5rem;font-size:1.15rem}dialog.disclaimer .lead{font-weight:600}dialog.disclaimer p{margin:0 0 .75rem;font-size:.9rem}dialog.disclaimer .actions{display:flex;justify-content:flex-end;margin-top:1rem}
