/* Chat is a single shared component for administration and the employee app. */
.rp-chat-root{--chat-green:var(--rp-green,#246b25);--chat-ink:var(--rp-text,#102219);--chat-muted:var(--rp-muted,#526258);--chat-line:var(--rp-line,#dde6df);--chat-paper:var(--rp-surface,#fff);--chat-soft:var(--rp-surface-subtle,#f8faf8);font:14px/1.5 var(--rp-font,system-ui,sans-serif);color:var(--chat-ink);text-align:left;}
.rp-chat-root *{box-sizing:border-box;}
.rp-chat-root [hidden]{display:none!important;}
.rp-chat-root button,.rp-chat-root textarea{font:inherit;}
.rp-chat-root button{cursor:pointer;min-height:44px;border:1px solid var(--chat-line);border-radius:10px;color:var(--chat-ink);background:var(--chat-paper);padding:8px 12px;box-shadow:none;text-transform:none;line-height:1.4;letter-spacing:normal;}
.rp-chat-root button:hover{background:var(--chat-soft);border-color:var(--chat-green);}
.rp-chat-root button:focus-visible,.rp-chat-root textarea:focus-visible,.rp-chat-root video:focus-visible{outline:3px solid var(--rp-primary,#72bd38);outline-offset:3px;}
.rp-chat-root button:disabled{opacity:.55;cursor:wait;}
.rp-chat-root button svg{display:block;flex-shrink:0;}
.rp-chat-launcher{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:100050;display:flex;align-items:center;gap:9px;background:var(--chat-green)!important;color:#fff!important;border-color:transparent!important;border-radius:999px!important;padding:13px 18px!important;box-shadow:0 7px 24px #14351e30!important;font-weight:750!important;}
.rp-chat-launcher b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:20px;background:#fff;color:var(--chat-green);font-size:12px;}
body.rp-chat-dialog-open{overflow:hidden;}
.rp-chat-root .rp-chat-backdrop{position:fixed;inset:0;z-index:100090;width:100%;height:100%;border:0;border-radius:0;background:#10221955;cursor:default;}
.rp-chat-root .rp-chat-backdrop:hover{background:#10221955;}
.rp-chat-panel{position:fixed;z-index:100100;right:20px;bottom:20px;width:min(950px,calc(100vw - 40px));height:min(730px,calc(100dvh - 80px));display:flex;flex-direction:column;border:1px solid var(--chat-line);border-radius:20px;background:var(--chat-paper);box-shadow:0 20px 90px #10221945;overflow:hidden;}
.rp-chat-root.is-page .rp-chat-panel{position:relative;inset:auto;width:100%;height:max(560px,calc(100dvh - 180px));max-height:950px;z-index:auto;box-shadow:0 4px 22px #1022190c;}
.rp-chat-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;background:var(--chat-green);color:#fff;flex-shrink:0;}
.rp-chat-header strong{display:block;font-size:19px;line-height:1.3;}
.rp-chat-header span{display:block;font-size:12px;opacity:.9;}
.rp-chat-header .rp-chat-icon{color:#fff;border-color:#ffffff50;background:transparent;}
.rp-chat-header .rp-chat-icon:hover{background:#ffffff20;border-color:#fff;}
.rp-chat-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:9px!important;}
.rp-chat-notice{padding:10px 18px;background:#edf6e9;border-bottom:1px solid var(--chat-line);font-size:13px;flex-shrink:0;}
.rp-chat-notice.is-error{background:#fff1ed;color:#8c2c20;}
.rp-chat-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);flex:1;min-height:0;}
.rp-chat-sidebar{overflow-y:auto;overscroll-behavior:contain;background:var(--chat-soft);border-right:1px solid var(--chat-line);padding:12px;min-width:0;}
.rp-chat-tabs{display:flex;gap:6px;margin-bottom:13px;}
.rp-chat-tabs button{flex:1;padding:7px;font-size:13px;}
.rp-chat-tabs button.is-active{border-color:var(--chat-green);color:var(--chat-green);font-weight:750;}
.rp-chat-thread-list{display:grid;gap:6px;}
.rp-chat-thread{display:flex!important;gap:8px;align-items:center;justify-content:space-between;text-align:left;min-width:0;}
.rp-chat-thread-label{flex:1;min-width:0;overflow-wrap:anywhere;}
.rp-chat-thread-label small{display:block;font-size:11px;font-weight:400;color:var(--chat-muted);}
.rp-chat-thread.is-active{background:var(--rp-green-soft,#eaf5e6);border-color:var(--chat-green);font-weight:750;}
.rp-chat-thread b{font-size:11px;background:var(--chat-green);color:#fff;min-width:21px;padding:2px 5px;text-align:center;border-radius:20px;}
.rp-chat-sidebar h3{font-size:11px;margin:22px 8px 8px;color:var(--chat-muted);text-transform:uppercase;letter-spacing:.08em;}
.rp-chat-person{display:flex!important;width:100%;align-items:center;gap:10px;text-align:left;border-color:transparent!important;background:transparent!important;margin-bottom:3px;}
.rp-chat-person:hover{background:var(--chat-paper)!important;}
.rp-chat-person-label{min-width:0;overflow-wrap:anywhere;}
.rp-chat-person small{display:block;font-size:11px;color:var(--chat-muted);margin-top:2px;}
.rp-chat-search{width:100%;min-width:0;border:1px solid var(--chat-line);border-radius:9px;padding:9px 10px;margin:0 0 9px;font:inherit;background:var(--chat-paper);color:var(--chat-ink);}
.rp-chat-avatar{position:relative;display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--rp-green-soft,#eaf5e6);color:var(--chat-green);font-size:12px;font-weight:750;line-height:1;isolation:isolate;}
.rp-chat-avatar-initials{display:block;}
.rp-chat-avatar img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit;}
.rp-chat-presence{position:absolute;right:-1px;bottom:-1px;z-index:1;display:block;width:14px;height:14px;border-radius:50%;background:#929d96;border:2px solid var(--chat-paper);box-shadow:0 0 0 1px #a4aea6;}
.rp-chat-presence.is-online{background:#398d32;box-shadow:0 0 0 1px #398d32;}
.rp-chat-conversation{display:flex;flex-direction:column;min-width:0;min-height:0;}
.rp-chat-thread-head{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--chat-line);min-height:66px;flex-shrink:0;}
.rp-chat-thread-head strong{display:block;font-size:15px;overflow-wrap:anywhere;}
.rp-chat-thread-head [data-chat-subtitle]{font-size:12px;color:var(--chat-muted);}
.rp-chat-thread-head [data-chat-thread-avatar]{flex:0 0 36px;line-height:0;}
.rp-chat-root .rp-chat-back{display:none;}
.rp-chat-messages,.rp-chat-media-library{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px;scroll-behavior:smooth;}
.rp-chat-message{width:fit-content;max-width:88%;margin:0 0 16px;padding:12px 14px;border:1px solid var(--chat-line);border-radius:14px 14px 14px 3px;background:var(--chat-soft);overflow-wrap:anywhere;}
.rp-chat-message.is-mine{margin-left:auto;background:var(--rp-green-soft,#edf6e9);border-color:#c9dfc2;border-radius:14px 14px 3px 14px;}
.rp-chat-message-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--chat-muted);}
.rp-chat-message-meta .rp-chat-avatar{width:28px;height:28px;flex-basis:28px;font-size:10px;}
.rp-chat-message-meta .rp-chat-presence{width:12px;height:12px;}
.rp-chat-message-sender{min-width:0;overflow-wrap:anywhere;}
.rp-chat-message-meta strong{color:var(--chat-ink);font-weight:750;}
.rp-chat-message p{white-space:pre-wrap;margin:5px 0 0;font:inherit;color:inherit;}
.rp-chat-root .rp-chat-receipt{display:block;min-height:32px;min-width:112px;max-width:100%;padding:5px 0 0;margin:4px 0 0 auto;border:0;border-radius:4px;background:transparent;color:var(--chat-green);font-size:11px;line-height:1.4;text-align:right;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rp-chat-root .rp-chat-receipt:hover{background:transparent;color:var(--chat-ink)}
.rp-chat-root .rp-chat-readers-backdrop,.rp-chat-root .rp-chat-readers-backdrop:hover{position:absolute;inset:0;z-index:5;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#10221935;cursor:default}
.rp-chat-readers-panel{position:absolute;right:16px;bottom:16px;z-index:6;display:flex;flex-direction:column;width:min(430px,calc(100% - 32px));max-height:calc(100% - 32px);min-height:150px;background:var(--chat-paper);border:1px solid var(--chat-line);border-radius:16px;box-shadow:0 12px 50px #10221935;overflow:hidden}
.rp-chat-readers-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--chat-line);flex-shrink:0}
.rp-chat-readers-panel h3{font:inherit;font-size:16px;font-weight:750;margin:0;color:var(--chat-ink)}
.rp-chat-readers-panel [data-chat-readers-list]{overflow-y:auto;overscroll-behavior:contain;padding:10px 14px;min-height:0}
.rp-chat-readers-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.rp-chat-readers-panel li{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 0}
.rp-chat-readers-panel li>div{min-width:0;overflow-wrap:anywhere}
.rp-chat-readers-panel li strong{display:block;font-size:13px}
.rp-chat-readers-panel li>div>span{display:block;font-size:11px;color:var(--chat-muted)}
.rp-chat-readers-panel>[data-chat-readers-more]{margin:0 14px 14px;flex-shrink:0}

.rp-chat-empty{color:var(--chat-muted);padding:20px 10px;text-align:center;margin:0;font-size:13px;}
.rp-chat-older{display:block;margin:0 auto 17px;font-size:12px!important;}
.rp-chat-composer{padding:12px 16px;border-top:1px solid var(--chat-line);position:relative;flex-shrink:0;background:var(--chat-paper);margin:0;}
.rp-chat-composer textarea{display:block;resize:vertical;width:100%;min-height:62px;max-height:170px;border:1px solid var(--chat-line);border-radius:11px;background:var(--chat-soft);color:var(--chat-ink);padding:10px 12px;line-height:1.45;margin:0;}
.rp-chat-composer-actions,.rp-chat-tools{display:flex;align-items:center;gap:7px;}
.rp-chat-composer-actions{justify-content:space-between;margin-top:8px;}
.rp-chat-tools [data-chat-count]{font-size:11px;color:var(--chat-muted);}
.rp-chat-send{display:flex;align-items:center;gap:8px;color:#fff!important;background:var(--chat-green)!important;border-color:var(--chat-green)!important;font-weight:750!important;}
.rp-chat-send:hover{filter:brightness(1.08);}
.rp-chat-help{display:block;font-size:10px;color:var(--chat-muted);margin-top:5px;}
.rp-chat-emojis{position:absolute;bottom:88px;left:16px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px;max-width:calc(100% - 32px);padding:8px;border:1px solid var(--chat-line);background:var(--chat-paper);box-shadow:0 5px 25px #10221925;border-radius:13px;z-index:2;}
.rp-chat-emojis button{padding:4px!important;border-color:transparent;font-size:22px;min-width:44px;min-height:44px;}
.rp-chat-attachments{display:flex;flex-wrap:wrap;gap:5px;}
.rp-chat-attachments:empty{display:none;}
.rp-chat-attachments>span{display:flex;align-items:center;gap:6px;max-width:100%;font-size:12px;overflow-wrap:anywhere;padding:4px 7px;background:var(--chat-soft);border:1px solid var(--chat-line);border-radius:8px;margin-bottom:8px;}
.rp-chat-attachments button{min-height:28px;padding:2px 7px;}
.rp-chat-media{margin-top:10px;border:1px solid var(--chat-line);border-radius:10px;overflow:hidden;background:var(--chat-paper);max-width:100%;}
.rp-chat-media-preview{padding:8px;text-align:center;}
.rp-chat-media-preview button{max-width:100%;overflow-wrap:anywhere;}
.rp-chat-media-preview img,.rp-chat-media-preview video{display:block;max-width:100%;width:auto;max-height:340px;border-radius:7px;margin:auto;}
.rp-chat-media-actions{display:flex;align-items:center;gap:5px;padding:7px;border-top:1px solid var(--chat-line);}
.rp-chat-media-actions>span{flex:1;min-width:0;font-size:11px;overflow-wrap:anywhere;}
.rp-chat-media-actions button{min-height:34px;width:34px;height:34px;flex-basis:34px;}
.rp-chat-file-deleted{font-size:12px;color:var(--chat-muted);font-style:italic;margin-top:7px;}
.rp-chat-delete-confirm{display:flex;gap:7px;flex-wrap:wrap;padding:10px;background:#fff1ed;color:#8c2c20;font-size:12px;}
.rp-chat-delete-confirm>span{width:100%;}
.rp-chat-media-library{display:grid;align-content:start;grid-auto-rows:max-content;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.rp-chat-media-library .rp-chat-media{margin:0;}
.rp-chat-media-library>.rp-chat-empty,.rp-chat-media-library>.rp-chat-older{grid-column:1/-1;}
.rp-chat-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@media(max-width:720px){
  body.rp-chat-dialog-open{overflow:hidden;}
  .rp-chat-panel{inset:var(--chat-viewport-top,0px) 0 auto;width:100%;height:var(--chat-viewport-height,100dvh);border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}
  .rp-chat-root.is-page .rp-chat-panel{height:calc(100dvh - 160px);min-height:480px;border:1px solid var(--chat-line);border-radius:14px;}
  .rp-chat-header{padding:13px 14px;}
  .rp-chat-workspace{grid-template-columns:1fr;}
  .rp-chat-sidebar{border-right:0;}
  .rp-chat-conversation{display:none;}
  .rp-chat-root.has-thread .rp-chat-sidebar{display:none;}
  .rp-chat-root.has-thread .rp-chat-conversation{display:flex;}
  .rp-chat-root .rp-chat-back{display:inline-flex;}
  .rp-chat-messages{padding:15px 12px;}
  .rp-chat-message{max-width:93%;padding:10px 12px;}
  .rp-chat-root .rp-chat-receipt{min-height:44px;}
  .rp-chat-composer{padding:10px 12px;}
  .rp-chat-composer textarea{font-size:16px;max-height:130px;}
  .rp-chat-emojis{grid-template-columns:repeat(6,1fr);}
  .rp-chat-media-library{grid-template-columns:1fr;padding:12px;}
  .rp-chat-media-actions button{width:44px;height:44px;min-height:44px;flex-basis:44px;}
  .rp-chat-launcher{right:14px;bottom:max(15px,env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){.rp-chat-messages,.rp-chat-media-library{scroll-behavior:auto;}}
.rp-chat-upload-hint{font-size:11px;color:var(--chat-muted);margin-top:7px;}
.rp-chat-media-actions small{display:block;color:var(--chat-muted);margin-top:3px;}
.rp-chat-media>.rp-chat-receipt{margin:0;padding:8px 12px;text-align:left;min-height:40px;}
.rp-chat-media-select{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--chat-soft);font-size:12px;cursor:pointer;}
.rp-chat-media-select input{width:18px;height:18px;accent-color:var(--chat-green);flex:none;}
.rp-chat-media-toolbar{grid-column:1/-1;padding:14px;background:var(--chat-soft);border:1px solid var(--chat-line);border-radius:12px;}
.rp-chat-media-toolbar strong{font-size:15px;}
.rp-chat-media-toolbar p{font-size:12px;color:var(--chat-muted);margin:5px 0 12px;}
.rp-chat-media-toolbar>div{display:flex;flex-wrap:wrap;gap:8px;}
.rp-chat-media-toolbar button{font-size:12px;}
.rp-chat-media-toolbar [data-chat-bulk-confirm]{margin-top:12px;border-radius:9px;}
.rp-chat-viewer{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;background:#101d17;color:#fff;min-width:0;min-height:0;}
.rp-chat-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;flex-shrink:0;background:#183324;}
.rp-chat-viewer>header>div{min-width:0;}
.rp-chat-viewer h3{font:inherit;font-size:15px;font-weight:750;color:#fff;margin:0;overflow-wrap:anywhere;}
.rp-chat-viewer small{font-size:11px;color:#c8dacd;}
.rp-chat-viewer>header button{background:transparent;border-color:#ffffff50;color:#fff;}
.rp-chat-viewer [data-chat-viewer-content]{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0;overflow:auto;padding:10px;}
.rp-chat-viewer img,.rp-chat-viewer video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.rp-chat-viewer p{padding:20px;color:#fff;max-width:480px;}
.rp-chat-viewer>footer{padding:10px 16px;flex-shrink:0;background:#183324;text-align:right;}
@media(max-width:720px){.rp-chat-media-toolbar>div>button{flex:1 1 calc(50% - 8px);min-width:0;}.rp-chat-viewer>header{padding:12px;}.rp-chat-viewer [data-chat-viewer-content]{padding:0;}}
