:root{--blue: #1d6fe8;--blue-soft: #eaf2fe;--line: #e6eaf0;--line-2: #eef1f5;--bg: #f4f6f9;--text: #172230;--text-2: #5b6878;--text-3: #8a96a5;--red: #cf3f3f;--red-soft: #fdeceb;--amber: #a86700;--amber-soft: #fdf3e1;--green: #1f8a4c;--green-soft: #e6f5ec;--violet: #6b46c1;--violet-soft: #f1ebfd;--note: #fff8e1;--note-line: #f0dc9a}html,body,#root,#root>.ant-app{height:100%}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.muted{color:var(--text-3)}.grow{flex:1}.boot-screen{height:100%;display:grid;place-items:center;padding:16px}.tooth-mark{display:inline-grid;place-items:center;border-radius:10px;background:linear-gradient(150deg,#3b86f3,#1d5fd0);flex:none}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,#e3edfc,transparent),var(--bg)}.login-card{width:min(400px,100%);border-radius:16px;box-shadow:0 10px 40px #14285014}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.login-title{font-size:20px;font-weight:700}.login-sub{color:var(--text-3);font-size:13px}.login-note{margin:16px 0 0!important;font-size:13px;text-align:center}.shell{height:100vh;min-height:0}.shell-header{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;line-height:normal!important}.brand{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer;flex:none}.brand-txt{display:flex;flex-direction:column;line-height:1.15;text-align:left}.brand-txt b{font-size:15px;color:var(--text)}.brand-txt span{font-size:11.5px;color:var(--text-3)}.shell-nav{flex:1;min-width:0;border-bottom:0!important}.shell-nav.ant-menu-horizontal{line-height:58px}.nav-label{display:inline-flex;align-items:center;gap:6px}.shell-right{display:flex;align-items:center;gap:8px;flex:none}.shell-search{width:300px}.search-opt{display:flex;flex-direction:column;line-height:1.35;padding:2px 0}.search-opt span{font-size:12px;color:var(--text-3)}.channel-alert{color:var(--amber)!important}.user-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:3px 12px 3px 3px;cursor:pointer}.user-chip:hover{border-color:#c9d2de}.user-chip-txt{display:flex;flex-direction:column;line-height:1.15;text-align:left}.user-chip-txt b{font-size:13px}.user-chip-txt span{font-size:11px;color:var(--text-3)}.user-menu-who{display:flex;flex-direction:column;color:var(--text)}.user-menu-who span{font-size:12px;color:var(--text-3)}.shell-content{flex:1;min-height:0;overflow:auto}.inbox{height:100%;min-height:0;display:grid}.inbox--wide{grid-template-columns:340px minmax(0,1fr) 360px}.inbox--mid{grid-template-columns:320px minmax(0,1fr)}.inbox--narrow{display:block}.pane{min-height:0;min-width:0;display:flex;flex-direction:column;background:#fff}.pane-queue{border-right:1px solid var(--line)}.pane-thread{background:#f7f9fc}.pane-context{border-left:1px solid var(--line);overflow-y:auto}.queue{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.queue-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:10px}.queue-title-row{display:flex;align-items:center;justify-content:space-between}.queue-title{margin:0;font-size:17px;font-weight:700}.live-dot{font-size:11.5px;color:var(--text-3);display:inline-flex;align-items:center;gap:6px}.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#b8c0cc}.live-dot.on:before{background:#2fb36b;box-shadow:0 0 0 3px #2fb36b2e}.queue-filters{display:flex;flex-wrap:wrap;gap:6px}.qf{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:15px;border:1px solid var(--line);background:#fff;color:var(--text-2);font:inherit;font-size:13px;cursor:pointer}.qf:hover{border-color:#c9d2de;color:var(--text)}.qf.on{background:var(--blue-soft);border-color:#bcd4fb;color:var(--blue);font-weight:600}.qf-n{font-size:12px;font-weight:700;opacity:.85}.queue-sub{display:flex;align-items:center;justify-content:space-between;gap:8px}.qf-link{background:none;border:0;color:var(--text-3);font:inherit;font-size:12.5px;cursor:pointer;padding:0}.qf-link:hover,.qf-link.on{color:var(--blue)}.queue-list{flex:1;overflow-y:auto;min-height:0}.queue-empty{padding:36px 24px;display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:13px;text-align:center}.queue-empty b{color:var(--text);font-size:14px}.q-row{width:100%;display:flex;gap:12px;padding:12px 16px;border:0;border-bottom:1px solid var(--line-2);background:#fff;text-align:left;cursor:pointer;position:relative;font:inherit;color:inherit}.q-row:hover{background:#f8fafc}.q-row.on{background:var(--blue-soft)}.q-row.on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}.q-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.q-top{display:flex;align-items:baseline;gap:8px}.q-name{flex:1;min-width:0;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-row.unread .q-name{font-weight:700}.q-time{font-size:12px;color:var(--text-3);flex:none}.q-prev{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-meta{display:flex;align-items:center;gap:8px;min-height:20px}.q-status{font-size:12px;font-weight:600}.tone-red{color:var(--red)}.tone-amber{color:var(--amber)}.tone-blue{color:var(--blue)}.tone-violet{color:var(--violet)}.tone-gray{color:var(--text-3)}.q-unread{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:var(--blue);color:#fff;font-size:11.5px;font-weight:700;display:inline-grid;place-items:center;padding:0 6px}.person-avatar{position:relative;display:inline-flex;flex:none;align-self:flex-start}.person-avatar-ch{position:absolute;right:-3px;bottom:-3px;border-radius:50%;box-shadow:0 0 0 2px #fff;display:inline-flex}.ch-icon{display:inline-grid;place-items:center;border-radius:50%;flex:none;overflow:hidden}.ch-icon svg{display:block}.thread{display:flex;flex-direction:column;height:100%;min-height:0}.thread-empty{height:100%;display:grid;place-items:center;padding:16px}.thread-head{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.thread-who{flex:1 1 220px;min-width:0}.thread-name{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.thread-name a{color:var(--text)}.thread-name a:hover{color:var(--blue)}.thread-tag{margin:0!important;font-weight:500}.thread-sub{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);margin-top:3px;flex-wrap:wrap}.cap{font-size:12px;font-weight:600;padding:1px 9px;border-radius:10px}.cap-ok{color:var(--green);background:var(--green-soft)}.cap-warn{color:var(--amber);background:var(--amber-soft)}.cap-bad{color:var(--red);background:var(--red-soft)}.thread-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.thread-body{flex:1;overflow-y:auto;padding:16px 24px 20px;min-height:0}.day-group{display:flex;flex-direction:column;gap:10px}.day-sep{display:flex;justify-content:center;margin:12px 0 4px}.day-sep span{font-size:12px;color:var(--text-3);background:#fff;border:1px solid var(--line);border-radius:12px;padding:2px 12px}.m{display:flex;flex-direction:column;max-width:min(620px,78%);gap:4px}.m-in{align-self:flex-start}.m-out{align-self:flex-end;align-items:flex-end}.m-author{font-size:12px;color:var(--text-3);display:flex;gap:5px;align-items:center}.m-bubble{padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5}.m-in .m-bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.m-out .m-bubble{background:#dcebfe;color:#10243f;border-bottom-right-radius:5px}.m-robot .m-bubble{background:#fff;color:var(--text-2);border:1px dashed #c9d2de;font-size:13.5px}.m-text{white-space:pre-wrap;overflow-wrap:anywhere}.m-deleted{color:var(--text-3)}.m-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-3);flex-wrap:wrap}.m-out .m-meta{justify-content:flex-end;text-align:right}.m-status{display:inline-flex;align-items:center;gap:4px}.m-status--bad{color:var(--red)}.m-status--warn{color:var(--amber)}.m-status .ant-btn{height:auto;padding:0 2px;font-size:11.5px}.m-event{align-self:center;display:flex;align-items:flex-start;gap:8px;max-width:90%;font-size:12.5px;color:var(--text-2);padding:2px 12px;text-align:center}.m-event time{color:var(--text-3);white-space:nowrap}.m-event .anticon{color:var(--text-3);margin-top:3px}.m-note{align-self:flex-end;max-width:min(560px,78%);background:var(--note);border:1px solid var(--note-line);border-radius:12px;padding:8px 12px;font-size:13.5px}.m-note-h{font-size:11.5px;color:#7a6212;font-weight:600;margin-bottom:3px}.replying{font-size:12.5px;color:var(--blue);padding:8px 2px 0}.composer{background:#fff;border-top:1px solid var(--line);padding:10px 20px 14px;display:flex;flex-direction:column;gap:8px}.composer--note textarea{background:#fffbeb!important}.composer-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.composer-hint{font-size:12px;color:var(--text-3)}.composer-alert{border-radius:10px}.composer-bar{display:flex;align-items:center;gap:8px}.tpl-item{display:flex;flex-direction:column;max-width:360px;white-space:normal;line-height:1.35;padding:2px 0}.tpl-item span{font-size:12px;color:var(--text-3)}.composer{position:relative}.composer--drop{outline:2px dashed var(--blue);outline-offset:-6px}.composer-drop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#eaf2fee6;color:var(--blue);font-weight:600;pointer-events:none}.compose-file{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:#f8fafc}.compose-file-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;flex:none}.compose-file-icon{font-size:22px;color:var(--blue);width:44px;display:grid;place-items:center;flex:none}.compose-file-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.compose-file-main b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compose-file-main span{font-size:12px;color:var(--text-3)}.m-has-media .m-bubble{padding:6px}.m-has-media .m-text{padding:6px 8px 4px}.m-media+.m-media{margin-top:6px}.att-img,.m-media .ant-image{display:block;max-width:100%}.m-media .ant-image-img{border-radius:12px;max-width:100%;height:auto;background:#eef2f7}.att-sticker .ant-image-img,img.att-sticker{background:transparent}.att-video{display:block;max-width:100%;border-radius:12px;background:#0f1722}.att-round{width:220px;height:220px;border-radius:50%;object-fit:cover}.att-audio{display:flex;flex-direction:column;gap:4px;padding:4px 4px 2px;min-width:min(300px,100%)}.att-audio audio{width:100%;height:40px}.att-audio-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-3);padding:0 6px}.att-audio-meta a{color:var(--text-2)}.att-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#ffffffb3;border:1px solid var(--line);color:var(--text);min-width:min(260px,100%)}.att-file:hover{border-color:#bcd4fb;color:var(--blue)}.att-file-icon{font-size:22px;color:var(--blue);flex:none}.att-file-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.att-file-name{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.att-file-size{font-size:12px;color:var(--text-3)}.att-note{display:flex;gap:8px;align-items:baseline;font-size:13px;color:var(--text-2);padding:6px 8px;background:#fff9;border-radius:10px}.att-note--warn{color:var(--amber);background:var(--amber-soft)}.thread-more{display:flex;justify-content:center;padding:4px 0 8px}.thread-start{text-align:center;font-size:12px;color:var(--text-3);padding:4px 0 8px}.ctx{padding:16px;display:flex;flex-direction:column;gap:14px}.ctx-head{display:flex;gap:12px;align-items:flex-start}.ctx-who{min-width:0;flex:1}.ctx-name{font-size:16px;font-weight:700;color:var(--text);display:block;line-height:1.3}a.ctx-name:hover{color:var(--blue)}.ctx-meta{font-size:12.5px;color:var(--text-2);margin-top:3px}.ctx-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.ctx-tags .ant-tag{margin:0}.next-step{border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;background:#f5f7fa}.next-step.tone-red{background:var(--red-soft)}.next-step.tone-amber{background:var(--amber-soft)}.next-step.tone-blue{background:var(--blue-soft)}.next-step.tone-violet{background:var(--violet-soft)}.next-step.tone-violet .next-step-text{color:var(--text);font-weight:500}.next-step-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700}.next-step-text{font-size:13.5px;font-weight:600;display:flex;gap:6px;align-items:baseline;line-height:1.4}.ctx-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.ctx-card-h{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:2px}.visit-when{font-size:15px;font-weight:700}.visit-doc{font-size:13px;color:var(--text-2)}.visit-comment{font-size:12.5px;color:var(--text-2);background:#f7f9fb;border-radius:8px;padding:6px 8px}.facts{display:flex;flex-direction:column;gap:4px;margin-top:6px;border-top:1px dashed var(--line);padding-top:8px}.fact{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.fact-k{color:var(--text-2)}.fact-v{text-align:right}.fact-v.ok{color:var(--green);font-weight:600}.source{font-size:11.5px;color:var(--text-3);margin-top:4px}.ctx-alert{margin-top:6px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font:inherit;font-size:12.5px;color:var(--text);text-align:center;overflow-wrap:anywhere}.quick-btn:hover{border-color:#bcd4fb;background:var(--blue-soft);color:var(--blue)}.quick-btn .anticon{font-size:18px;color:var(--blue)}.task-mini{display:flex;gap:10px;align-items:flex-start;padding:6px 0}.task-mini.done .task-mini-title{text-decoration:line-through;color:var(--text-3)}.task-mini-title{font-size:13.5px}.task-mini-due{font-size:12px;color:var(--text-3)}.task-mini-due.late{color:var(--red);font-weight:600}.visit-row{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0}.ctx-unlink{background:none;border:0;color:var(--text-3);font:inherit;font-size:12px;cursor:pointer;text-align:left;padding:0}.ctx-unlink:hover{color:var(--red)}.cand{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;margin-top:6px}.cand-name{font-weight:700;font-size:14px}.cand-meta{font-size:12.5px;color:var(--text-2)}.cand-reason{font-size:12px;color:var(--violet)}.cand-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.page{padding:24px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page--narrow{max-width:860px}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;font-weight:700}.patients-search{max-width:640px}.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cell-who{display:flex;gap:10px;align-items:center}.cell-who b{display:block}.cell-who span{font-size:12px;color:var(--text-3)}.error-line{color:var(--red)}.empty-state{padding:32px 0}.empty-title{color:var(--text-2);font-weight:600}.patient-hero{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;flex-wrap:wrap}.patient-hero-main{flex:1;min-width:220px}.patient-hero-main h1{margin:0 0 4px;font-size:22px}.patient-hero-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--text-2);font-size:13.5px}.patient-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.patient-side{display:flex;flex-direction:column;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.panel-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.panel-h h2{margin:0;font-size:16px}.panel-sub{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:14px 0 6px}.visit-line{padding:8px 0;border-bottom:1px solid var(--line-2)}.visit-line:last-child{border-bottom:0}.visit-line-when{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.visit-line-when span{color:var(--text-2);font-size:13px}.visit-line-doc{font-size:13px;color:var(--text-2)}.conv-link{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-2);color:var(--text)}.conv-link:hover{color:var(--blue)}.conv-link-main{flex:1;min-width:0;display:flex;flex-direction:column}.conv-link-main span{font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.task-row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--line-2)}.task-row:last-child{border-bottom:0}.task-row.done .task-row-title{text-decoration:line-through;color:var(--text-3)}.task-row-main{flex:1;min-width:0}.task-row-title{font-size:14px}.task-row-sub{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--text-3);margin-top:3px}.task-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12.5px;white-space:nowrap}.task-row-right .late{color:var(--red);font-weight:600}.hint-line{color:var(--text-2);font-size:13px}.channels{display:grid;gap:12px}.channel-h{display:flex;gap:12px;align-items:center}.channel-title{display:flex;flex-direction:column}.channel-note{margin:10px 0 0;color:var(--text-2)}.modal-note{color:var(--text-2)}@media(max-width:1399px){.inbox--wide{grid-template-columns:320px minmax(0,1fr) 330px}.shell-search{width:240px}}@media(max-width:991px){.page{padding:16px}.patient-grid{grid-template-columns:minmax(0,1fr)}.thread-head{padding:10px 12px}.thread-body{padding:12px 16px}.composer{padding:10px 12px 12px}.m,.m-note{max-width:90%}.composer-hint--keys{display:none}.shell-header{gap:8px;padding:0 12px!important}.task-row{flex-wrap:wrap}.task-row-right{align-items:flex-start;width:100%;padding-left:28px}}
