#ge-chat-launch{position:fixed;right:16px;bottom:72px;z-index:900;background:#155db5;color:#fff;border:1px solid #ffffff55;border-radius:24px;padding:11px 17px;font:600 14px/1.3 system-ui;box-shadow:0 3px 15px #102d4933;cursor:pointer}#ge-chat{box-sizing:border-box;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #cbd8ea;border-radius:15px;color:#172c45;background:#fff;font:14px/1.45 system-ui;box-shadow:0 15px 60px #081b4244}#ge-chat::backdrop{background:#061a4255}#ge-chat header{display:flex;align-items:center;justify-content:space-between;background:#0b2450;color:#fff;padding:14px 16px}#ge-chat h2{font-size:18px;margin:0}#ge-chat header p{font-size:12px;margin:3px 0 0;color:#d3e4fc}#ge-chat-close{border:0;color:white;background:transparent;font-size:27px;width:36px;height:36px;cursor:pointer}#ge-chat .chat-help{font-size:11px;line-height:1.5;margin:10px 15px;color:#5a6c80}#ge-chat a{color:#155db5;text-decoration:underline}#ge-chat form{padding:0 15px}#ge-chat label,.chat-desk label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}#ge-chat input,#ge-chat textarea,.chat-desk textarea{box-sizing:border-box;display:block;width:100%;border:1px solid #a6bad2;border-radius:7px;padding:8px;font:16px/1.4 system-ui;margin:5px 0 9px}#ge-chat .chat-actions{display:flex;gap:8px}#ge-chat .chat-actions button,.chat-desk button{background:#155db5;color:#fff;border:0;border-radius:7px;padding:9px 12px;font:600 13px/1.4 system-ui;cursor:pointer}#ge-chat .chat-actions button+button{background:#eef3fb;color:#17487d}#ge-chat-status{margin:8px 15px;font-size:12px}.chat-messages{overflow:auto;overscroll-behavior:contain;padding:10px 14px;min-height:90px;max-height:30dvh;background:#f7f9fc}.chat-bubble{max-width:90%;margin:0 0 10px;background:#fff;border:1px solid #dbe4ef;border-radius:10px;padding:9px 11px;font:14px/1.5 system-ui;overflow-wrap:anywhere}.chat-bubble strong{display:block;font-size:11px;color:#49627d}.chat-bubble span{display:block;white-space:pre-wrap}.chat-bubble small{display:block;font-size:10px;color:#66798e;margin-top:4px}.chat-bubble.customer{margin-left:auto;background:#e9f1ff}.chat-bubble.assistant{background:#eef8f4;border-color:#d3e8df}.chat-desk{margin:0;background:#f4f7fb;color:#172c45;font:15px/1.5 system-ui}.chat-desk header{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#0b2450;color:#fff;padding:18px max(20px,calc((100vw - 1100px)/2))}.chat-desk header p{margin:0;font-size:12px}.chat-desk h1{font-size:25px;margin:0}.chat-desk header a{color:#fff}.chat-desk main{max-width:1100px;margin:20px auto;padding:0 16px}.chat-desk .chat-availability{display:flex;align-items:center;gap:8px;font-size:16px}.chat-desk .chat-help{font-size:12px;color:#566c83}.chat-workspace{display:grid;grid-template-columns:280px 1fr;gap:16px}.chat-workspace>aside,.chat-workspace>section{background:white;border:1px solid #d8e2ee;border-radius:12px;padding:14px;min-width:0}.chat-workspace h2{font-size:17px;margin:0 0 12px}.chat-desk #chat-list{max-height:60vh;overflow:auto}.chat-desk #chat-list button{display:block;width:100%;text-align:left;margin-bottom:7px;color:#244260;background:#eef3f9;font-size:13px}.chat-desk #chat-list button.selected{background:#155db5;color:white}.chat-desk .chat-messages{max-height:48vh;min-height:160px}.chat-desk form{margin-top:14px}#ge-chat [hidden],.chat-desk [hidden]{display:none!important}#ge-chat button:disabled,.chat-desk button:disabled{opacity:.6;cursor:wait}#ge-chat :focus-visible,.chat-desk :focus-visible,#ge-chat-launch:focus-visible{outline:3px solid #3297ef;outline-offset:3px}@media(max-width:650px){.chat-workspace{grid-template-columns:1fr}.chat-desk #chat-list{max-height:150px}.chat-desk .chat-messages{max-height:40dvh}#ge-chat-launch{right:12px;bottom:70px;padding:9px 14px}}

