/* Chat attachments and quick actions */
.chat-panel{position:relative;isolation:isolate}
.chat-attach-menu{position:absolute;bottom:145px;left:22px;z-index:30;
  width:min(405px,calc(100% - 44px));max-height:min(68dvh,505px);overflow-y:auto;
  padding:10px;background:#fff;border:1px solid #dceaf7;border-radius:22px;
  box-shadow:0 22px 65px #1c538529,0 3px 14px #1c538512;
  animation:chat-menu-in .18s cubic-bezier(.2,.8,.2,1) both}
.chat-attach-menu[hidden]{display:none}
.attach-menu-heading{padding:12px 12px 13px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#365e81}
.attach-menu-heading b{font-size:13px}.attach-menu-heading span{font:700 9px 'Plus Jakarta Sans',sans-serif;color:#a4b6c8;letter-spacing:.09em}
.attach-menu-item{width:100%;min-height:58px;display:flex;align-items:center;gap:13px;
  padding:9px 11px;text-align:left;border:0;border-radius:12px;background:transparent;color:#354f6c;
  font-family:inherit;cursor:pointer;transition:background .15s,transform .15s}
.attach-menu-item:hover,.attach-menu-item:focus-visible{background:#f0f7ff;outline:none}
.attach-menu-item:active{transform:scale(.992)}
.attach-menu-item>span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:1;min-width:0}
.attach-menu-item b{font-weight:700;font-size:12px;color:#395c7a;line-height:1.5}
.attach-menu-item small{font-size:11px;font-weight:400;color:#9caebe;line-height:1.4}
.attach-menu-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;
  border-radius:11px;background:#f1f5fa;color:#6e8faf}
.attach-menu-icon.sky{background:#eaf5ff;color:#429aef}
.attach-menu-icon.violet{background:#f1efff;color:#9884dd}
.attach-menu-icon.mint{background:#e9f9f5;color:#32a6a1}
.attach-menu-icon svg{width:17px;height:17px}
.attach-menu-separator{margin:8px 7px 5px;border-top:1px solid #eef3f8;padding:12px 5px 2px;color:#a6b8c9;font-size:10px;font-weight:700;letter-spacing:.06em}
.attach-menu-foot{padding:13px 10px 7px;color:#a9baca;font-size:10px;line-height:1.4;border-top:1px solid #edf3f8;margin:7px}
.chat-attach-trigger{width:37px;height:37px;display:grid;place-items:center;flex:none;
  border:1px solid #d8e8f6;background:#fff;color:#528bbc;border-radius:50%;
  cursor:pointer;transition:transform .2s,background .2s,border-color .2s;box-shadow:0 2px 7px #32689e0c}
.chat-attach-trigger svg{width:19px;height:19px;stroke-width:2;transition:transform .2s}
.chat-attach-trigger:hover,.chat-attach-trigger.active{background:#e7f4ff;border-color:#aed3f6;color:#237fce}
.chat-attach-trigger.active svg{transform:rotate(45deg)}
.chat-attach-trigger:focus-visible{outline:3px solid #b3dafa;outline-offset:2px}
.chat-attach-trigger:disabled{opacity:.52;cursor:not-allowed}
.chat-send-row #chat-estimate{flex:1;min-width:0}
.chat-attachment-list{display:flex;gap:8px;flex-wrap:wrap;padding:12px 13px 2px}
.chat-attachment-list[hidden]{display:none}
.chat-file-chip{max-width:min(260px,100%);min-height:47px;display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid #dfeafa;border-radius:11px;padding:5px 7px;
  box-shadow:0 3px 12px #4a8fcd0d;min-width:0}
.chat-file-chip.is-pending{border-style:dashed;opacity:.78}
.chat-file-chip img{width:35px;height:35px;object-fit:cover;border-radius:7px;flex:none}
.chat-file-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:8px;background:#eff7ff;color:#438ddd}
.chat-file-icon svg{width:16px;height:16px}
.chat-file-info{min-width:0;display:flex;flex-direction:column;gap:2px;max-width:157px}
.chat-file-info strong{font:700 11px 'IBM Plex Sans Thai',sans-serif;color:#436383;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-file-info small{font-size:10px;color:#9aadc1;white-space:nowrap}
.chat-file-remove{border:0;background:transparent;color:#a5b7c9;cursor:pointer;padding:5px;
  border-radius:7px;display:grid;place-items:center;flex:none}
.chat-file-remove:hover,.chat-file-remove:focus-visible{background:#ffeff0;color:#cb626b;outline:none}
.chat-file-remove svg{width:14px;height:14px}
.chat-drop-target{border-style:dashed!important;border-color:#509eed!important;background:#f0f9ff!important}
@keyframes chat-menu-in{from{opacity:0;transform:translateY(8px) scale(.984)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){
  .chat-attach-menu{left:12px;width:calc(100% - 24px);bottom:157px;max-height:min(61dvh,470px)}
  .attach-menu-heading{padding:9px}
  .attach-menu-item{min-height:54px}
  .chat-send-row{flex-wrap:nowrap}
  .chat-send-row #chat-estimate{font-size:10px;line-height:1.3}
  .chat-attachment-list{padding:10px 8px 0}
  .chat-file-chip{max-width:100%}
}
@media(max-width:430px){
  .chat-attach-menu{position:fixed;left:10px;right:10px;width:auto;bottom:calc(88px + env(safe-area-inset-bottom));max-height:68dvh;border-radius:18px}
  .chat-send-row .button{padding:10px 12px;font-size:11px}
  .chat-send-row #chat-estimate{width:auto;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.chat-attach-menu{animation:none}.attach-menu-item,.chat-attach-trigger,.chat-attach-trigger svg{transition:none}}
