:root{--bg:#0f1420;--panel:#171e2e;--panel-2:#1d2639;--text:#e6ebf5;--muted:#8b96ad;--accent:#4f8cff;--accent-2:#2f6ae0;--danger:#e5534b;--radius:10px;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hidden{display:none!important}.muted{color:var(--muted)}.error{color:var(--danger);margin-top:.5rem;font-size:.9em}.login-wrap{justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--panel);border-radius:var(--radius);flex-direction:column;gap:.75rem;width:320px;padding:2rem;display:flex}.login-card h1{margin:0;font-size:1.4rem}.login-card p{margin:0 0 .5rem}.login-card input{background:var(--panel-2);color:var(--text);border:1px solid #2a3550;border-radius:8px;padding:.6rem .8rem;font-size:1em}.login-card button,.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem;font-size:1em}.login-card button:hover,.primary:hover{background:var(--accent-2)}.app{grid-template-columns:280px 1fr;height:100vh;display:grid}.sidebar{background:var(--panel);flex-direction:column;gap:.8rem;padding:1rem;display:flex;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;display:flex}.user-name{font-size:.95em;font-weight:600}.ghost{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.1em}.ghost:hover{color:var(--text)}.sessions{flex-direction:column;gap:2px;display:flex}.session-item{cursor:pointer;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex:none;align-items:center;gap:.3rem;padding:.45rem .6rem;font-size:.9em;line-height:1.25;display:flex;overflow:hidden}.session-item:hover,.session-item.active{background:var(--panel-2);color:var(--text)}.session-title{text-overflow:ellipsis;flex:auto;overflow:hidden}.session-delete{opacity:0;cursor:pointer;color:var(--muted);background:0 0;border:0;flex:none;padding:0 .25rem;font-size:1.1em;line-height:1}.session-item:hover .session-delete,.session-delete:focus-visible{opacity:1}.session-delete:hover{color:#e06c6c}@media (hover:none){.session-delete{opacity:1}}.datasets{border-top:1px solid #ffffff12;padding-top:.7rem}.datasets h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.8em}.dataset-row{color:var(--muted);justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.85em;display:flex}.dataset-row .fresh{color:#4caf7d}.dataset-row .stale{color:#e0a63f}.dataset-row button{font-size:.8em}.appointment-row{flex-direction:column;gap:1px;padding:.3rem 0;font-size:.82em;display:flex}.appointment-row .appt-when{color:#6fd6a0;font-variant-numeric:tabular-nums}.appointment-row .appt-doc{color:var(--muted)}.appointment-row.past{opacity:.55}.appointment-row.past .appt-when{color:var(--muted)}.chat{flex-direction:column;height:100vh;display:flex}.chat-toolbar{justify-content:flex-end;gap:12px;padding:.6rem 1.5rem 0;display:flex}.chat-toolbar .ghost{letter-spacing:.06em;padding:0;font-size:.72em}.messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;word-break:break-word;max-width:760px;line-height:1.5}.msg.user{background:var(--accent-2);border-radius:var(--radius);border-bottom-right-radius:2px;align-self:flex-end;padding:.7rem 1rem}.msg.assistant{align-self:flex-start}.msg-actions{opacity:.45;gap:12px;margin-top:6px;display:flex}.msg.assistant:hover .msg-actions{opacity:1}.msg-actions .ghost{letter-spacing:.06em;padding:0;font-size:.72em}.print-area{display:none}.print-meta{color:#555;margin-bottom:16px;font-size:12px}@media print{html,body.printing{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#111!important;background:#fff!important}body.printing>:not(.print-area){display:none!important}body.printing .print-area{color:#111;background:#fff;margin:0;padding:0;font:14px/1.55 -apple-system,Segoe UI,Roboto,sans-serif;display:block;position:static}body.printing .print-area h1,body.printing .print-area h2,body.printing .print-area h3{line-height:1.3}body.printing .print-area table{border-collapse:collapse}body.printing .print-area th,body.printing .print-area td{border:1px solid #999;padding:4px 8px}body.printing .print-area pre,body.printing .print-area code{background:#f2f2f2;font-family:ui-monospace,Menlo,monospace}body.printing .print-area pre{white-space:pre-wrap;word-break:break-word;padding:8px}body.printing .print-area .print-role{letter-spacing:.07em;text-transform:uppercase;color:#666;border-top:1px solid #ddd;margin:18px 0 6px;padding-top:12px;font-size:11px;font-weight:700}body.printing .print-area .print-role:first-of-type{border-top:none;padding-top:0}body.printing .print-area .print-user{white-space:pre-wrap;word-break:break-word}}.msg.assistant p{margin:0 0 .6rem}.msg.assistant p:last-child{margin-bottom:0}.msg.assistant h1,.msg.assistant h2,.msg.assistant h3,.msg.assistant h4{margin:.8rem 0 .4rem;font-size:1.05em;font-weight:650}.msg.assistant ul,.msg.assistant ol{margin:.3rem 0 .6rem;padding-left:1.4rem}.msg.assistant li{margin:.15rem 0}.msg.assistant strong{color:#fff;font-weight:650}.msg.assistant code{background:var(--panel);border-radius:5px;padding:.1rem .35rem;font-family:ui-monospace,monospace;font-size:.9em}.msg.assistant pre{background:var(--panel);border-radius:8px;margin:.5rem 0;padding:.7rem .9rem;overflow-x:auto}.msg.assistant pre code{background:0 0;padding:0}.msg.assistant a{color:var(--accent)}.msg.assistant table{border-collapse:collapse;width:auto;max-width:100%;margin:.5rem 0;font-size:.92em;display:block;overflow-x:auto}.msg.assistant th,.msg.assistant td{border:1px solid var(--panel-2);text-align:left;padding:.35rem .6rem}.msg.assistant th{background:var(--panel);font-weight:600}.msg.tool{color:var(--muted);background:var(--panel);border-radius:8px;align-self:flex-start;padding:.4rem .8rem;font-family:ui-monospace,monospace;font-size:.8em}.action-panel{background:var(--panel);border:1px solid #2a3550;border-left:3px solid var(--accent);border-radius:var(--radius);align-self:flex-start;width:100%;max-width:620px;padding:.8rem 1rem}.action-title{margin-bottom:.6rem;font-size:.9em}.action-options{flex-direction:column;gap:6px;max-height:340px;padding-right:4px;display:flex;position:relative;overflow-y:auto}.action-options.is-scrollable{box-shadow:inset 0 -18px 14px -14px #0000008c}.action-day{z-index:1;background:var(--panel);color:var(--muted);text-transform:lowercase;letter-spacing:.02em;margin-top:2px;padding:4px 2px 2px;font-size:.78em;position:sticky;top:0}.action-day:first-child{margin-top:0}.action-more{color:var(--muted);margin-top:.5rem;font-size:.82em}.action-opt{text-align:left;background:var(--panel-2);color:var(--text);cursor:pointer;border:1px solid #2a3550;border-radius:8px;padding:.55rem .7rem;font-size:.9em}.action-opt:hover:not(:disabled){border-color:var(--accent)}.action-opt:disabled{opacity:.5;cursor:default}.action-opt.primary-opt{background:var(--accent);border-color:var(--accent);color:#fff;margin-top:.6rem}.action-opt .muted{color:var(--muted)}.action-preview{background:var(--panel-2);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:260px;margin:0;padding:.6rem .8rem;font-size:.82em;overflow-y:auto}.action-done{color:#4caf7d;font-size:.92em}.action-error{color:var(--danger);margin-top:.5rem;font-size:.85em}.action-panel.booking-done{border-left-color:#4caf7d}.booking-card{background:linear-gradient(#4caf7d24,#4caf7d0a);border:1px solid #4caf7d59;border-radius:10px;padding:.8rem 1rem}.booking-head{color:#6fd6a0;margin-bottom:.6rem;font-size:1.05em;font-weight:650}.booking-row{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:baseline;gap:1rem;padding:.22rem 0;font-size:.92em;display:flex}.booking-row:first-of-type{border-top:none}.booking-row .muted{color:var(--muted);font-size:.9em}.booking-hint{color:var(--muted);margin:.7rem 0 .4rem;font-size:.85em}.booking-actions{flex-wrap:wrap;gap:8px;display:flex}.booking-actions .action-opt{flex:0 auto;width:auto}.msg .cursor{animation:1s infinite blink}@keyframes blink{50%{opacity:0}}.msg.thinking,.msg.tool.thinking{min-height:1.4em;color:var(--muted);background:0 0;align-self:flex-start;padding:.2rem 0;font-family:inherit;font-size:.95em}.thinking-label{letter-spacing:.01em;background:linear-gradient(90deg, var(--muted) 0%, #c5d0e6 35%, var(--muted) 70%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;font-size:.95em;transition:opacity .16s;animation:2.4s ease-in-out infinite thinking-shimmer;display:inline-block}@keyframes thinking-shimmer{0%{background-position:100%}to{background-position:-100%}}.composer{background:var(--panel);gap:.6rem;padding:1rem 1.5rem;display:flex;position:relative}.composer-counter{color:var(--muted);pointer-events:none;font-size:.72em;position:absolute;bottom:.15rem;right:1.5rem}.composer-counter.at-limit{color:var(--danger)}.composer textarea{resize:none;background:var(--panel-2);border-radius:var(--radius);color:var(--text);border:1px solid #2a3550;flex:1;padding:.6rem .8rem;font-family:inherit;font-size:1em}.composer button{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:46px;font-size:1.1em}.composer button:disabled{opacity:.5;cursor:default}.embed-body .embed-app{grid-template-columns:200px 1fr}.embed-sidebar{padding:.75rem}.embed-chat-bar,.embed-sidebar-close,.embed-backdrop{display:none}@media (width<=640px){.embed-body .embed-app{grid-template-columns:1fr}.embed-chat-bar{background:var(--panel);border-bottom:1px solid #ffffff12;align-items:center;padding:.55rem 1rem;display:flex}.embed-sessions-btn{color:var(--text);font-size:.95em}.embed-sidebar-close{display:inline}.embed-backdrop{z-index:20;background:#00000073;display:none;position:fixed;inset:0}.embed-body.sidebar-open .embed-backdrop{display:block}.embed-sidebar{z-index:30;width:min(280px,84vw);transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:4px 0 24px #00000059}.embed-body.sidebar-open .embed-sidebar{transform:translate(0)}}.embed-body{--lk-fill-main:#fff;--lk-fill-primary:#eef5ff;--lk-fill-primary-accent:#54a0ff;--lk-fill-secondary:#f2f3f6;--lk-fill-secondary-highest:#d9dadd;--lk-text-heading:#2a3749;--lk-text-main:#2a3749;--lk-text-secondary:#50555d;--lk-text-tertiary:#949ba4;--lk-text-action:#54a0ff;--lk-text-notify:#f7236f;--lk-icon-main:#7a8ca4;--lk-border-default:#e5e7e9;--lk-border-accent:#e2edfd;--lk-radius-lg:16px;--lk-radius-md:12px;--lk-radius-sm:8px;--lk-shadow-modal:0 3px 2px #68686812, 0 7px 5px #6868680d, 0 13px 10px #6868680b, 0 22px 18px #68686809, 0 42px 33px #68686807;background:var(--lk-fill-secondary);color:var(--lk-text-main);height:var(--embed-vh,100vh);width:var(--embed-vw,auto);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.embed-body .app.embed-app,.embed-body .app.embed-app .chat{height:var(--embed-vh,100vh)}.embed-body .login-card,.embed-body .sidebar,.embed-body .composer,.embed-body .embed-chat-bar{background:var(--lk-fill-main)}.embed-body .login-card{border:1px solid var(--lk-border-default);border-radius:var(--lk-radius-lg);width:min(343px,100vw - 32px);box-shadow:var(--lk-shadow-modal);padding:24px}.embed-body .login-card h1{color:var(--lk-text-heading);letter-spacing:-.5px;font-size:20px;font-weight:600;line-height:24px}.embed-body .muted{color:var(--lk-text-tertiary)}.embed-body .error{color:var(--lk-text-notify)}.embed-body .app{background:var(--lk-fill-secondary)}.embed-body .sidebar{border-right:1px solid var(--lk-border-default);gap:12px;padding:16px}.embed-body .sidebar-head{min-height:24px}.embed-body .user-name{color:var(--lk-text-heading);font-size:15px;font-weight:600;line-height:20px}.embed-body .ghost{color:var(--lk-icon-main);font-size:14px}.embed-body .ghost:hover{color:var(--lk-text-main)}.embed-body .primary,.embed-body .composer button{background:var(--lk-fill-primary-accent);border-radius:var(--lk-radius-md);font-weight:500}.embed-body .primary:hover,.embed-body .composer button:hover{background:#428fe9}.embed-body .session-item{color:var(--lk-text-secondary);border-radius:var(--lk-radius-md);padding:8px 12px;font-size:14px;line-height:20px}.embed-body .session-item:hover,.embed-body .session-item.active{background:var(--lk-fill-primary);color:var(--lk-text-heading)}.embed-body .chat{background:var(--lk-fill-main)}.embed-body .messages{gap:16px;padding:24px}.embed-body .msg{color:var(--lk-text-main);letter-spacing:-.4px;font-size:15px;line-height:20px}.embed-body .msg.user{background:var(--lk-fill-primary);color:var(--lk-text-heading);border-radius:var(--lk-radius-lg);border-bottom-right-radius:var(--lk-radius-sm);padding:12px 16px}.embed-body .msg.assistant strong{color:var(--lk-text-heading)}.embed-body .msg.assistant a{color:var(--lk-text-action)}.embed-body .msg.assistant code,.embed-body .msg.assistant pre,.embed-body .msg.tool,.embed-body .msg.assistant th{background:var(--lk-fill-secondary)}.embed-body .msg.assistant th,.embed-body .msg.assistant td{border-color:var(--lk-border-default)}.embed-body .composer{border-top:1px solid var(--lk-border-default);gap:8px;padding:16px 24px 20px}.embed-body .composer textarea{background:var(--lk-fill-secondary);color:var(--lk-text-main);border-radius:var(--lk-radius-sm);border:1px solid #0000;padding:12px;font-size:15px;line-height:20px}.embed-body .composer textarea:focus{outline:2px solid var(--lk-border-accent);border-color:var(--lk-fill-primary-accent)}.embed-body .composer textarea::placeholder{color:#c9ccd1}.embed-body .composer button{color:#fff;width:44px}.embed-body .action-panel{color:#e8edf6}.embed-body .action-panel .muted{color:#aab4c6}.embed-body .action-title{font-size:1em}.embed-body .booking-head{font-size:1.1em}.embed-body .booking-row{font-size:1em}.embed-body .booking-row b{color:#f4f7fc}.embed-body .booking-row .muted{font-size:.93em}.embed-body .action-done{font-size:1em}.embed-body .action-more,.embed-body .booking-hint{color:#aab4c6}@media (width<=640px){.embed-body .messages{padding:16px}.embed-body .composer{padding:12px 16px 16px}.embed-body .embed-chat-bar{border-bottom-color:var(--lk-border-default)}.embed-body .embed-sessions-btn{color:var(--lk-text-heading)}.embed-body .embed-sidebar{box-shadow:var(--lk-shadow-modal)}}
