.mira-chat-launcher{
 position:fixed;
 right:22px;
 bottom:155px;
 z-index:1200;
 border:0;
 border-radius:999px;
 padding:13px 18px;
 background:#173c67;
 color:#fff;
 font:800 14px/1 system-ui,sans-serif;
 box-shadow:0 10px 30px rgba(20,45,70,.28);
 cursor:pointer;
}
.mira-chat-launcher:hover{transform:translateY(-1px)}

.mira-chat-panel{
 position:fixed;
 right:22px;
 bottom:215px;
 width:min(370px,calc(100vw - 28px));
 height:520px;
 z-index:1201;
 display:none;
 flex-direction:column;
 background:#fff;
 border:1px solid #d8e2ea;
 border-radius:20px;
 box-shadow:0 24px 60px rgba(15,50,72,.28);
 overflow:hidden;
}
.mira-chat-panel.open{display:flex}

.mira-chat-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 padding:14px 16px;
 background:#173c67;
 color:#fff;
}
.mira-chat-head b{font-size:15px}
.mira-chat-head small{
 display:block;
 margin-top:3px;
 opacity:.75;
 font-size:10px;
}
.mira-chat-close{
 border:0;
 background:transparent;
 color:#fff;
 font-size:22px;
 cursor:pointer;
}

.mira-chat-messages{
 flex:1;
 overflow:auto;
 padding:13px;
 background:#f4f7f9;
}
.mira-chat-empty{
 color:#6c7d8b;
 font-size:12px;
 text-align:center;
 padding:24px 10px;
}
.mira-chat-row{
 display:flex;
 margin:8px 0;
}
.mira-chat-row.client{justify-content:flex-end}
.mira-chat-row.staff{justify-content:flex-start}
.mira-chat-bubble{
 max-width:82%;
 padding:9px 11px;
 border-radius:13px;
 background:#fff;
 border:1px solid #dce4eb;
 font-size:12px;
 line-height:1.45;
 white-space:pre-wrap;
}
.mira-chat-row.client .mira-chat-bubble{
 background:#e7f1f8;
 border-color:#cadde9;
}
.mira-chat-time{
 margin-top:4px;
 font-size:9px;
 color:#7a8a97;
}

.mira-chat-first,
.mira-chat-compose{
 padding:12px;
 border-top:1px solid #dde5eb;
 background:#fff;
}
.mira-chat-first{
 display:grid;
 gap:8px;
}
.mira-chat-first input,
.mira-chat-first textarea,
.mira-chat-compose textarea{
 width:100%;
 box-sizing:border-box;
 border:1px solid #d4e0e8;
 border-radius:12px;
 padding:10px 11px;
 font:13px system-ui,sans-serif;
}
.mira-chat-first textarea,
.mira-chat-compose textarea{
 resize:none;
 min-height:66px;
}
.mira-chat-consent{
 display:flex;
 gap:7px;
 align-items:flex-start;
 font-size:10px;
 line-height:1.35;
 color:#687987;
}
.mira-chat-consent input{
 width:auto;
 margin-top:2px;
}
.mira-chat-consent a{color:#173c67}

.mira-chat-send{
 border:0;
 border-radius:12px;
 padding:11px 14px;
 background:#d1a34b;
 color:#17202a;
 font-weight:900;
 cursor:pointer;
}
.mira-chat-compose{
 display:none;
 grid-template-columns:minmax(0,1fr) auto;
 gap:8px;
 align-items:end;
}

@media(max-width:620px){
 .mira-chat-launcher{
  right:14px;
  bottom:145px;
 }
 .mira-chat-panel{
  right:10px;
  bottom:205px;
  width:calc(100vw - 20px);
  height:min(540px,calc(100vh - 230px));
 }
}
