.customer-chat-admin{display:grid;grid-template-columns:320px minmax(0,1fr);height:calc(100vh - 92px);min-height:560px;overflow:hidden;border:1px solid #d8eee5;border-radius:12px;background:#fff;box-shadow:0 8px 26px rgba(0,122,77,.08)}.support-session-panel{display:flex;min-width:0;flex-direction:column;border-right:1px solid #d8eee5;background:#fbfffd}.session-panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 17px 14px;border-bottom:1px solid #e2f1eb}.session-panel-header h2{margin:0;color:#17352b;font-size:18px}.session-panel-header span{display:block;margin-top:4px;color:#7d9289;font-size:11px}.session-panel-header button,.session-search button{height:32px;padding:0 14px;color:#008f5c;font-size:12px;border:1px solid #bfe4d5;border-radius:8px;background:#eaf9f3;cursor:pointer}.session-search{display:flex;gap:8px;padding:12px;border-bottom:1px solid #e2f1eb}.session-search input{min-width:0;flex:1;height:34px;padding:0 11px;color:#17352b;outline:none;border:1px solid #d4eade;border-radius:8px;background:#fff}.session-search input:focus{border-color:#00aa6c;box-shadow:0 0 0 2px rgba(0,170,108,.1)}.support-session-list{flex:1;min-height:0;overflow-y:auto}.session-list-state{padding:50px 20px;color:#879b92;font-size:13px;text-align:center}.support-session-item{position:relative;display:flex;width:100%;align-items:center;gap:10px;padding:13px 12px;text-align:left;border:0;border-bottom:1px solid #edf6f2;background:transparent;cursor:pointer;transition:.18s}.support-session-item:hover{background:#f0faf6}.support-session-item.active{background:#e2f7ee;box-shadow:inset 3px 0 #00aa6c}.session-avatar,.conversation-avatar{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;color:#fff;font-size:16px;font-weight:800;border-radius:50%;background:linear-gradient(135deg,#34e0a1,#008f5c)}.session-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:6px}.session-name-row{display:flex;align-items:center;justify-content:space-between;gap:7px}.session-name-row strong{overflow:hidden;color:#24483b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.session-name-row time{flex:0 0 auto;color:#91a29b;font-size:9px}.session-preview{overflow:hidden;color:#778b83;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.session-unread{position:absolute;right:12px;bottom:10px;min-width:18px;height:18px;padding:0 5px;color:#fff;font-size:10px;line-height:18px;text-align:center;border-radius:10px;background:#f05d5d}.support-conversation{display:flex;min-width:0;flex-direction:column;background:#f4fbf8}.conversation-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:13px 20px;background:#fff;border-bottom:1px solid #d8eee5}.conversation-user{display:flex;align-items:center;gap:11px}.conversation-avatar{flex-basis:38px;width:38px;height:38px;font-size:14px}.conversation-user>span:last-child{display:flex;flex-direction:column;gap:4px}.conversation-user strong{color:#17352b;font-size:14px}.conversation-user small{color:#80958c;font-size:10px}.conversation-status{color:#008f5c;font-size:11px}.conversation-messages{flex:1;min-height:0;overflow-y:auto;padding:20px 24px}.conversation-loading{text-align:center;color:#7f958c;font-size:12px}.admin-message-row{display:flex;align-items:flex-end;gap:9px;margin:13px 0}.admin-message-row.from-service{justify-content:flex-end}.admin-message-avatar{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;color:#fff;font-size:10px;font-weight:700;border-radius:50%;background:#8fa49b}.admin-message-avatar.service{background:#00aa6c}.admin-message-wrap{display:flex;max-width:68%;flex-direction:column;gap:4px}.from-service .admin-message-wrap{align-items:flex-end}.admin-message-bubble{padding:10px 13px;color:#294b3f;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;border:1px solid #d7eee4;border-radius:5px 14px 14px;background:#fff;box-shadow:0 4px 12px rgba(0,90,57,.05)}.from-service .admin-message-bubble{color:#fff;border-color:#00aa6c;border-radius:14px 5px 14px 14px;background:linear-gradient(135deg,#18c989,#009b63)}.admin-message-wrap time{padding:0 3px;color:#91a29b;font-size:9px}.conversation-composer{flex:0 0 auto;padding:12px 16px;background:#fff;border-top:1px solid #d8eee5}.conversation-composer textarea{display:block;box-sizing:border-box;width:100%;height:82px;padding:11px 13px;color:#17352b;font:inherit;font-size:13px;line-height:1.6;resize:none;outline:none;border:1px solid #d2e9df;border-radius:9px;background:#fbfffd}.conversation-composer textarea:focus{border-color:#00aa6c;box-shadow:0 0 0 3px rgba(0,170,108,.09)}.composer-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.composer-footer span{color:#94a59e;font-size:10px}.composer-footer button{height:34px;padding:0 22px;color:#fff;font-size:12px;font-weight:700;border:0;border-radius:8px;background:#00aa6c;cursor:pointer}.composer-footer button:disabled{background:#aacabe;cursor:not-allowed}.support-conversation-empty{display:grid;place-content:center;text-align:center;background:linear-gradient(180deg,#f5fcf9,#edf8f3)}.empty-chat-icon{font-size:52px}.support-conversation-empty h3{margin:15px 0 7px;color:#294b3f;font-size:17px}.support-conversation-empty p{color:#82968e;font-size:12px}@media(max-width:900px){.customer-chat-admin{grid-template-columns:270px minmax(0,1fr)}.conversation-status{display:none}}


.support-chat-admin-page{position:relative}.support-config-trigger{position:absolute;z-index:8;top:-54px;left:105px;height:34px;padding:0 15px;color:#fff;font-size:12px;font-weight:700;border:0;border-radius:8px;background:linear-gradient(135deg,#19c98a,#009b63);box-shadow:0 6px 16px rgba(0,155,99,.2);cursor:pointer}.admin-message-avatar.service{overflow:hidden}.admin-message-avatar.service img{width:100%;height:100%;object-fit:cover}.support-config-modal{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:24px}.support-config-mask{position:absolute;inset:0;background:rgba(8,35,26,.42);backdrop-filter:blur(3px)}.support-config-dialog{position:relative;width:min(560px,calc(100vw - 40px));overflow:hidden;border:1px solid #d4eadf;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,72,47,.2)}.support-config-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 17px;border-bottom:1px solid #e3f1eb}.support-config-dialog>header h2{margin:0;color:#123d2f;font-size:20px}.support-config-dialog>header p{margin:6px 0 0;color:#789087;font-size:12px}.support-config-dialog>header button{width:32px;height:32px;color:#70877e;font-size:23px;border:0;border-radius:8px;background:#eff8f4;cursor:pointer}.support-config-loading{padding:60px;text-align:center;color:#789087}.support-config-form{display:grid;gap:20px;padding:22px}.support-config-field{display:flex;flex-direction:column;gap:9px;color:#234a3c;font-size:13px;font-weight:700}.support-avatar-editor{display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid #d9eee5;border-radius:12px;background:#f7fcfa}.support-avatar-preview{display:grid;width:76px;height:76px;overflow:hidden;place-items:center;color:#fff;font-size:26px;border-radius:50%;background:linear-gradient(135deg,#34e0a1,#008f5c);box-shadow:0 7px 18px rgba(0,160,101,.2)}.support-avatar-preview img{width:100%;height:100%;object-fit:cover}.support-avatar-controls{display:flex;min-width:0;flex-direction:column;gap:10px}.support-avatar-controls>input{box-sizing:border-box;width:100%;height:38px;padding:0 11px;color:#173f31;outline:none;border:1px solid #cfe7dc;border-radius:8px;background:#fff}.support-avatar-upload{display:grid;width:100px;height:34px;place-items:center;color:#008f5c;font-size:12px;border:1px solid #adddca;border-radius:8px;background:#e9f9f2;cursor:pointer}.support-avatar-upload input{display:none}.support-config-field textarea{box-sizing:border-box;width:100%;min-height:112px;padding:12px;color:#173f31;font:inherit;font-weight:400;line-height:1.65;resize:vertical;outline:none;border:1px solid #cfe7dc;border-radius:10px;background:#fbfffd}.support-config-field textarea:focus,.support-avatar-controls>input:focus{border-color:#00aa6c;box-shadow:0 0 0 3px rgba(0,170,108,.09)}.support-config-field small{align-self:flex-end;color:#8ca097;font-size:10px;font-weight:400}.support-config-dialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid #e3f1eb;background:#fbfffd}.support-config-dialog>footer button{height:36px;padding:0 20px;font-size:12px;font-weight:700;border-radius:8px;cursor:pointer}.support-config-dialog>footer .cancel{color:#567168;border:1px solid #cadfd6;background:#fff}.support-config-dialog>footer .save{color:#fff;border:0;background:#00aa6c}.support-config-dialog>footer button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:700px){.support-config-trigger{left:90px}.support-avatar-editor{grid-template-columns:1fr}.support-avatar-preview{margin:auto}}


/* ---- image messages (v3) ---- */
.admin-message-bubble.has-image{padding:6px;overflow:hidden}
.admin-message-bubble.has-image .admin-message-text{display:block;padding:8px 8px 3px}
.admin-message-image{display:block;width:240px;max-width:100%;height:auto;border-radius:10px;background:rgba(0,0,0,.04);cursor:zoom-in;object-fit:cover}
.from-service .admin-message-image{background:rgba(255,255,255,.16)}
.admin-image-input{display:none}
.admin-image-preview{display:flex;align-items:center;gap:12px;padding:10px 16px 0;background:#fff}
.admin-image-preview img{width:64px;height:64px;border:1px solid #dfe6e2;border-radius:10px;object-fit:cover}
.admin-image-remove{margin-left:auto;padding:6px 12px;color:#8a9a93;font-size:12px;border:1px solid #dfe6e2;border-radius:8px;background:#fff;cursor:pointer}
.admin-image-remove:hover{color:#c0453a;border-color:#f0cdc8}
.admin-image-uploading{display:flex;align-items:center;gap:10px;color:#6b7d76;font-size:13px}
.admin-image-spinner{display:block;width:18px;height:18px;border:2px solid #dfe6e2;border-top-color:#00aa6c;border-radius:50%;animation:admin-chat-spin .8s linear infinite}
@keyframes admin-chat-spin{to{transform:rotate(360deg)}}
.composer-image-button{padding:6px 14px;color:#0f7a55;font-size:13px;border:1px solid #cfe7dc;border-radius:8px;background:#f3fbf7;cursor:pointer}
.composer-image-button:hover:not(:disabled){border-color:#00aa6c}
.composer-image-button:disabled{color:#9aa8a3;cursor:not-allowed}
.composer-footer>span{margin-left:auto;padding:0 12px;color:#93a49d;font-size:12px}
.admin-message-wrap:has(.admin-message-image){max-width:min(72%,340px)}
/* ---- read receipts (v4, agent console only) ---- */
.admin-message-meta{display:flex;align-items:center;gap:6px}
.admin-message-meta time{padding:0 4px}
.admin-message-read{font-size:11px;line-height:1;white-space:nowrap}
.admin-message-read.is-read{color:#00aa6c}
.admin-message-read.is-unread{color:#98a7a1}.from-service .admin-message-meta{justify-content:flex-end}
/* ---- v5: keep the composer inside the panel ----
   .customer-chat-admin is a grid with a fixed height and overflow:hidden, but
   grid items default to min-height:auto. A long conversation therefore stretched
   .support-conversation past that height, pushing the composer (and its input)
   below the viewport with no way to scroll to it. min-height:0 lets
   .conversation-messages take the leftover space and scroll internally. */
.customer-chat-admin>aside,
.customer-chat-admin>section{min-height:0}
.support-conversation{min-height:0;overflow:hidden}
.conversation-messages{min-height:0}