:root {}
#dcme-chat-overlay{ position: fixed; inset: 0; background: rgba(0,0,0,.45); backdrop-filter: blur(2px); z-index: 99999; }
#dcme-chat{ position: fixed; right: 16px; bottom: 16px; width: var(--dcme-width, 380px); max-width: calc(100vw - 32px); height: var(--dcme-height, 600px); max-height: calc(100vh - 32px); background: var(--dcme-panel, #111827); color: var(--dcme-text, #f9fafb); border-radius: var(--dcme-radius, 16px); box-shadow: var(--dcme-shadow, 0 10px 30px rgba(0,0,0,.35)); overflow: hidden; z-index: 100000; display: flex; flex-direction: column; }
#dcme-chat.dcme-hidden,#dcme-chat-overlay.dcme-hidden{ display:none; }
.dcme-header{ background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)); padding: 12px 14px; display:flex; align-items:center; justify-content:space-between; border-bottom: 1px solid rgba(255,255,255,.06); }
.dcme-title{ font-weight:700; letter-spacing:.3px; }
.dcme-close{ appearance:none; border:0; background:transparent; color:inherit; font-size:22px; cursor:pointer; padding: 2px 6px; }
.dcme-body{ flex:1; display:flex; overflow:auto; }
.dcme-view{ width:100%; padding:14px; display:flex; flex-direction:column; gap:10px; }
.dcme-view.dcme-hidden{ display:none; }
.dcme-heading{ font-size:1.1rem; margin:4px 0 6px; }
.dcme-label{ display:flex; flex-direction:column; gap:6px; }
.dcme-label-text{ opacity:.85; font-size:.9rem; }
.dcme-input, .dcme-textarea{ width:100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: inherit; padding:10px 12px; border-radius:12px; outline:none; }
.dcme-textarea{ resize:vertical; min-height:72px; }
.dcme-privacy{ font-size:.85rem; opacity:.9; }
.dcme-privacy a{ color: var(--dcme-primary, #2563eb); text-decoration: underline; }
.dcme-btn{ appearance:none; border:0; cursor:pointer; padding:10px 14px; border-radius:12px; font-weight:600; color: var(--dcme-btntext, #fff); transition: transform .03s ease-in-out, opacity .2s; user-select:none; }
.dcme-btn:active{ transform: translateY(1px); }
.dcme-btn-primary{ background: var(--dcme-primary, #2563eb); }
.dcme-btn-success{ background: var(--dcme-success, #16a34a); }
.dcme-btn-danger{ background: var(--dcme-danger, #dc2626); }
.dcme-link-btn{ background: transparent; border: 1px solid rgba(255,255,255,.15); color: inherit; border-radius: 999px; padding: 6px 10px; cursor: pointer; }
.dcme-topbar{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.dcme-status{ font-weight:700; }
.dcme-subtle{ opacity:.8; font-size:.85rem; }
.dcme-actions{ display:flex; gap:8px; }
.dcme-knisel{ display:flex; }
.dcme-toggle{ display:inline-flex; align-items:center; gap:10px; padding:8px 10px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); border-radius:12px; cursor:pointer; user-select:none; }
.dcme-toggle input{ position:absolute; opacity:0; width:1px; height:1px; }
.dcme-toggle-ui{ width:44px; height:24px; background: rgba(255,255,255,.18); border-radius:999px; position:relative; display:inline-block; transition: background .2s, opacity .2s; }
.dcme-toggle-ui:after{ content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; background: rgba(255,255,255,.9); border-radius:50%; transition: transform .2s; }
.dcme-toggle input:checked + .dcme-toggle-ui{ background: var(--dcme-primary, #2563eb); }
.dcme-toggle input:checked + .dcme-toggle-ui:after{ transform: translateX(20px); }
.dcme-toggle input:disabled + .dcme-toggle-ui{ opacity:.55; }
.dcme-toggle-text{ font-weight:600; }
.dcme-upload input[type="file"]{ width:100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); padding:10px; border-radius:12px; color:inherit; }
.dcme-feedback{ font-size:.9rem; min-height: 1.2em; }
.dcme-feedback.dcme-error{ color: #fecaca; }
.dcme-feedback.dcme-success{ color: #bbf7d0; }
.dcme-showpass{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; opacity:.9; }
#dcme-chat.dcme-running .dcme-header{ background: linear-gradient(90deg, rgba(22,163,74,.25), rgba(22,163,74,0)); }

/* WP Admin: Knisel-Zeiten im Backend farblich hervorheben */
tr.dcme-knisel-row > td{ background: #fff7ed !important; }
@media (max-width: 640px){ #dcme-chat{ left: 8px; right: 8px; bottom: 8px; width: auto; height: 65vh; } }
