:root{--pine:#1f5f5b;--pine-deep:#123f3c;--mint:#e9f2ef;--mint-strong:#cfe3dc;--ink:#1c2626;--ink-soft:#55625f;--line:#d7e0dc;--paper:#fbfcfb;--amber:#b7791f;--amber-soft:#fbf1dc;--red:#a83a32;--red-soft:#f8e5e2;--radius:10px}
*{box-sizing:border-box}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#e3ebe8;-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer}input,select{font:inherit}
.stage{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:24px 12px}
.phone{width:100%;max-width:400px;background:var(--paper);border-radius:22px;min-height:680px;box-shadow:0 1px 2px rgba(20,40,38,.08),0 12px 30px rgba(20,40,38,.1);overflow:hidden;display:flex;flex-direction:column}
.phone header{padding:22px 22px 8px}.clinic{color:var(--pine);font-weight:700;font-size:13px}
h2{margin:6px 0 4px;font-size:24px;font-weight:700;line-height:1.2}p.lead{margin:0 0 8px;color:var(--ink-soft);font-size:14px;line-height:1.5}
.body{padding:8px 22px 22px;flex:1;display:flex;flex-direction:column;gap:14px}
label.f{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:6px}
.field{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;font-size:16px}
.field:focus{outline:2px solid var(--pine);outline-offset:1px;border-color:var(--pine)}
.primary{background:var(--pine);color:#fff;border:0;padding:14px;border-radius:var(--radius);font-size:16px;font-weight:700;width:100%}.primary:disabled{opacity:.45;cursor:not-allowed}
.ghost{background:transparent;border:1.5px solid var(--line);padding:11px;border-radius:var(--radius);color:var(--pine);font-weight:500;width:100%}.ghost.danger{color:var(--red)}
.err{color:var(--red);font-size:13px;margin-top:-6px}.note{background:var(--mint);border-radius:var(--radius);padding:12px 14px;font-size:13px;color:var(--pine-deep);line-height:1.5}
.otp input{text-align:center;font-size:24px;font-weight:700;padding:10px 0;letter-spacing:.3em}
.med{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.med:first-child{border-top:0}
.med input{width:22px;height:22px;margin-top:2px;accent-color:var(--pine)}.med .n{font-weight:700;font-size:15px}.med .d{font-size:13px;color:var(--ink-soft)}
.med .lock{margin-left:auto;font-size:12px;color:var(--ink-soft);background:#eef0ef;padding:3px 8px;border-radius:999px;white-space:nowrap}.med.off{opacity:.55}
.qty{display:flex;gap:8px}.qty button{flex:1;padding:12px 0;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius);font-weight:500}.qty button.on{border-color:var(--pine);background:var(--mint);color:var(--pine-deep);font-weight:700}
.chat{display:flex;flex-direction:column;gap:10px}.bub{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5}.bub.ai{background:var(--mint);border-bottom-left-radius:4px}.bub.me{background:var(--pine);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.thinking{color:var(--ink-soft);font-size:13px}.done{text-align:center;padding:30px 0 10px}.done .tick{width:64px;height:64px;border-radius:50%;background:var(--mint);color:var(--pine);display:inline-flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin-bottom:14px}
.sum{border:1.5px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:14px}.sum div+div{margin-top:6px}.sum span{color:var(--ink-soft)}
.inbox{width:100%;max-width:880px;background:var(--paper);border-radius:14px;box-shadow:0 1px 2px rgba(20,40,38,.08),0 12px 30px rgba(20,40,38,.1);overflow:hidden}
.inbox .top{padding:20px 26px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:14px}.inbox .top h2{margin:0;font-size:20px}.inbox .top span{color:var(--ink-soft);font-size:14px}
.empty{padding:60px 26px;text-align:center;color:var(--ink-soft)}
.req{padding:20px 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 240px;gap:20px}@media(max-width:640px){.req{grid-template-columns:1fr}}
.req h3{margin:0 0 4px;font-size:17px}.req h3 span{font-weight:400;color:var(--ink-soft);font-size:14px}.req .meta{color:var(--ink-soft);font-size:13px;margin-bottom:12px}
.flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pill{font-size:12px;padding:4px 10px;border-radius:999px;font-weight:500}.pill.ok{background:var(--mint);color:var(--pine-deep)}.pill.warn{background:var(--amber-soft);color:#6f4707}.pill.stop{background:var(--red-soft);color:var(--red)}
.ai{background:#fff;border:1.5px solid var(--line);border-left:4px solid var(--pine);border-radius:0 var(--radius) var(--radius) 0;padding:12px 14px;font-size:14px;line-height:1.55;white-space:pre-wrap}.ai .who{font-size:12px;color:var(--pine);font-weight:700;margin-bottom:4px}
.lines{font-size:14px;margin:10px 0}.lines div{padding:4px 0}.actions{display:flex;flex-direction:column;gap:8px;align-self:start}.actions .primary{padding:12px;font-size:15px}.actions .ghost{padding:10px}
.stamp{font-size:13px;color:var(--ink-soft);padding:10px 12px;background:var(--mint);border-radius:var(--radius)}.stamp.declined{background:var(--red-soft);color:var(--red)}
.link{background:none;border:0;color:var(--pine);font-size:13px;font-weight:500;padding:0;margin-left:12px;text-decoration:underline}
.chart{margin-top:14px;border:1.5px solid var(--mint-strong);background:var(--mint);border-radius:var(--radius);padding:12px 14px}.chart-h{font-size:13px;font-weight:700;color:var(--pine-deep);margin-bottom:8px}
.enc{background:#fff;border-radius:8px;padding:10px 12px;margin-top:8px}.enc-d{font-size:12px;color:var(--ink-soft);margin-bottom:4px}.enc pre{margin:0;font:13px/1.5 Manrope,system-ui,sans-serif;white-space:pre-wrap}
:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.demo-hint{padding:12px 26px;font-size:12px;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.dob{display:flex;gap:8px}.dob input{text-align:center}.dob input:last-child{flex:1.4}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);line-height:1.45}.consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--pine);flex:none}.consent a{color:var(--pine)}
.dob{display:flex;gap:6px}
.dob input.field{width:0;min-width:0;flex:1;padding:12px 4px;text-align:center;font-size:16px;letter-spacing:.02em}
.dob input.field:last-child{flex:1.6}
.plist{border:1.5px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);background:#fff;max-height:220px;overflow:auto}.plist:empty{display:none}.pitem{padding:10px 14px;border-top:1px solid var(--line);cursor:pointer;font-size:14px}.pitem:first-child{border-top:0}.pitem .d{font-size:12px;color:var(--ink-soft)}
.opts{display:flex;flex-direction:column;gap:8px}.opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;font-size:15px}.opt input{width:20px;height:20px;margin-top:2px;accent-color:var(--pine);flex:none}.opt .d{font-size:13px;color:var(--ink-soft);margin-top:2px}.opt:has(input:checked){border-color:var(--pine);background:var(--mint)}
.q{margin-bottom:16px}.qp{font-size:15px;font-weight:500;margin-bottom:4px}.qh{font-size:13px;color:var(--ink-soft);margin-bottom:8px}
.bp{display:flex;align-items:center;gap:8px}.bp input{text-align:center}.bp .sl{font-size:20px;color:var(--ink-soft)}
.note.urgent{background:var(--red-soft);color:var(--red);font-weight:500}
