#clinic-communications{--com-green:#216d58;--com-line:#dae5df;font:15px/1.45 system-ui,sans-serif;color:#203a32;text-align:left}
#clinic-communications [hidden]{display:none!important}
#clinic-communications *{box-sizing:border-box}
#clinic-communications button{font:inherit;cursor:pointer;border:1px solid var(--com-line);border-radius:9px;padding:9px 12px;background:#fff;color:#203a32;min-height:40px}
#clinic-communications button:disabled{opacity:.5;cursor:default}
#clinic-communications button:focus-visible,#clinic-communications input:focus-visible,#clinic-communications textarea:focus-visible{outline:3px solid #65a7f0;outline-offset:2px}
#clinic-communications .comm-launch{position:fixed;right:20px;bottom:20px;background:var(--com-green);color:white;z-index:2500;border:0;box-shadow:0 4px 18px #102e3233;font-weight:700;padding:13px 20px}
#clinic-communications .comm-launch b,#clinic-communications .comm-contacts b{background:#b93434;color:white;border-radius:12px;padding:1px 7px;font-size:12px}
#clinic-communications .comm-panel{position:fixed;right:20px;bottom:80px;width:min(800px,calc(100vw - 40px));height:min(760px,calc(100dvh - 115px));background:white;border:1px solid var(--com-line);box-shadow:0 12px 65px #173b3944;z-index:2501;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
#clinic-communications header{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--com-line);flex:none}
#clinic-communications header strong{font-size:18px}#clinic-communications small{display:block;font-size:12px;color:#60776e}
#clinic-communications .comm-tools{padding:9px 12px;display:flex;gap:6px;flex-wrap:wrap}
#clinic-communications .comm-note{margin:0 14px;color:#8b3c19;font-size:13px;white-space:pre-wrap}
#clinic-communications .comm-help{font-size:12px;color:#61766d;margin:5px 14px 10px}
#clinic-communications .comm-body{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:0;flex:1;border-top:1px solid var(--com-line)}
#clinic-communications aside{position:static;width:auto;display:flex;flex-direction:column;background:#f4f8f5;color:inherit;border-right:1px solid var(--com-line);min-height:0;padding:10px}
#clinic-communications label{font-size:12px;display:block}#clinic-communications input,#clinic-communications textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--com-line);border-radius:8px;background:#fff;color:#203a32}
#clinic-communications .comm-contacts{overflow:auto;margin-top:10px;min-height:0}
#clinic-communications .comm-contacts button{display:flex;align-items:center;text-align:left;gap:8px;width:100%;border:0;border-radius:8px;margin-bottom:4px;padding:10px;background:transparent;overflow-wrap:anywhere}
#clinic-communications .comm-contacts button.selected{background:#dfeee6}#clinic-communications .comm-contacts button>span:nth-child(2){flex:1;min-width:0}
#clinic-communications .comm-contacts strong{font-size:14px}#clinic-communications .comm-dot{width:9px;height:9px;background:#adbab4;border-radius:50%;flex:none}#clinic-communications .comm-dot.online{background:#239667}
#clinic-communications .comm-conversation{display:flex;flex-direction:column;min-width:0;min-height:0}
#clinic-communications .comm-peer{font-weight:700;overflow-wrap:anywhere}#clinic-communications .comm-dial{display:flex;gap:5px;flex-wrap:wrap}
#clinic-communications .comm-messages{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:9px}
#clinic-communications .comm-messages article{background:#f1f5f2;border-radius:10px;padding:10px 12px;max-width:92%;align-self:flex-start;overflow-wrap:anywhere;flex:none}
#clinic-communications .comm-messages article.mine{align-self:flex-end;background:#e2efe7}
#clinic-communications .comm-messages p{margin:0 0 5px;white-space:pre-wrap}#clinic-communications .comm-empty{color:#73867c;text-align:center;padding:20px}
#clinic-communications .comm-compose{display:flex;gap:8px;padding:10px;border-top:1px solid var(--com-line);flex:none}
#clinic-communications textarea{min-height:58px;max-height:120px;resize:vertical}#clinic-communications .comm-compose button{background:var(--com-green);color:white}
#clinic-communications .comm-more{padding:3px;min-height:30px;border:0;border-radius:0;font-size:12px}
#clinic-communications .comm-history{overflow:auto;padding:14px}#clinic-communications .comm-history article{padding:10px 0;border-bottom:1px solid var(--com-line)}#clinic-communications .comm-history p{margin:4px 0}
#clinic-communications .comm-back{display:none}#clinic-communications .comm-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
#clinic-communications .comm-call{position:fixed;left:20px;bottom:20px;width:min(420px,calc(100vw - 40px));z-index:2600;background:#fff;border:2px solid var(--com-green);border-radius:16px;box-shadow:0 10px 50px #152f3344;overflow:hidden}
#clinic-communications .comm-call-status{margin-top:5px}#clinic-communications .comm-call-actions{display:flex;gap:8px;padding:12px;flex-wrap:wrap}
#clinic-communications .comm-call-actions button{flex:1;min-width:100px}#clinic-communications button.danger{background:#a92e37;color:white;border:0}
#clinic-communications .comm-call-help{padding:0 12px;margin:0 0 10px;font-size:12px;color:#8b3c19}
#clinic-communications .comm-video-area{position:relative;height:230px;background:#122b24}#clinic-communications .comm-remote{width:100%;height:100%;object-fit:contain}#clinic-communications .comm-local{position:absolute;right:8px;bottom:8px;width:96px;height:72px;object-fit:cover;border-radius:7px;border:1px solid #fff}
@media(max-width:620px){#clinic-communications .comm-launch{right:12px;bottom:12px}#clinic-communications .comm-panel{inset:8px;width:auto;height:auto;max-height:calc(100dvh - 16px)}#clinic-communications .comm-body{display:flex}#clinic-communications aside{width:100%;border:0}#clinic-communications .comm-conversation{display:none;width:100%}#clinic-communications .has-peer aside{display:none}#clinic-communications .has-peer .comm-conversation{display:flex}#clinic-communications .comm-back{display:block}#clinic-communications .comm-conversation header{flex-wrap:wrap;padding:10px}#clinic-communications .comm-dial{margin-left:auto}#clinic-communications .comm-call{left:8px;right:8px;bottom:8px;width:auto;max-height:calc(100dvh - 16px);overflow:auto}#clinic-communications .comm-video-area{height:min(40dvh,270px)}#clinic-communications .comm-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}#clinic-communications .comm-compose button{padding:8px;font-size:13px}}
