:root{--canvas:#f5f5f7;--surface:#fff;--surface-2:#fbfbfd;--text:#1d1d1f;--muted:#6e6e73;--faint:#8e8e93;--hairline:#e3e3e8;--hairline-strong:#d2d2d7;--accent:#0071e3;--accent-hover:#0077ed;--accent-tint:#e7f1ff;--seg-bg:#ededf0;--amber:#9a5b00;--amber-bg:#fff3e0;--blue:#0058b0;--blue-bg:#e7f1ff;--green:#1b7a34;--green-bg:#e4f7e9;--gray:#5a5a5f;--gray-bg:#ececef;--red:#c4271c;--red-bg:#fde7e5;--yellow:#8a6d00;--yellow-bg:#fff7db;--radius:14px;--radius-sm:10px;--radius-pill:999px;--shadow:0 1px 2px #0000000a, 0 6px 20px #0000000f;--shadow-sm:0 1px 2px #0000000d;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--s-waiting:#ff9500;--s-in_progress:#007aff;--s-done:#34c759;--s-cancelled:#8e8e93}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:14px;line-height:1.45}h1,h2,h3{text-wrap:balance;margin:0}button{font-family:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.hint{color:var(--faint);font-size:12px}a{color:var(--accent)}.topbar{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--hairline);background:#ffffffd1;align-items:center;gap:18px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:9px;font-weight:600;text-decoration:none;display:flex}.brand .dot{background:linear-gradient(160deg,#0a84ff,#0071e3);border-radius:7px;width:22px;height:22px;box-shadow:0 2px 6px #0071e359}.spacer{flex:1}.seg{background:var(--seg-bg);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.seg button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.user{align-items:center;gap:10px;display:flex}.avatar{background:var(--accent-tint);width:28px;height:28px;color:var(--accent);text-transform:uppercase;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.user .who{font-size:13px;line-height:1.15}.user .who b{font-weight:600}.user .who span{color:var(--muted);font-size:12px}.linkbtn{font:inherit;color:var(--accent);cursor:pointer;background:0;border:0;padding:6px;font-size:13px}.linkbtn:hover{text-decoration:underline}.app{min-height:100vh}.shell{grid-template-columns:236px 1fr;align-items:start;display:grid}.rail{border-right:1px solid var(--hairline);height:calc(100vh - 56px);padding:18px 12px;position:sticky;top:56px;overflow-y:auto}.rail .grouplabel{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:8px 12px 6px;font-size:11px;font-weight:600}.rail a,.rail .navlink{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:8px 12px;font-size:14px;font-weight:450;text-decoration:none;display:flex}.rail a .ico,.rail .navlink .ico{width:18px;height:18px;color:var(--faint);flex:none}.rail a:hover,.rail .navlink:hover{background:var(--surface-2)}.rail a.active{background:var(--accent-tint);color:var(--accent);font-weight:550}.rail a.active .ico{color:var(--accent)}.rail .count{color:var(--muted);background:var(--seg-bg);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:600}.rail .back{color:var(--muted);font-size:13px}.rail .patientcard{border:1px solid var(--hairline);background:var(--surface-2);border-radius:12px;margin:4px 8px 14px;padding:12px}.rail .patientcard b{font-weight:600;display:block}.rail .patientcard .sub{color:var(--muted);margin-top:2px;font-size:12.5px}main.content{max-width:1400px;padding:28px 32px 64px}.pagehead{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.pagehead h1{letter-spacing:-.02em;font-size:26px;font-weight:650}.pagehead .date{color:var(--muted);font-size:13.5px}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:26px;display:grid}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px}.tile .k{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;display:flex}.tile .k .swatch{border-radius:50%;width:8px;height:8px}.tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;font-weight:600}.tile .cap{color:var(--faint);margin-top:2px;font-size:12px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-sm);scroll-margin-top:72px;overflow:hidden}.card>header{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:14px 18px;display:flex}.card>header h2{font-size:15px;font-weight:600}.card>header .meta{color:var(--faint);align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.card .body{padding:16px 18px}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.table-wrap{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}table.grid th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:10px 18px;font-size:12px;font-weight:600}table.grid td{border-bottom:1px solid var(--hairline);white-space:nowrap;padding:12px 18px}table.grid tr:last-child td{border-bottom:0}table.grid tbody tr{transition:background .12s}table.grid tbody tr:hover{background:var(--surface-2)}td .name{font-weight:550}.row-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.badge{border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge .d{opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px}.b-waiting{color:var(--amber);background:var(--amber-bg)}.b-in_progress{color:var(--blue);background:var(--blue-bg)}.b-finalized,.b-done,.b-collected,.b-resolved{color:var(--green);background:var(--green-bg)}.b-cancelled{color:var(--gray);background:var(--gray-bg)}.b-error,.b-entered_in_error{color:var(--red);background:var(--red-bg)}.b-active,.b-ordered,.b-draft{color:var(--blue);background:var(--blue-bg)}.b-neutral{color:var(--muted);background:var(--seg-bg)}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s,color .15s}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:#fff}.btn--primary:not(:disabled):hover{background:var(--accent-hover)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--hairline-strong)}.btn--secondary:not(:disabled):hover{background:var(--surface-2)}.btn--ghost{color:var(--accent);background:0 0;padding:7px 10px}.btn--ghost:not(:disabled):hover{background:var(--accent-tint)}.btn--danger{color:var(--red);background:0 0;padding:7px 10px}.btn--danger:not(:disabled):hover{background:var(--red-bg)}.btn--sm{padding:5px 10px;font-size:12.5px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ctxbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ctxbar .pname{letter-spacing:-.02em;font-size:22px;font-weight:650}.ctxbar .pmeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.ctxbar .pmeta .sep{background:var(--hairline-strong);border-radius:50%;width:3px;height:3px}.ctxbar .actions{gap:8px;margin-left:auto;display:flex}.allergystrip{background:var(--red-bg);border:1px solid #f6c9c4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:11px 16px;display:flex}.allergystrip.calm{background:var(--green-bg);border-color:#bfe6c9}.allergystrip .lead{color:var(--red);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.allergystrip.calm .lead{color:var(--green)}.allergystrip .warn-ico{width:17px;height:17px}.allergychips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:#fff;padding:3px 10px;font-size:12px;font-weight:600}.chip.sev-severe{color:var(--red);border-color:#f1b0aa}.chip.sev-moderate{color:var(--amber);border-color:#f0ce9a}.chip.sev-mild{color:var(--yellow);border-color:#e9d89a}.panelgrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.panelgrid .col{flex-direction:column;gap:18px;min-width:0;display:flex}.rowline{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.rowline:last-child{border-bottom:0}.rowline .grow{flex:1;min-width:0}.rowline .acts{flex:none;gap:2px;display:flex}.vitalgrid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px;display:grid}.vital{border:1px solid var(--hairline);background:var(--surface-2);border-radius:10px;padding:10px 12px}.vital .lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-size:11px}.vital .val{font-variant-numeric:tabular-nums;margin-top:3px;font-size:18px;font-weight:600}.vital .val small{color:var(--muted);font-size:11px;font-weight:500}.field{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.field.stackform{flex-direction:column;align-items:stretch}.input,textarea.input{font:inherit;border:1px solid var(--hairline-strong);background:var(--surface);min-width:80px;color:var(--text);border-radius:9px;flex:1;padding:8px 11px;font-size:13.5px}.input::placeholder{color:var(--faint)}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea.input{resize:vertical;width:100%;min-height:52px}.searchbox{gap:8px;margin-bottom:14px;display:flex}.note{border-bottom:1px solid var(--hairline);padding:10px 0;font-size:13.5px}.note:last-child{border-bottom:0}.note .head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.note .by{color:var(--faint);margin-left:auto;font-size:12px}.ver{color:var(--muted);background:var(--seg-bg);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.tag{color:var(--accent);background:var(--accent-tint);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}.errline{color:var(--red);margin-top:8px;font-size:12.5px}.empty{color:var(--faint);padding:4px 0;font-size:13px}.centered{place-items:center;min-height:100vh;padding:20px;display:grid}.logincard{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;width:340px;max-width:100%;padding:36px 34px}.logincard .dot{background:linear-gradient(160deg,#0a84ff,#0071e3);border-radius:12px;width:44px;height:44px;margin:0 auto 14px;box-shadow:0 6px 18px #0071e359}.logincard h1{font-size:22px;font-weight:650}.logincard p{color:var(--muted);margin:6px 0 22px}.logincard .btn{width:100%;padding:10px;font-size:14px}.role-pill{border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);text-transform:capitalize;padding:1px 8px;font-size:11px;font-weight:600}@media (width<=1080px){.panelgrid{grid-template-columns:1fr}}@media (width<=860px){.shell{grid-template-columns:1fr}.rail{display:none}main.content{padding:20px 16px 48px}.user .who{display:none}}@media (prefers-reduced-motion:reduce){*,body{scroll-behavior:auto;transition:none!important}}
