/* V1.0.2.7 — Live Presence & Team Chat */
.flrac-app-top-actions .flrac-app-chat-btn{position:relative;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;display:inline-grid!important;place-items:center!important;border:1px solid #d7dfeb!important;border-radius:10px!important;background:#fff!important;color:#26364f!important;box-sizing:border-box!important;line-height:1!important}
.flrac-app-top-actions .flrac-app-chat-btn .flrac-icon{width:18px!important;height:18px!important;display:block!important;margin:0!important}
.flrac-app-top-actions .flrac-app-chat-btn:hover{background:#f8fafc!important;border-color:#c8d2e1!important}
.flrac-app-top-actions .flrac-app-chat-btn:focus-visible{outline:3px solid rgba(49,91,234,.2);outline-offset:2px}
.flrac-chat-unread-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800;border:2px solid #fff;line-height:1}
.flrac-chat-unread-badge[hidden]{display:none!important}

.flrac-chat-backdrop{position:fixed;inset:0;z-index:1115;background:rgba(11,23,48,.35);backdrop-filter:blur(1.5px)}
.flrac-chat-backdrop[hidden]{display:none!important}
.flrac-chat-drawer{position:fixed;z-index:1120;right:0;top:0;width:min(430px,100vw);height:100dvh;background:#fff;border-left:1px solid #dfe6ef;box-shadow:-20px 0 55px rgba(15,34,67,.18);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;color:#10214a}
.flrac-chat-drawer[hidden]{display:none!important}
.flrac-chat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid #edf1f6;background:#fff}
.flrac-chat-head h3{margin:2px 0 2px;font-size:20px;line-height:1.15}
.flrac-chat-head p{display:flex;align-items:center;gap:7px;margin:0;color:#667085;font-size:11px}
.flrac-chat-close{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:#f5f7fb;color:#506078;font-size:24px;line-height:1;cursor:pointer}
.flrac-chat-status-row{padding:10px 18px;border-bottom:1px solid #edf1f6;background:#fbfcfe}
.flrac-chat-status-row label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:10px;font-weight:700;color:#667085}
.flrac-chat-status-row select{height:36px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;padding:0 34px 0 10px;color:#1d2d4c;font-size:11px}
.flrac-chat-contacts-view,.flrac-chat-thread-view{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
.flrac-chat-thread-view{grid-template-rows:auto minmax(0,1fr) auto}
.flrac-chat-contacts-view[hidden],.flrac-chat-thread-view[hidden]{display:none!important}
.flrac-chat-search-wrap{padding:12px 14px 8px}
.flrac-chat-contact-search{width:100%;height:38px;border:1px solid #d7dfeb;border-radius:10px;padding:0 12px;background:#fff;color:#15284b;outline:none}
.flrac-chat-contact-search:focus{border-color:#8aa8ff;box-shadow:0 0 0 3px rgba(49,91,234,.09)}
.flrac-chat-contacts{min-height:0;overflow:auto;padding:4px 10px 16px}
.flrac-chat-loading,.flrac-chat-empty{padding:28px 16px;text-align:center;color:#7a879b;font-size:11px}
.flrac-chat-contact{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;background:#fff;padding:9px 8px;border-radius:11px;text-align:left;cursor:pointer;color:#182c50}
.flrac-chat-contact:hover{background:#f5f8ff}
.flrac-chat-contact-avatar{position:relative;width:38px;height:38px;border-radius:12px;background:#edf3ff;color:#315bea;display:grid;place-items:center;font-weight:800;font-size:12px}
.flrac-chat-contact-avatar .flrac-presence-dot{position:absolute;right:-2px;bottom:-2px;border:2px solid #fff}
.flrac-chat-contact-body{min-width:0}
.flrac-chat-contact-line{display:flex;align-items:center;gap:8px;min-width:0}
.flrac-chat-contact-line strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flrac-chat-contact-body small{display:block;color:#7a879b;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.flrac-chat-contact-preview{margin-top:4px!important;color:#667085!important}
.flrac-chat-contact-meta{text-align:right;display:grid;gap:4px;justify-items:end}
.flrac-chat-contact-unread{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#315bea;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800}
.flrac-chat-contact-status{font-size:8px;color:#8a96a8;white-space:nowrap}

.flrac-chat-thread-head{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid #edf1f6}
.flrac-chat-back{width:32px;height:32px;border:0;border-radius:9px;background:#f4f6fa;color:#354564;font-size:22px;cursor:pointer}
.flrac-chat-thread-head strong{display:block;font-size:12px;color:#14294d}
.flrac-chat-thread-head span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7a879b;margin-top:2px}
.flrac-chat-messages{min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:#f8fafe}
.flrac-chat-message{max-width:82%;display:grid;gap:3px;align-self:flex-start}
.flrac-chat-message.is-mine{align-self:flex-end}
.flrac-chat-message-bubble{padding:9px 11px;border-radius:13px 13px 13px 4px;background:#fff;border:1px solid #e1e7f0;color:#21324f;font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.flrac-chat-message.is-mine .flrac-chat-message-bubble{background:#315bea;border-color:#315bea;color:#fff;border-radius:13px 13px 4px 13px}
.flrac-chat-message-meta{font-size:8px;color:#8a96a8;padding:0 4px}
.flrac-chat-message.is-mine .flrac-chat-message-meta{text-align:right}
.flrac-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px 12px;border-top:1px solid #e4e9f1;background:#fff}
.flrac-chat-composer textarea{min-height:42px;max-height:120px;resize:vertical;border:1px solid #d7dfeb;border-radius:10px;padding:9px 10px;font:inherit;font-size:11px;line-height:1.35;color:#1c2f50}
.flrac-chat-composer button{height:42px;padding:0 15px;border-radius:10px}
.flrac-chat-disabled{padding:24px 18px;color:#667085}.flrac-chat-disabled strong{display:block;color:#1a2e52;margin-bottom:5px}

.flrac-presence-dot{width:9px;height:9px;border-radius:999px;display:inline-block;flex:0 0 auto;background:#b8c0cd;box-shadow:0 0 0 2px rgba(184,192,205,.12)}
.flrac-presence-dot.is-online{background:#1fa86b;box-shadow:0 0 0 3px rgba(31,168,107,.12)}
.flrac-presence-dot.is-away{background:#f0a12a;box-shadow:0 0 0 3px rgba(240,161,42,.12)}
.flrac-presence-dot.is-busy{background:#f06a4e;box-shadow:0 0 0 3px rgba(240,106,78,.12)}
.flrac-presence-dot.is-dnd{background:#d64545;box-shadow:0 0 0 3px rgba(214,69,69,.12)}
.flrac-presence-dot.is-invisible,.flrac-presence-dot.is-offline{background:#b8c0cd}
.flrac-presence-label{display:inline-flex!important;align-items:center;gap:5px;font-weight:700;color:#667085!important}
.flrac-presence-label.is-online{color:#147d50!important}.flrac-presence-label.is-away{color:#a96c14!important}.flrac-presence-label.is-busy,.flrac-presence-label.is-dnd{color:#b64634!important}

.flrac-planning-person-context .flrac-planning-message-btn{display:inline-flex;align-items:center;gap:5px;width:max-content;min-height:28px;padding:0 8px;border:1px solid #d5def0;border-radius:8px;background:#fff;color:#315bea;font-size:9px;font-weight:750;cursor:pointer}
.flrac-planning-person-context .flrac-planning-message-btn:hover{background:#f3f6ff;border-color:#adc0ff}
.flrac-planning-person-context .flrac-planning-message-btn .flrac-icon{width:13px;height:13px}
.flrac-planning-capacity-strip .flrac-planning-presence-count{color:#147d50}

@media(max-width:800px){
  .flrac-chat-drawer{width:100vw}
  .flrac-chat-composer{grid-template-columns:1fr}
  .flrac-chat-composer button{width:100%}
}
body.admin-bar .flrac-chat-drawer{top:32px;height:calc(100dvh - 32px)}
@media(max-width:782px){body.admin-bar .flrac-chat-drawer{top:46px;height:calc(100dvh - 46px)}}
