:root{--bg: #f2f5f2;--paper: #ffffff;--ink: #16282b;--muted: #55676a;--line: #d3ddd9;--primary: #1e6b63;--primary-dark: #17544e;--alert: #a8362a;--alert-bg: #f9e6e2;--warn-bg: #fbf0da;--warn-ink: #6b4300;--radius: 14px;--body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Literata", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0}p{margin:0}:focus-visible{outline:3px solid #e0a526;outline-offset:2px}.app{min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.top{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 18px 6px}.top h1{font-size:1.35rem;color:var(--primary-dark)}.page{max-width:640px;margin:0 auto;padding:8px 16px 24px;display:grid;gap:22px}.page h2{font-size:1.15rem;margin-bottom:10px}.muted{color:var(--muted)}.stack{display:grid;gap:14px}.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 16px 10px;scrollbar-width:none;max-width:640px;margin:0 auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-weight:700}.chip.on{background:var(--c, var(--primary));border-color:var(--c, var(--primary));color:#fff}.chip.on .dot{background:#fff}.dot{width:10px;height:10px;border-radius:50%;background:var(--c, var(--primary));flex:none}.mcard{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);border-left:8px solid var(--c);padding:14px 14px 12px;display:grid;gap:12px}.mcard>header{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-family:var(--display);font-weight:700;font-size:1.3rem}.who{flex:1;min-width:0}.who h3{font-size:1.25rem;overflow-wrap:anywhere}.who p{color:var(--muted);font-size:.95rem}.blood{flex:none;min-width:58px;text-align:center;padding:6px 10px;border-radius:12px;background:var(--alert);color:#fff;font-family:var(--display);font-weight:700;font-size:1.5rem}.allergy{display:flex;gap:10px;align-items:flex-start;background:var(--alert-bg);color:#6e1f16;border-radius:10px;padding:10px 12px}.allergy svg{flex:none;margin-top:2px}.facts{margin:0 0 16px;display:grid;gap:10px}.facts.tight{margin:0;gap:6px}.facts div{display:grid;grid-template-columns:7.5rem 1fr;gap:10px}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:64px;padding:10px 14px;margin-bottom:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.row-main{flex:1;min-width:0;display:grid;gap:2px}.row-main strong{overflow-wrap:anywhere}.row small{color:var(--muted);font-size:.92rem}.row.faded{opacity:.62}.who-tag{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;color:var(--muted);flex:none}.visit.hero{width:100%;text-align:left;display:grid;gap:4px;padding:16px;background:var(--paper);border:1px solid var(--line);border-left:8px solid var(--c);border-radius:var(--radius)}.visit.hero strong{font-family:var(--display);font-size:1.4rem}.visit.hero small{color:var(--muted)}.toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}.search{display:flex;align-items:center;gap:8px;padding:0 12px;min-height:48px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px}.search input{flex:1;min-width:0;border:0;background:none;outline:none}.search:focus-within{border-color:var(--primary)}.toolbar select{min-height:48px}.banner{padding:12px 14px;border-radius:12px}.banner.warn{background:var(--warn-bg);color:var(--warn-ink)}.empty{text-align:center;display:grid;gap:14px;justify-items:center;padding:36px 8px}.empty p{color:var(--muted);max-width:30ch}.error{color:var(--alert);font-weight:700;margin:4px 0 10px}.primary{background:var(--primary);color:#fff;border:0;border-radius:12px;min-height:48px;padding:0 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary:hover{background:var(--primary-dark)}.primary:disabled{opacity:.6;cursor:wait}.big{width:100%;min-height:54px;font-size:1.05rem}.ghost{background:none;border:1.5px solid var(--line);border-radius:12px;min-height:48px;padding:0 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ghost.danger{color:var(--alert);border-color:#e4bdb7}.icon{background:none;border:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--muted);flex:none}.icon:hover{background:#0000000f}.link{background:none;border:0;padding:0;color:var(--primary);font-weight:700;text-decoration:underline}.fab{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;border:0;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px #16282b47}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs button{background:none;border:0;min-height:64px;display:grid;justify-items:center;align-content:center;gap:2px;color:var(--muted);font-size:.8rem;font-weight:700}.tabs button.on{color:var(--primary)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#16282b80;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;background:var(--bg);border-radius:20px 20px 0 0;padding:8px 18px calc(22px + env(safe-area-inset-bottom));animation:rise .22s ease-out}@keyframes rise{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}.sheet>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:1}.sheet>header h2{font-size:1.25rem;overflow-wrap:anywhere}.field{display:grid;gap:6px;margin-bottom:14px}.field>span{font-weight:700}.field input,.field select,.field textarea,.toolbar select{width:100%;min-height:48px;padding:10px 12px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:none}.check{display:flex;align-items:center;gap:12px;min-height:48px;margin-bottom:10px;font-weight:700}.check input{width:24px;height:24px;accent-color:var(--primary)}.actions{display:grid;gap:10px;margin-top:8px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login form{width:100%;max-width:380px;display:grid;gap:14px}.login h1{font-size:2rem;color:var(--primary-dark)}.login p{color:var(--muted)}.login .field{margin:6px 0 0}@media (min-width: 700px){.scrim{align-items:center}.sheet{border-radius:20px}}@media (prefers-reduced-motion: reduce){.sheet{animation:none}}
