:root{
  --mlc-bg:#ffffff;
  --mlc-surface:#ffffff;
  --mlc-surface-2:#f8fbff;
  --mlc-border:#e5edf7;
  --mlc-text:#0f172a;
  --mlc-muted:#64748b;
  --mlc-primary:#2563eb;
  --mlc-primary-2:#1d4ed8;
  --mlc-bubble:#eff6ff;
  --mlc-bubble-2:#ffffff;
  --mlc-shadow:0 18px 50px rgba(15,23,42,.18);
  --mlc-window-radius:30px;
  --mlc-bubble-radius:18px;
  --mlc-input-radius:16px;
  --mlc-button-radius:16px;
  --mlc-toggle-radius:999px;
  --mlc-widget-bottom:20px;
  --mlc-widget-side:20px;
  --mlc-chat-width:420px;
  --mlc-chat-height:680px;
}

#mlc-widget{position:fixed;right:var(--mlc-widget-side);bottom:var(--mlc-widget-bottom);z-index:999999;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mlc-text)}
#mlc-widget[data-position="left"]{left:var(--mlc-widget-side);right:auto}
#mlc-widget [hidden]{display:none !important;}
#mlc-toggle{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:var(--mlc-toggle-radius);padding:15px 18px;background:linear-gradient(135deg,var(--mlc-primary) 0%,#6d8eff 100%);color:#fff;box-shadow:0 16px 34px rgba(37,99,235,.34);cursor:pointer;font-weight:700;letter-spacing:.01em}