.staff-chat-panel{margin:0 0 18px;border:1px solid #cddced;border-radius:12px;background:white;overflow:hidden}
.staff-chat-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;font-size:16px;font-weight:700;color:#183c65;list-style:none}
.staff-chat-panel>summary::-webkit-details-marker{display:none}
.staff-chat-panel>summary:after{content:'+';font-size:21px;line-height:1}
.staff-chat-panel[open]>summary:after{content:'−'}
#staff-chat-count{margin-left:auto;font-size:12px;font-weight:500;color:#60748b}
#staff-chat-count.has-waiting{background:#e8f0ff;color:#155db5;border-radius:12px;padding:3px 8px;font-weight:700}
.staff-desk .chat-embedded{padding:14px;background:#f6f9fd;border-top:1px solid #dce6f1}
.staff-desk .chat-embedded .chat-help{margin:8px 0;font-size:12px;line-height:1.5}
.staff-desk .chat-embedded .chat-availability input{width:18px;height:18px}
.staff-desk .chat-embedded #desk-form{display:block;margin-top:12px}
.staff-desk .chat-embedded #desk-form[hidden]{display:none}
.staff-desk .chat-embedded .chat-workspace h2{font-size:17px;margin:0 0 12px}
@media(max-width:650px){.staff-chat-panel>summary{padding:10px 12px;font-size:14px}#staff-chat-count{font-size:11px}.staff-desk .chat-embedded{padding:10px}}

.staff-tools-panel{margin:0 0 18px;border:1px solid #d4deeb;border-radius:12px;background:white;overflow:hidden}
.staff-tools-panel>summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 16px;font-weight:700;color:#183c65}
.staff-tools-panel>summary span+span{font-size:12px;font-weight:400;color:#61738b}
.staff-tools-body{padding:0 16px 14px}.staff-tools-body>p{font-size:13px;color:#52677e;line-height:1.5}
.staff-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.staff-tools-grid article{padding:14px;border:1px solid #dfe6f0;border-radius:9px;background:#f7f9fd;min-width:0}
.staff-tools-grid h2{font-size:16px!important;margin:0 0 6px!important}.staff-tools-grid p{font-size:12px;line-height:1.5;margin:0 0 10px}
.staff-tools-grid a{display:inline-flex;align-items:center;min-height:32px;color:#155db5;font-size:12px;font-weight:650;text-decoration:underline}
.staff-tools-grid details{margin-top:8px;padding:0;border:0}.staff-tools-grid details summary{font-size:11px;cursor:pointer}.staff-tools-grid details a{font-size:11px;overflow-wrap:anywhere}
.staff-tools-note{font-size:11px!important;margin-bottom:0}
@media(max-width:700px){.staff-tools-grid{grid-template-columns:1fr}.staff-tools-grid article{padding:12px}.staff-tools-panel>summary{padding:10px 12px}.staff-tools-body{padding:0 12px 12px}}

#ge-chat-launch .chat-launch-icon{display:none}
@media(max-width:650px){
 #ge-chat-launch{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;padding:0;border-radius:50%;right:12px;bottom:calc(40px + env(safe-area-inset-bottom,0px))}
 #ge-chat-launch .chat-launch-icon{display:block;width:20px;height:20px}
 #ge-chat-launch .chat-launch-label{display:none}
}

/* Compact staff inbox; scoped away from the customer chat widget. */
.staff-desk .staff-chat-panel{border-radius:10px;margin-bottom:12px}
.staff-desk .staff-chat-panel>summary{padding:10px 12px;min-height:44px;box-sizing:border-box;font-size:15px;gap:8px}
.staff-desk #staff-chat-count{font-size:11px;white-space:nowrap}
.staff-desk .chat-embedded{padding:10px;background:#f5f8fc}
.staff-desk .chat-presence-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 12px}
.staff-desk .chat-embedded .chat-availability{font-size:13px;line-height:1.4;margin:0;min-height:36px;gap:7px;cursor:pointer}
.staff-desk .chat-embedded .chat-availability input{width:17px;height:17px;min-height:0;margin:0;accent-color:#1475db}
.staff-desk .chat-embedded #desk-status{font-size:11px;line-height:1.4;color:#526b82;margin:0}
.staff-desk .chat-info{border:0;border-radius:0;background:transparent;padding:0;margin:1px 0 9px;box-shadow:none}
.staff-desk .chat-info>summary{display:list-item;font-size:11px;line-height:1.4;font-weight:500;color:#526b82;padding:5px 0;cursor:pointer;min-height:0}
.staff-desk .chat-embedded .chat-help{font-size:12px;margin:3px 0 8px;line-height:1.45}
.staff-desk .chat-workspace{grid-template-columns:240px minmax(0,1fr);gap:10px}
.staff-desk .chat-workspace>aside,.staff-desk .chat-workspace>section{padding:10px;border-radius:9px;border-color:#dbe5ef}
.staff-desk .chat-embedded .chat-workspace h2{font:700 15px/1.3 system-ui;margin:0 0 8px;color:#173955;overflow-wrap:anywhere}
.staff-desk .chat-embedded #chat-list button{padding:8px 10px;min-height:44px;margin:0 0 5px;border:1px solid transparent;border-radius:7px;line-height:1.35;background:#f1f5fa;color:#28435f}
.staff-desk .chat-embedded #chat-list button:last-child{margin-bottom:0}
.staff-desk .chat-embedded #chat-list button.selected{background:#eaf2ff;border-color:#91b8eb;box-shadow:inset 3px 0 #176cd3;color:#163e70}
.staff-desk .chat-contact-name{display:block;font:650 13px/1.35 system-ui;overflow-wrap:anywhere}
.staff-desk .chat-contact-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px;font:400 10px/1.3 system-ui;color:#53677d}
.staff-desk .chat-waiting-tag{color:#805600;background:#fff0ca;padding:2px 6px;border-radius:4px;font-weight:650}
.staff-desk .chat-embedded .chat-messages{padding:9px 8px;min-height:120px;max-height:42dvh;border-radius:6px;background:#f6f8fb}
.staff-desk .chat-embedded .chat-bubble{font:13px/1.45 system-ui;padding:8px 10px;margin:0 0 8px;border-radius:9px;max-width:94%;color:#253e52}
.staff-desk .chat-embedded .chat-bubble.customer{margin-left:auto;background:#edf3ff;border-color:#d6e2f5}
.staff-desk .chat-embedded .chat-bubble.staff{background:#fff;border-color:#dce4ee}
.staff-desk .chat-embedded .chat-bubble.assistant{background:#edf8f3;border-color:#d2e8de}
.staff-desk .chat-embedded .chat-bubble strong{font-size:10px;margin-bottom:3px}
.staff-desk .chat-embedded .chat-bubble small{font-size:10px;margin-top:5px;color:#61778b}
.staff-desk .chat-embedded #desk-form{margin-top:8px}
.staff-desk .chat-embedded #desk-form label{font-size:12px;margin:0 0 4px}
.staff-desk .chat-embedded #desk-reply{font:16px/1.4 system-ui;min-height:64px;padding:8px;margin:0 0 7px;border-color:#b7cce1;border-radius:7px}
.staff-desk .chat-embedded #desk-form button[type=submit]{font-size:13px;min-height:40px;padding:8px 16px;border-radius:7px}
@media(max-width:650px){.staff-desk .chat-workspace{grid-template-columns:1fr;gap:8px}.staff-desk .chat-embedded #chat-list{max-height:132px}.staff-desk .chat-embedded .chat-messages{max-height:38dvh}.staff-desk .chat-presence-bar{align-items:flex-start}.staff-desk .chat-embedded #desk-status{padding:10px 0 0}.staff-desk .chat-embedded .chat-workspace h2{font-size:14px}}

.chat-desk .chat-delete{background:#fff;color:#a12626;border:1px solid #e3bcbc;padding:8px 12px;border-radius:8px;font-size:14px;margin:0 0 12px;cursor:pointer}.chat-desk .chat-delete:hover{background:#fff1f1}.chat-desk .chat-delete[hidden]{display:none}

.staff-desk .chat-thread-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.staff-desk .chat-thread-heading #conversation-title{margin:0;min-width:0}.staff-desk .chat-thread-heading .chat-delete{flex:none;padding:5px 8px;font-size:11px;min-height:32px;margin:0;border-radius:6px}

/* Customer-facing messenger: clear hierarchy and compact mobile layout. */
#ge-chat{width:min(420px,calc(100vw - 24px));border:1px solid #d7e1ee;border-radius:16px;font-family:system-ui,-apple-system,sans-serif;box-shadow:0 20px 70px #071d4040}
#ge-chat header{padding:16px;gap:12px;background:#102c54}
#ge-chat #ge-chat-title{font:650 19px/1.3 system-ui,-apple-system,sans-serif;text-transform:none;letter-spacing:-.3px;color:#fff}
#ge-chat header p{font:400 12px/1.45 system-ui;margin-top:4px;color:#d6e4f5}
#ge-chat #ge-chat-close{flex:none;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid #ffffff30;border-radius:50%;font:300 26px/1 system-ui;background:#ffffff0d;outline:none;box-shadow:none}
#ge-chat #ge-chat-close:focus-visible{outline:2px solid #93c5fd;outline-offset:3px}
#ge-chat .chat-help{font:400 11px/1.5 system-ui;margin:10px 16px;color:#5c6e82}
#ge-chat .chat-messages{padding:14px 12px;background:#f5f7fa;max-height:32dvh;border-block:1px solid #e9eef4}
#ge-chat .chat-bubble{box-sizing:border-box;max-width:92%;font:400 14px/1.5 system-ui;padding:10px 12px;border-radius:12px;margin-bottom:10px;color:#253c53;box-shadow:none}
#ge-chat .chat-bubble.customer{background:#eaf2fc;border-color:#dbe6f4}
#ge-chat .chat-bubble.assistant,#ge-chat .chat-bubble.staff{background:#fff;border-color:#e0e7ef}
#ge-chat .chat-bubble strong{font:600 11px/1.4 system-ui;margin-bottom:4px;color:#4c637d}
#ge-chat .chat-bubble small{display:inline-block;font:400 10px/1.4 system-ui;color:#66798e;margin:7px 0 0}
#ge-chat .chat-message-delete{float:right;background:transparent;border:0;color:#63748a;padding:5px 0 5px 12px;min-height:30px;font:500 11px/1.4 system-ui;text-decoration:underline;cursor:pointer;box-shadow:none}
#ge-chat .chat-message-delete:hover{color:#a12626}
#ge-chat form{padding:12px 16px 0}
#ge-chat label{font:600 12px/1.4 system-ui;color:#29435e}
#ge-chat textarea{min-height:66px;resize:vertical;border-color:#bfcede;border-radius:9px;padding:9px 11px;font:400 16px/1.4 system-ui}
#ge-chat .chat-actions button{min-height:42px;padding:10px 13px;border-radius:8px;font:600 13px/1.3 system-ui}
#ge-chat .chat-actions button[type=submit]{flex:1;background:#1768c4}
#ge-chat-status:empty{display:none}
#ge-chat-status{margin:8px 16px 0;font:400 12px/1.4 system-ui;color:#435e7b}
@media(max-width:650px){#ge-chat{max-height:calc(100dvh - 24px)}#ge-chat header{padding:13px 15px}#ge-chat .chat-messages{max-height:30dvh}#ge-chat .chat-help{margin:8px 15px}#ge-chat form{padding:10px 15px 0}}

/* Customer chat floats above the usable page, without a modal backdrop. */
#ge-chat{position:fixed;inset:auto;margin:0;z-index:1100;max-width:none;max-height:none;overflow:hidden;border-radius:12px;box-shadow:0 8px 32px #09214030}
#ge-chat[open]{display:flex;flex-direction:column}
#ge-chat::backdrop{background:transparent;backdrop-filter:none}
#ge-chat header{flex:none;padding:9px 11px;gap:8px}
#ge-chat .chat-window-move{flex:1;min-width:0;cursor:grab;touch-action:none;user-select:none}
#ge-chat .chat-window-move:active{cursor:grabbing}
#ge-chat #ge-chat-title{font-size:16px;letter-spacing:0}
#ge-chat header p{font-size:11px;line-height:1.3;margin-top:2px}
#ge-chat #ge-chat-close{width:34px;height:34px;min-height:34px;font-size:23px}
#ge-chat .chat-window-tools{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:5px 10px;background:#f0f5fb;border-bottom:1px solid #dce6f0}
#ge-chat .chat-window-tools label{font:500 11px/1.3 system-ui;margin:0}
#ge-chat .chat-window-tools select{font:500 16px/1.3 system-ui;color:#244563;background:white;border:1px solid #c8d8e9;border-radius:5px;padding:3px 5px;max-width:115px}
#ge-chat .chat-window-tools button{font:500 11px/1.3 system-ui;color:#315b84;border:0;background:transparent;padding:5px;min-height:30px}
#ge-chat #ge-chat-reset{margin-left:auto}
#ge-chat #ge-chat-custom{display:flex;align-items:end;gap:6px;width:100%}
#ge-chat #ge-chat-custom label{flex:1;min-width:0}
#ge-chat #ge-chat-custom input{width:100%;margin:3px 0 0;padding:3px 5px;font-size:16px}
#ge-chat .chat-window-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:14px}
#ge-chat .chat-help{font-size:11px;line-height:1.4;margin:8px 11px}
#ge-chat .chat-messages{min-height:0;max-height:35dvh;padding:8px;background:#f5f7fb}
#ge-chat .chat-messages:empty{display:none}
#ge-chat .chat-bubble{font-size:13px;line-height:1.4;padding:8px 9px;margin-bottom:7px}
#ge-chat form{padding:6px 11px 0}
#ge-chat input{padding:6px 8px;margin:4px 0 7px}
#ge-chat textarea{padding:6px 8px;min-height:58px;margin:4px 0 7px;resize:vertical}
#ge-chat .chat-actions button{min-height:36px;padding:7px 10px;font-size:12px}
#ge-chat-status{margin:6px 11px 0;font-size:11px}
#ge-chat #ge-chat-resize{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:30px;height:28px;min-height:0;padding:0;border:0;border-radius:9px 0 10px 0;background:#e7eff9;color:#315f8b;cursor:nwse-resize;touch-action:none;font:16px/1 system-ui;z-index:2}

/* Two simple presets, with direct two-finger resizing on touchscreens. */
#ge-chat{touch-action:pan-y}
#ge-chat .chat-size-options{display:flex;gap:3px;padding:2px;background:#e1eaf5;border-radius:6px}
#ge-chat .chat-size-options button{padding:4px 9px;min-height:28px;font-size:11px;border-radius:4px;color:#3c5772}
#ge-chat .chat-size-options button[aria-pressed=true]{background:white;color:#155db5;box-shadow:0 1px 3px #19395720;font-weight:700}
#ge-chat .chat-pinch-hint{font:400 10px/1.3 system-ui;color:#60748b;margin-left:3px}
#ge-chat #ge-chat-reset{font-size:20px;padding:1px 6px;min-width:30px}
@media(pointer:coarse){#ge-chat #ge-chat-resize{display:none}}

.staff-desk .chat-contact-email{font:400 12px/1.45 system-ui;color:#526b82;margin:0 0 8px;overflow-wrap:anywhere}
@media(max-width:650px){
 #ge-chat-launch{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%}
 #ge-chat-launch .chat-launch-icon{width:20px;height:20px}
 #ge-chat-launch .chat-launch-icon svg{width:20px;height:20px}
}

/* Compact messenger with layout options tucked into the header. */
#ge-chat{border-radius:14px;border-color:#d8e3ef;box-shadow:0 12px 40px #09214035}
#ge-chat header{padding:8px 12px;gap:4px;background:linear-gradient(110deg,#102c54,#154b7a)}
#ge-chat #ge-chat-title{font:650 16px/1.25 system-ui;letter-spacing:-.2px}
#ge-chat header p{font:400 11px/1.35 system-ui;margin:3px 0 0;color:#dbe9f8}
#ge-chat #ge-chat-settings,#ge-chat #ge-chat-close{flex:none;width:36px;height:44px;min-height:44px;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;box-shadow:none;cursor:pointer}
#ge-chat #ge-chat-settings{font:600 23px/1 system-ui}
#ge-chat #ge-chat-close{font:300 25px/1 system-ui}
#ge-chat #ge-chat-settings:hover,#ge-chat #ge-chat-close:hover{background:#ffffff18}
#ge-chat #ge-chat-settings:focus-visible,#ge-chat #ge-chat-close:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}
#ge-chat .chat-window-tools{padding:5px 12px;gap:5px}
#ge-chat .chat-window-content{padding-bottom:4px}
#ge-chat .chat-help{font:400 11px/1.4 system-ui;margin:9px 13px;color:#587087}
#ge-chat form{padding:3px 13px 0}
#ge-chat label{font:600 12px/1.35 system-ui;margin:0 0 3px;color:#29435e}
#ge-chat .chat-optional{font-weight:400;color:#698094}
#ge-chat input,#ge-chat textarea{border:1px solid #bdcee0;border-radius:8px;background:#fff;font:400 16px/1.35 system-ui;padding:7px 9px;margin:4px 0 9px;box-shadow:none}
#ge-chat input{min-height:40px}
#ge-chat textarea{min-height:68px;resize:vertical}
#ge-chat input:focus,#ge-chat textarea:focus{border-color:#1768c4}
#ge-chat textarea::placeholder{color:#7a8b9c;opacity:1}
#ge-chat .chat-actions button[type=submit]{min-height:44px;padding:10px 12px;font:650 13px/1.3 system-ui;border-radius:8px;background:#1768c4;box-shadow:0 2px 5px #1768c41a}
#ge-chat .chat-actions button[type=submit]:hover{background:#125bad}
#ge-chat-status{margin:7px 13px 0;font:400 11px/1.4 system-ui}
#ge-chat .chat-window-tools .chat-size-options button{min-height:36px}
#ge-chat .chat-window-tools #ge-chat-reset{min-height:36px}

/* Keep the mobile launcher close to the lower safe edge. */
@media(max-width:650px){#ge-chat-launch{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

/* Match the desktop accessibility launcher’s circular footprint. */
@media (min-width: 651px) {
 #ge-chat-launch.chat-launch-circle {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border-radius: 50%;
 }
 #ge-chat-launch.chat-launch-circle .chat-launch-icon {
  display: block;
  width: 24px;
  height: 24px;
 }
 #ge-chat-launch.chat-launch-circle .chat-launch-label {
  display: none;
 }
}
