:root{--bg: #f6f7f9;--surface: #ffffff;--ink: #16181d;--muted: #5d6370;--line: #e3e6ea;--line-soft: #eceef1;--accent: #2457c5;--accent-soft: #eaf1fe;--provider: #2457c5;--patient: #1f7a52;--warn-bg: #fff8e8;--warn-line: #f0d9a8;--warn-ink: #6b4a00;--live: #d92d20;--live-ink: #b42318;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}button,input{font:inherit}h2{margin:0 0 8px;font-size:15px;font-weight:600}.shell{max-width:1440px;margin:0 auto;padding:24px 16px}.gate{display:flex;flex-direction:column;gap:8px;max-width:320px;margin:15vh auto}.gate input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px}.gate button{min-height:44px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:600}.visit{min-height:100vh;display:flex;flex-direction:column}.visit-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.who-block{display:flex;flex-direction:column;min-width:0}.patient{font-size:18px;font-weight:600;letter-spacing:-.01em}.history{font-size:13px;color:var(--muted)}.grow{flex-grow:1}.visit-body{flex-grow:1;display:flex;flex-wrap:wrap;gap:20px;padding:20px 28px 100px;align-items:flex-start}.conversation{flex:1 1 360px;min-width:0}.note{flex:999 1 560px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 24px 24px}.note .sub{font-weight:400;font-size:13px;color:var(--muted)}.empty{color:var(--muted);font-size:14px}.error{margin:12px 28px 0;padding:10px 14px;border-radius:10px;background:#fdecea;color:var(--live-ink)}.btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid #cfd3da;background:#fff;color:var(--ink);font-weight:600;cursor:pointer}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn:disabled{opacity:.4;cursor:default}.pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted)}.pill.live{color:var(--live-ink)}.pill.warn{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);padding:4px 10px;border-radius:999px}.pill.info{color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:999px}.dot{width:9px;height:9px;border-radius:50%;background:var(--live);animation:pulse 1.2s ease-in-out infinite}.level{display:inline-flex;align-items:flex-end;gap:2px;height:20px}.level span{width:3px;border-radius:2px;background:#9aa1ad;transition:height 90ms linear}.lines{list-style:none;margin:0;padding:0}.line{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--line-soft);animation:arrive .26s ease-out}.line .meta{font-size:12px;color:var(--muted)}.line .text{font-size:15px;line-height:1.55}.who{font-weight:600;color:var(--provider)}.who.s1{color:var(--patient)}.line.pending{gap:6px;border-bottom:0}.shim{display:block;height:12px;width:86%;border-radius:6px;background:linear-gradient(90deg,#e8eaee,#f6f7f9,#e8eaee);background-size:600px 100%;animation:shimmer 1.4s linear infinite}.shim.short{width:50%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}@keyframes arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dot,.shim,.line{animation:none}}@media(max-width:600px){.visit-head,.visit-body{padding-left:16px;padding-right:16px}}