#mlc-minimized{display:flex;align-items:center;gap:10px;border:0;border-radius:calc(var(--mlc-toggle-radius) / 2);padding:12px 14px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);cursor:pointer;color:var(--mlc-text);min-width:240px;max-width:min(var(--mlc-chat-width),calc(100vw - 32px));border:1px solid #e5edf7;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}
#mlc-minimized:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(15,23,42,.22)}
.mlc-mini-icon{font-size:18px;line-height:1}
.mlc-mini-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;min-width:0;flex:1}
.mlc-mini-text strong{font-size:13px;line-height:1.2}
.mlc-mini-text span{font-size:12px;color:var(--mlc-muted);line-height:1.2}
.mlc-mini-unread{min-width:22px;height:22px;border-radius:999px;background:var(--mlc-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:0 6px;box-shadow:0 8px 18px rgba(15,23,42,.12)}
#mlc-toggle:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(37,99,235,.42)}
#mlc-toggle:active{transform:translateY(0)}
.mlc-toggle-icon{font-size:18px}
.mlc-toggle-text{font-size:14px}
.mlc-unread{min-width:22px;height:22px;border-radius:999px;background:#fff;color:var(--mlc-primary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:0 6px;box-shadow:0 8px 18px rgba(15,23,42,.16)}
#mlc-window{position:absolute;right:0;bottom:62px;width:min(var(--mlc-chat-width),calc(100vw - 32px));height:min(var(--mlc-chat-height),calc(100vh - 96px));background:var(--mlc-surface);border:1px solid var(--mlc-border);border-radius:var(--mlc-window-radius);overflow:hidden;box-shadow:var(--mlc-shadow);display:flex;flex-direction:column}
#mlc-widget[data-position="left"] #mlc-window{left:0;right:auto}
.mlc-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 15px 13px;background:linear-gradient(135deg,var(--mlc-header-start) 0%,var(--mlc-header-mid) 72%,var(--mlc-header-end) 100%);color:#fff}
.mlc-header::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:rgba(255,255,255,.12)}
.mlc-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.mlc-brand > div{min-width:0}
.mlc-brand-copy{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}
.mlc-brand-top{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.mlc-live-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(10px);flex:none}
.mlc-live-pill .mlc-status-dot{box-shadow:none}
.mlc-avatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.10) 100%);display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(8px);flex:none;flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 10px 20px rgba(2,6,23,.16)}
.mlc-header-title{font-size:16px;font-weight:800;line-height:1.1;margin:0;white-space:nowrap}
.mlc-header-subtitle{margin:0;font-size:12px;opacity:.92;line-height:1.25;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;word-break:break-word}
.mlc-header-actions{display:flex;align-items:center;gap:8px;flex:none;justify-self:end}
#mlc-minimize{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;position:relative;z-index:2;touch-action:manipulation;flex:none;line-height:1;box-shadow:0 8px 18px rgba(2,6,23,.10)}
#mlc-close{height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;position:relative;z-index:2;touch-action:manipulation;flex:none;line-height:1;box-shadow:0 8px 18px rgba(2,6,23,.10);white-space:nowrap}
#mlc-minimize:hover,#mlc-close:hover{background:rgba(255,255,255,.18);transform:translateY(-1px);box-shadow:0 10px 20px rgba(2,6,23,.14)}
#mlc-minimize{font-size:26px;font-weight:700}
#mlc-close{font-size:13px;font-weight:800;letter-spacing:.01em}
.mlc-progress{padding:12px 16px;background:linear-gradient(180deg,#f8fbff 0%,#f4f8ff 100%);border-bottom:1px solid #e6edf7;color:var(--mlc-muted);font-size:12px}
.mlc-topline{display:flex;align-items:center;gap:8px;padding:0 16px 12px;color:var(--mlc-muted);font-size:12px;background:linear-gradient(180deg,#f8fbff 0%,#f4f8ff 100%)}
.mlc-status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14)}
.mlc-intro{padding:14px 16px 0;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 36%)}
.mlc-intro-title{font-size:20px;font-weight:800;margin-bottom:6px;color:var(--mlc-text)}
.mlc-intro-text{font-size:14px;color:var(--mlc-muted);line-height:1.55}
.mlc-closed-state{padding:14px 16px 0;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 35%)}
.mlc-closed-card{padding:16px;border:1px solid var(--mlc-border);border-radius:calc(var(--mlc-window-radius) * .67);background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 12px 28px rgba(15,23,42,.06)}
.mlc-closed-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:var(--mlc-primary);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mlc-closed-title{margin-top:10px;font-size:18px;font-weight:800;color:var(--mlc-text);line-height:1.3}
.mlc-closed-text{margin-top:6px;font-size:13px;color:var(--mlc-muted);line-height:1.55}
.mlc-restart-chat{margin-top:14px;border:0;border-radius:14px;padding:12px 14px;background:linear-gradient(135deg,var(--mlc-primary) 0%,var(--mlc-primary-2) 100%);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(37,99,235,.22);transition:transform .15s ease,box-shadow .15s ease}
.mlc-restart-chat:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(37,99,235,.32)}
.mlc-body{flex:1;overflow:auto;padding:14px 14px 10px;background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%)}
.mlc-empty-state{margin:10px 2px 0;padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--mlc-border)}
.mlc-empty-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e0edff;color:var(--mlc-primary);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mlc-empty-title{margin-top:10px;font-size:18px;font-weight:800}
.mlc-empty-text{margin-top:6px;font-size:13px;color:var(--mlc-muted);line-height:1.55}
.mlc-quick-replies{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 12px;background:#fff}
.mlc-chip{border:1px solid #dbe6f3;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);color:var(--mlc-text);padding:10px 12px;border-radius:999px;font-size:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.mlc-chip:hover{transform:translateY(-1px);border-color:#c7d8f0;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.mlc-send{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;background:#fff;border-top:1px solid #edf2f7}
.mlc-send input{flex:1;border:1px solid #d7e2f0;border-radius:var(--mlc-input-radius);padding:13px 14px;font-size:14px;color:var(--mlc-text);background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.mlc-send input::placeholder{color:#94a3b8}
.mlc-send input:focus{outline:none;border-color:#8ab4ff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.mlc-send button{border:0;border-radius:var(--mlc-button-radius);min-width:52px;background:linear-gradient(135deg,var(--mlc-primary) 0%,var(--mlc-primary-2) 100%);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(37,99,235,.25);transition:transform .15s ease,box-shadow .15s ease}
.mlc-send button:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(37,99,235,.32)}
.mlc-compose-tools{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mlc-tool-btn{width:38px;height:38px;border:1px solid #d7e2f0;border-radius:var(--mlc-button-radius);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.04);font-size:17px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.mlc-tool-btn:hover{transform:translateY(-1px);border-color:#c7d8f0;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.mlc-compose-row{display:flex;gap:10px;width:100%}
.mlc-compose-row input{flex:1}
.mlc-msg-attachments,.mlc-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mlc-attachment{display:flex;align-items:center;gap:10px;max-width:100%;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:8px 10px;background:rgba(255,255,255,.14);color:inherit;overflow:hidden}
.mlc-msg.theirs .mlc-attachment{background:#f8fbff;border-color:#dbe6f3;color:var(--mlc-text)}
.mlc-attachment.image{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:180px}
.mlc-attachment.image img{width:100%;height:120px;object-fit:cover;border-radius:10px;display:block}
.mlc-attachment-icon{font-size:18px;flex:none}
.mlc-attachment-meta,.mlc-attachment span{font-size:12px;line-height:1.3;word-break:break-word}
.mlc-attachment.local{border-style:dashed;background:#f8fbff;color:var(--mlc-text)}
.mlc-attachment-note{display:block;font-size:11px;color:var(--mlc-muted);margin-left:auto}
.mlc-msg.pending .mlc-attachment{opacity:.8}
.mlc-footer-note{padding:0 16px 16px;font-size:11px;color:var(--mlc-muted);background:#fff}
.mlc-msg{max-width:84%;padding:12px 14px;border-radius:var(--mlc-bubble-radius);margin:0 0 10px;box-shadow:0 8px 18px rgba(15,23,42,.06);border:1px solid transparent}
.mlc-msg.mine{margin-left:auto;background:linear-gradient(135deg,#2563eb 0%,#4f86ff 100%);color:#fff;border-color:#2b6be7;border-bottom-right-radius:8px}
.mlc-msg.theirs{margin-right:auto;background:#fff;color:var(--mlc-text);border-color:#e4ebf3;border-bottom-left-radius:8px}
.mlc-msg.pending{opacity:.78}
.mlc-msg.failed{border-color:#fca5a5;background:#fff1f2;color:#9f1239}
.mlc-msg-text{white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:14px}
.mlc-msg-meta{margin-top:6px;font-size:11px;opacity:.78}

@media (max-width: 520px){
  #mlc-widget{left:12px;right:12px;bottom:12px}
  #mlc-window{width:100%;height:min(78vh,720px);bottom:64px}
  #mlc-toggle{width:100%;justify-content:center}
  #mlc-minimized{width:100%;max-width:none;justify-content:flex-start}
  .mlc-toggle-text{display:inline}
  .mlc-header{align-items:center}
}


/* v1.8.8: Datei-Upload im Kunden-Chat */
.mlc-file-preview{display:flex;gap:7px;flex-wrap:wrap}
.mlc-file-preview[hidden]{display:none!important}
.mlc-file-chip{max-width:240px;display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe6f3;border-radius:999px;background:#f8fbff;padding:6px 8px 6px 11px;font-size:11px;color:var(--mlc-text)}
.mlc-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mlc-file-chip button{appearance:none;border:0;background:transparent;color:#64748b;font-size:17px;line-height:1;cursor:pointer;padding:0}
.mlc-compose-row .mlc-tool-btn{flex:0 0 44px;width:44px;height:44px;box-shadow:none}

/* v1.8.9: Einheitlicher, sauberer Büroklammer-Button im Kundenchat */
.mlc-compose-row .mlc-attach-button{
  appearance:none;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #dbe3ef;
  border-radius:10px;
  background:#fff;
  color:#516079;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.mlc-compose-row .mlc-attach-button svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}
.mlc-compose-row .mlc-attach-button:hover{
  border-color:#9db4e8;
  background:#f4f7ff;
  color:#2563eb;
  transform:translateY(-1px);
}
.mlc-compose-row .mlc-attach-button:focus-visible{
  outline:3px solid rgba(37,99,235,.18);
  outline-offset:2px;
}
.mlc-compose-row .mlc-attach-button:active{transform:translateY(0)}


/* Punkt 13: Kontaktdaten vor dem Chat */
#mlc-widget .mlc-contact-gate{padding:22px 20px 18px;background:#f8fafc;overflow-y:auto;flex:1}
#mlc-widget .mlc-contact-form{background:#fff;border:1px solid #e4e9f1;border-radius:18px;padding:22px;box-shadow:0 12px 35px rgba(20,43,75,.08)}
#mlc-widget .mlc-contact-icon{width:46px;height:46px;border-radius:14px;background:#edf5ff;display:grid;place-items:center;font-size:23px;margin-bottom:14px}
#mlc-widget .mlc-contact-title{font-size:19px;font-weight:800;color:#17243a;margin-bottom:7px}
#mlc-widget .mlc-contact-text{font-size:13px;line-height:1.55;color:#66748a;margin-bottom:18px}
#mlc-widget .mlc-contact-form label{display:block;margin-bottom:13px}
#mlc-widget .mlc-contact-form label span{display:block;font-size:11px;font-weight:800;color:#46546b;margin-bottom:6px}
#mlc-widget .mlc-contact-form input{box-sizing:border-box;width:100%;height:44px;border:1px solid #d9e0ea;border-radius:11px;padding:0 13px;font-size:14px;outline:none;background:#fff}
#mlc-widget .mlc-contact-form input:focus{border-color:#2878e5;box-shadow:0 0 0 3px rgba(40,120,229,.12)}
#mlc-widget .mlc-contact-error{margin:2px 0 11px;padding:9px 11px;border-radius:9px;background:#fff0f0;color:#b42318;font-size:12px;font-weight:700}
#mlc-widget .mlc-contact-submit{width:100%;height:44px;border:0;border-radius:11px;background:#1677e8;color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(22,119,232,.2)}
#mlc-widget .mlc-contact-submit:hover{filter:brightness(.97)}
#mlc-widget .mlc-contact-submit:disabled{opacity:.65;cursor:wait}
#mlc-widget .mlc-contact-privacy{text-align:center;color:#8b96a8;font-size:10px;line-height:1.4;margin-top:10px}


/* Punkt 14: Offline-Modus */
#mlc-widget .mlc-live-pill.offline{background:rgba(255,255,255,.14);color:#fff}
#mlc-widget .mlc-live-pill.offline .mlc-status-dot{background:#f6b84a;box-shadow:0 0 0 3px rgba(246,184,74,.18)}
#mlc-widget .mlc-offline-notice{margin:14px 16px 0;padding:12px 13px;border:1px solid #f0d59d;border-radius:12px;background:#fff8e9;color:#75521a;display:flex;flex-direction:column;gap:3px}
#mlc-widget .mlc-offline-notice strong{font-size:12px;font-weight:900}
#mlc-widget .mlc-offline-notice span{font-size:11px;line-height:1.45}
#mlc-widget .mlc-offline-notice[hidden]{display:none!important}


/* Version 2.1.5: eigenes Logo im Chatkopf */
.mlc-avatar-logo{padding:4px;background:rgba(255,255,255,.96);overflow:hidden}
.mlc-avatar-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}

.mlc-msg.theirs.ai{border-left:3px solid #6366f1;background:#eef2ff}


#mlc-widget[data-launcher-style="icon_only"] .mlc-toggle-text{display:none}
#mlc-widget[data-launcher-style="text_only"] .mlc-toggle-icon{display:none}
#mlc-widget[data-launcher-style="icon_only"] .mlc-mini-text span{display:none}
#mlc-widget[data-launcher-style="text_only"] .mlc-mini-icon{display:none}
#mlc-widget[data-launcher-style="text_only"] #mlc-toggle,#mlc-widget[data-launcher-style="text_only"] #mlc-minimized{gap:0}
