/* workspace.css — Team-Workspace. Professionelles, ruhiges Dark-UI im Vollbild (Linear/Slack-Niveau).
   EINE Akzentfarbe (Indigo), klare Struktur, dezente Linien, kein Gold, keine Effekt-Überladung. */

/* ---- Vollbild-Rahmen ---- */
.ws-ov{ position:fixed; inset:0; z-index:1700; display:flex; background:#0a0b0f;
  opacity:0; pointer-events:none; transition:opacity .18s ease; }
.ws-ov.auf{ opacity:1; pointer-events:auto; }
.ws-app{ display:flex; width:100%; height:100%; background:#0e1014; color:#e8eaf0;
  font-feature-settings:"cv05","ss01"; }

/* ---- Sidebar ---- */
.ws-side{ width:280px; flex:0 0 280px; display:flex; flex-direction:column; padding:16px 14px;
  background:#0b0c11; border-right:1px solid rgba(255,255,255,.06); }
.ws-side-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; padding:2px; }
.ws-brand{ display:flex; align-items:center; gap:9px; font-size:15px; font-weight:700; letter-spacing:-.2px; color:#eef0f5; }
.ws-brand-d{ width:9px; height:9px; border-radius:50%; background:#6366f1; box-shadow:0 0 10px rgba(99,102,241,.7); }
.ws-x{ border:0; background:rgba(255,255,255,.05); color:#9aa1ad; width:32px; height:32px; border-radius:9px; font-size:20px; line-height:1; cursor:pointer; transition:.14s; }
.ws-x:hover{ background:rgba(255,255,255,.1); color:#fff; }
.ws-neu{ display:flex; align-items:center; gap:8px; justify-content:center; width:100%; border:0; cursor:pointer; border-radius:11px; padding:11px 14px; font:inherit; font-size:13.5px; font-weight:600;
  color:#fff; background:#6366f1; box-shadow:0 6px 18px -8px rgba(99,102,241,.7); transition:background .14s,transform .1s; }
.ws-neu span{ font-size:16px; } .ws-neu:hover{ background:#5b5ef0; transform:translateY(-1px); }
.ws-liste{ flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:3px; margin:14px -4px 0; padding:0 4px; }
.ws-item{ display:flex; align-items:center; gap:11px; width:100%; text-align:left; border:1px solid transparent; background:transparent; cursor:pointer; border-radius:11px; padding:9px 10px; transition:.14s; }
.ws-item:hover{ background:rgba(255,255,255,.04); }
.ws-item.an{ background:rgba(99,102,241,.14); }
.ws-item-ini{ flex:0 0 auto; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; color:#cdd2dd;
  background:#1c2029; border:1px solid rgba(255,255,255,.07); }
.ws-item.an .ws-item-ini{ background:#6366f1; border-color:transparent; color:#fff; }
.ws-item-tx{ min-width:0; display:flex; flex-direction:column; gap:1px; }
.ws-item-n{ font-size:13.5px; font-weight:600; color:#e6e9ef; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-item-m{ font-size:11.5px; color:#737a86; }
.ws-leer{ color:#737a86; font-size:13px; line-height:1.55; padding:14px 8px; text-align:center; }

/* ---- Hauptbereich ---- */
.ws-main{ flex:1; min-width:0; display:flex; flex-direction:column; overflow:hidden; }
.ws-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 26px 14px; flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.05); }
.ws-head-l{ min-width:0; }
.ws-title{ margin:0; font-size:22px; font-weight:700; letter-spacing:-.3px; color:#f1f3f7; outline:none; border-radius:7px; padding:1px 4px; margin-left:-4px; }
.ws-title[contenteditable]:hover{ background:rgba(255,255,255,.04); } .ws-title[contenteditable]:focus{ background:rgba(255,255,255,.05); box-shadow:0 0 0 2px rgba(99,102,241,.5); }
.ws-sub{ margin-top:4px; font-size:12.5px; color:#828a96; }
.ws-head-r{ display:flex; align-items:center; gap:9px; }
.ws-inv{ height:40px; box-sizing:border-box; display:inline-flex; align-items:center; border:0; cursor:pointer; border-radius:10px; padding:0 16px; font:inherit; font-size:13px; font-weight:600; color:#fff;
  background:#6366f1; transition:background .14s; }
.ws-inv:hover{ background:#5b5ef0; }
.ws-leave{ border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.03); color:#9aa1ad; width:40px; height:40px; border-radius:10px; cursor:pointer; font-size:15px; transition:.14s; display:inline-flex; align-items:center; justify-content:center; }
.ws-leave:hover{ background:rgba(239,95,91,.14); border-color:rgba(239,95,91,.4); color:#ef726f; }

.ws-members{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:14px 26px 12px; }
.ws-av{ position:relative; width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:#1c2029; border:1px solid rgba(255,255,255,.08); }
.ws-av-k{ font-weight:700; font-size:15px; color:#dde1e8; }
.ws-av-fl{ position:absolute; right:-5px; bottom:-5px; background:#0e1014; border-radius:5px; padding:1px; line-height:0; box-shadow:0 0 0 2px #0e1014; }
.ws-av-fl .ws-fl{ width:16px; height:12px; }
.ws-av-cr{ position:absolute; top:-7px; left:-4px; font-size:10px; color:#a5b4fc; }
.ws-av-add{ cursor:pointer; color:#737a86; font-size:20px; border-style:dashed; background:transparent; transition:.14s; }
.ws-av-add:hover{ color:#a5b4fc; border-color:rgba(99,102,241,.5); }

/* ---- Zonen (Chat / Dokumente) ---- */
.ws-zones{ display:grid; grid-template-columns:1.15fr .85fr; gap:14px; padding:6px 26px 22px; flex:1; min-height:0; }
@media(max-width:980px){ .ws-zones{ grid-template-columns:1fr; } .ws-side{ width:240px; flex-basis:240px; } }
.ws-zone{ display:flex; flex-direction:column; border-radius:14px; overflow:hidden;
  background:#13161c; border:1px solid rgba(255,255,255,.06); min-height:0; }
.ws-zone-h{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; font-size:13.5px; font-weight:600; color:#e6e9ef; border-bottom:1px solid rgba(255,255,255,.05); }
.ws-zone-b{ flex:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; padding:22px 20px; }

/* ---- Leerzustand ---- */
.ws-empty{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:40px; text-align:center; }
.ws-empty-ic{ font-size:48px; opacity:.9; }
.ws-empty-t{ font-size:21px; font-weight:700; color:#f1f3f7; letter-spacing:-.2px; }
.ws-empty-s{ font-size:14px; color:#828a96; max-width:420px; line-height:1.6; }
.ws-empty-b{ margin-top:6px; border:0; cursor:pointer; border-radius:11px; padding:12px 22px; font:inherit; font-size:14px; font-weight:600; color:#fff;
  background:#6366f1; box-shadow:0 8px 22px -10px rgba(99,102,241,.7); transition:background .14s,transform .1s; }
.ws-empty-b:hover{ background:#5b5ef0; transform:translateY(-1px); }

/* ---- Modal (Einladen / KI / Dialoge) ---- */
.ws-modal-ov{ position:fixed; inset:0; z-index:1750; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(8,9,12,.66); backdrop-filter:blur(4px); }
.ws-modal{ width:min(440px,94vw); max-height:84vh; display:flex; flex-direction:column; background:#15181f; border:1px solid rgba(255,255,255,.09); border-radius:16px; overflow:hidden; box-shadow:0 40px 100px -30px rgba(0,0,0,.8); }
.ws-modal-h{ display:flex; align-items:center; justify-content:space-between; padding:17px 19px; font-size:15.5px; font-weight:700; color:#f1f3f7; }
.ws-modal-x{ border:0; background:rgba(255,255,255,.05); color:#9aa1ad; width:30px; height:30px; border-radius:9px; font-size:19px; cursor:pointer; }
.ws-modal-s{ padding:0 19px 14px; font-size:12.5px; color:#828a96; line-height:1.55; } .ws-modal-s b{ color:#a5b4fc; }
.ws-k-liste{ overflow-y:auto; padding:6px 12px 16px; display:flex; flex-direction:column; gap:4px; }
.ws-k-row{ display:flex; align-items:center; gap:11px; border:1px solid transparent; background:transparent; cursor:pointer; border-radius:11px; padding:9px 10px; font:inherit; color:#e6e9ef; font-size:13.5px; text-align:left; transition:.14s; }
.ws-k-row:hover{ background:rgba(255,255,255,.05); }
.ws-k-ini{ flex:0 0 auto; width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-weight:700; color:#dde1e8; background:#1c2029; }
.ws-k-row span:nth-child(2){ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-k-add{ flex:0 0 auto; font-size:11.5px; font-weight:600; color:#a5b4fc; background:rgba(99,102,241,.14); border-radius:999px; padding:3px 10px; }

/* ---- Team-Chat ---- */
.ws-chat-spr{ font-size:11px; font-weight:500; color:#9aa1ad; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:999px; padding:3px 10px; }
.ws-chat-feed{ flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:11px; padding:16px; scroll-behavior:smooth; }
.ws-chat-leer{ margin:auto; text-align:center; color:#737a86; font-size:13px; line-height:1.7; }
.ws-msg{ display:flex; flex-direction:column; align-items:flex-start; max-width:80%; }
.ws-msg.ich{ align-self:flex-end; align-items:flex-end; }
.ws-msg-name{ font-size:11px; font-weight:600; color:#8b93a0; margin:0 0 3px 11px; }
.ws-msg-bub{ display:inline-flex; align-items:flex-end; gap:8px; padding:9px 13px; border-radius:13px 13px 13px 4px; font-size:13.5px; line-height:1.5; color:#e7eaf0; background:#222732; border:1px solid rgba(255,255,255,.05); }
.ws-msg.ich .ws-msg-bub{ border-radius:13px 13px 4px 13px; color:#fff; background:#6366f1; border-color:transparent; }
.ws-msg-t{ white-space:pre-wrap; word-break:break-word; }
.ws-msg-orig{ flex:0 0 auto; border:0; background:rgba(255,255,255,.12); color:inherit; opacity:.55; border-radius:6px; font-size:11px; line-height:1; padding:3px 5px; cursor:pointer; transition:.14s; }
.ws-msg.ich .ws-msg-orig{ background:rgba(255,255,255,.22); }
.ws-msg-orig:hover{ opacity:1; }
.ws-msg-z{ font-size:10px; color:#646b77; margin:3px 11px 0; }
.ws-msg-original{ margin:6px 4px 0; font-size:12.5px; color:#9aa1ad; background:rgba(255,255,255,.04); border:1px dashed rgba(255,255,255,.12); border-radius:9px; padding:7px 11px; max-width:100%; line-height:1.5; }
.ws-msg-sys{ align-self:center; max-width:92%; text-align:center; font-size:11.5px; color:#828a96; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06); border-radius:999px; padding:5px 14px; } .ws-msg-sys b{ color:#b9c0ff; }
.ws-chat-input{ display:flex; align-items:flex-end; gap:8px; padding:12px 14px; border-top:1px solid rgba(255,255,255,.05); }
.ws-chat-input textarea{ flex:1; resize:none; max-height:120px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); color:#e7eaf0; border-radius:12px; padding:11px 14px; font:inherit; font-size:13.5px; line-height:1.4; }
.ws-chat-input textarea:focus{ outline:none; border-color:rgba(99,102,241,.55); background:rgba(255,255,255,.06); }
.ws-chat-input textarea::placeholder{ color:#646b77; }
.ws-chat-send{ flex:0 0 auto; width:40px; height:40px; border:0; border-radius:12px; cursor:pointer; font-size:15px; color:#fff; background:#6366f1; transition:background .14s; }
.ws-chat-send:hover{ background:#5b5ef0; }

/* ---- Dokumente ---- */
.ws-doc-tools{ display:flex; gap:6px; }
.ws-doc-mini{ border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:#cdd2dd; border-radius:8px; padding:5px 11px; font:inherit; font-size:12px; font-weight:500; cursor:pointer; transition:.14s; }
.ws-doc-mini:hover{ background:rgba(99,102,241,.14); border-color:rgba(99,102,241,.4); color:#c5cdff; }
.ws-doc-feed{ flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:6px; padding:13px; }
.ws-doc-row{ display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.05); background:rgba(255,255,255,.02); cursor:pointer; border-radius:11px; padding:11px 12px; font:inherit; text-align:left; transition:.14s; }
.ws-doc-row:hover{ background:rgba(99,102,241,.1); border-color:rgba(99,102,241,.35); }
.ws-doc-ic{ flex:0 0 auto; font-size:20px; }
.ws-doc-tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.ws-doc-n{ font-size:13.5px; font-weight:600; color:#e6e9ef; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-doc-m{ font-size:11.5px; color:#737a86; }
.ws-doc-go{ flex:0 0 auto; font-size:12px; font-weight:600; color:#a5b4fc; }

.ws-doc-ov{ position:fixed; inset:0; z-index:1760; display:flex; align-items:center; justify-content:center; padding:max(16px,3vh) max(16px,3vw); background:rgba(8,9,12,.7); backdrop-filter:blur(5px); }
.ws-doc-view{ display:flex; flex-direction:column; width:min(900px,100%); height:100%; max-height:940px; background:#0f1216; border:1px solid rgba(255,255,255,.09); border-radius:16px; overflow:hidden; box-shadow:0 50px 120px -40px rgba(0,0,0,.85); }
.ws-doc-vh{ display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.06); font-weight:700; font-size:15px; color:#f1f3f7; }
.ws-doc-vh #ws-doc-vt{ flex:0 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-doc-vsp{ flex:1; font-size:11.5px; font-weight:500; color:#9aa1ad; display:flex; align-items:center; gap:8px; }
.ws-doc-orig{ border:1px solid rgba(99,102,241,.4); background:rgba(99,102,241,.14); color:#a5b4fc; border-radius:8px; padding:3px 9px; font:inherit; font-size:11px; font-weight:600; cursor:pointer; }
.ws-doc-vx{ flex:0 0 auto; border:0; background:rgba(255,255,255,.06); color:#9aa1ad; width:34px; height:34px; border-radius:10px; font-size:21px; cursor:pointer; }
.ws-doc-vb{ flex:1; overflow:hidden; background:#fff; }
.ws-doc-frame{ width:100%; height:100%; border:0; background:#fff; }

/* ---- Profi-Dialoge ---- */
.ws-dlg{ opacity:0; transition:opacity .16s ease; }
.ws-dlg.auf{ opacity:1; }
.ws-dlg-box{ display:block; overflow:visible; width:min(420px,94vw); padding:26px 26px 22px; text-align:center; transform:translateY(8px) scale(.98); transition:transform .18s cubic-bezier(.32,.72,0,1); }
.ws-dlg.auf .ws-dlg-box{ transform:none; }
.ws-dlg-ic{ font-size:38px; line-height:1; margin-bottom:10px; }
.ws-dlg-t{ font-size:18px; font-weight:700; color:#f1f3f7; margin-bottom:8px; }
.ws-dlg-s{ font-size:13.5px; color:#9aa1ad; line-height:1.55; margin-bottom:18px; }
.ws-dlg-in{ width:100%; box-sizing:border-box; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); color:#e7eaf0; border-radius:12px; padding:12px 14px; font:inherit; font-size:14.5px; margin:4px 0 18px; }
.ws-dlg-in:focus{ outline:none; border-color:rgba(99,102,241,.6); background:rgba(255,255,255,.06); }
.ws-dlg-btns{ display:flex; gap:10px; justify-content:center; }
.ws-dlg-ab{ border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.04); color:#cdd2dd; border-radius:11px; padding:11px 22px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-dlg-ab:hover{ background:rgba(255,255,255,.08); }
.ws-dlg-ok{ border:0; cursor:pointer; border-radius:11px; padding:11px 24px; font:inherit; font-size:14px; font-weight:700; color:#fff; background:#6366f1; transition:background .14s; }
.ws-dlg-ok:hover{ background:#5b5ef0; }
.ws-dlg-ok.gefahr{ background:#ef5f5b; }
.ws-dlg-ok.gefahr:hover{ background:#e84e4a; }

/* ---- Sprach-Dropdown ---- */
.ws-lang-btn{ height:40px; box-sizing:border-box; display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); color:#e6e9ef; border-radius:10px; padding:0 13px; font:inherit; font-size:13px; cursor:pointer; transition:.14s; }
.ws-lang-btn:hover{ background:rgba(255,255,255,.07); border-color:rgba(99,102,241,.4); }
.ws-lang-car{ color:#737a86; font-size:11px; margin-left:2px; }
.ws-lang-menu{ position:fixed; z-index:1780; background:#15181f; border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:6px; box-shadow:0 24px 60px -22px rgba(0,0,0,.8); max-height:62vh; overflow-y:auto; }
.ws-lang-item{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; border:0; background:transparent; color:#e6e9ef; border-radius:8px; padding:8px 12px; font:inherit; font-size:13px; cursor:pointer; white-space:nowrap; transition:.12s; }
.ws-lang-item:hover{ background:rgba(99,102,241,.16); color:#dbe0ff; }

/* ---- Team-KI ---- */
.ws-kibtn{ height:40px; box-sizing:border-box; display:inline-flex; align-items:center; border:1px solid rgba(99,102,241,.4); background:rgba(99,102,241,.13); color:#bcc4ff; border-radius:10px; padding:0 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-kibtn:hover{ background:rgba(99,102,241,.22); }
.ws-chat-ki{ flex:0 0 auto; width:40px; height:40px; border:1px solid rgba(99,102,241,.4); border-radius:12px; cursor:pointer; font-size:17px; background:rgba(99,102,241,.13); color:#c5cdff; transition:.14s; }
.ws-chat-ki:hover{ background:rgba(99,102,241,.22); }
.ws-chat-ki.denkt{ opacity:.6; animation:wskiPuls 1s ease-in-out infinite; }
@keyframes wskiPuls{ 0%,100%{ transform:scale(1) } 50%{ transform:scale(.9) } }
.ws-msg-ki{ align-self:flex-start; align-items:flex-start; max-width:84%; }
.ws-msg-ki .ws-msg-name{ color:#a5b4fc; }
.ws-msg-ki .ws-msg-bub{ background:#1c2233; border-color:rgba(99,102,241,.28); }

.ws-ki-box{ width:min(520px,94vw); }
.ws-ki-list{ display:flex; flex-direction:column; gap:7px; padding:12px 16px 6px; }
.ws-ki-card{ display:flex; align-items:center; gap:10px; justify-content:space-between; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); border-radius:12px; padding:13px 15px; font:inherit; cursor:pointer; transition:.14s; text-align:left; }
.ws-ki-card:hover{ background:rgba(255,255,255,.05); }
.ws-ki-card.an{ border-color:rgba(99,102,241,.6); background:rgba(99,102,241,.13); }
.ws-ki-nm{ font-size:14px; font-weight:600; color:#e7eaf0; }
.ws-ki-on{ font-size:11.5px; font-weight:600; color:#4ade80; }
.ws-ki-off{ font-size:11.5px; font-weight:500; color:#e0a23a; }
.ws-ki-mdl{ padding:6px 16px 4px; display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.ws-ki-mdl-t{ flex-basis:100%; font-size:11px; font-weight:600; color:#737a86; text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px; }
.ws-ki-chip{ border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); color:#cdd2dd; border-radius:999px; padding:6px 13px; font:inherit; font-size:12.5px; cursor:pointer; transition:.14s; }
.ws-ki-chip:hover{ background:rgba(255,255,255,.07); }
.ws-ki-chip.an{ border-color:rgba(99,102,241,.6); background:rgba(99,102,241,.18); color:#dbe0ff; }
.ws-ki-foot{ padding:14px 16px 16px; display:flex; justify-content:flex-end; }
.ws-ki-save{ border:0; cursor:pointer; border-radius:11px; padding:11px 24px; font:inherit; font-size:14px; font-weight:700; color:#fff; background:#6366f1; transition:background .14s; }
.ws-ki-save:hover{ background:#5b5ef0; }
.ws-ki-keybox{ padding:8px 16px 2px; }
.ws-ki-keyrow{ display:flex; gap:8px; align-items:center; }
.ws-ki-key{ flex:1; min-width:0; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); color:#e7eaf0; border-radius:10px; padding:11px 13px; font:inherit; font-size:13.5px; letter-spacing:.04em; }
.ws-ki-key:focus{ outline:none; border-color:rgba(99,102,241,.6); background:rgba(255,255,255,.06); }
.ws-ki-keysave{ flex:0 0 auto; border:0; cursor:pointer; border-radius:10px; padding:11px 16px; font:inherit; font-size:13px; font-weight:700; color:#fff; background:#6366f1; }
.ws-ki-keysave:hover{ background:#5b5ef0; }
.ws-ki-keydel{ flex:0 0 auto; border:1px solid rgba(239,95,91,.4); background:rgba(239,95,91,.12); color:#f3938f; border-radius:10px; padding:11px 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.ws-ki-keydel:hover{ background:rgba(239,95,91,.2); }
.ws-ki-keyhint{ font-size:11.5px; color:#737a86; margin:7px 2px 0; line-height:1.5; }

/* ---- Demo-Knopf (Sidebar) ---- */
.ws-demo{ width:100%; margin-top:6px; border:1px dashed rgba(99,102,241,.32); background:rgba(99,102,241,.06); color:#bcc4ff; border-radius:11px; padding:10px 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-demo:hover{ background:rgba(99,102,241,.13); border-color:rgba(99,102,241,.5); }
.ws-demo:disabled{ opacity:.6; cursor:default; }

/* ---- User-Farben ---- */
.ws-av-k{ color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.45); }
.ws-av-pick{ cursor:pointer; transition:transform .12s, box-shadow .12s; }
.ws-av-pick:hover{ transform:translateY(-2px); box-shadow:0 7px 16px -6px rgba(0,0,0,.6); }
.ws-farb-menu{ position:fixed; z-index:1785; background:#15181f; border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:13px; box-shadow:0 24px 60px -22px rgba(0,0,0,.8); }
.ws-farb-t{ font-size:11px; font-weight:600; color:#9aa1ad; text-transform:uppercase; letter-spacing:.05em; margin:0 2px 10px; }
.ws-farb-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.ws-farb-sw{ width:30px; height:30px; border-radius:9px; border:2px solid transparent; cursor:pointer; padding:0; transition:transform .1s; }
.ws-farb-sw:hover{ transform:scale(1.13); }
.ws-farb-sw.an{ border-color:#fff; box-shadow:0 0 0 2px rgba(0,0,0,.5); }

/* ---- Flaggen-Bilder (statt Emoji, die auf Windows nicht rendern) ---- */
.ws-fl{ width:19px; height:14px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px rgba(0,0,0,.25); flex:0 0 auto; vertical-align:-2px; }
.ws-doc-m .ws-fl{ width:15px; height:11px; }

/* ---- Mikrofon (exakt der kynis-Kern) ---- */
.ws-chat-mic{ flex:0 0 auto; width:40px; height:40px; border:1px solid rgba(255,255,255,.09); border-radius:12px; cursor:pointer; font-size:16px; background:rgba(255,255,255,.04); color:#cdd2dd; transition:.14s; }
.ws-chat-mic:hover{ background:rgba(255,255,255,.08); }
.ws-chat-mic.an{ background:#ef5f5b; border-color:transparent; color:#fff; animation:wsMicPuls 1.1s ease-in-out infinite; }
@keyframes wsMicPuls{ 0%,100%{ box-shadow:0 0 0 0 rgba(239,95,91,.5) } 50%{ box-shadow:0 0 0 7px rgba(239,95,91,0) } }
.ws-mic-status{ position:absolute; left:14px; bottom:calc(100% + 7px); background:#15181f; border:1px solid rgba(255,255,255,.1); color:#cdd2dd; font-size:12px; padding:6px 11px; border-radius:9px; box-shadow:0 8px 20px -10px rgba(0,0,0,.7); white-space:nowrap; }
.ws-mic-status.fehler{ border-color:rgba(239,95,91,.5); color:#f3938f; }

/* ---- KI System-Prompt / Sicherheitsregel ---- */
.ws-ki-prompt{ padding:0 16px; }
.ws-ki-ta{ width:100%; box-sizing:border-box; resize:vertical; min-height:52px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); color:#e7eaf0; border-radius:11px; padding:10px 12px; font:inherit; font-size:13px; line-height:1.5; margin:2px 0 8px; }
.ws-ki-ta:focus{ outline:none; border-color:rgba(99,102,241,.55); background:rgba(255,255,255,.06); }
.ws-ki-ta:disabled{ opacity:.55; }
.ws-ki-tasave{ border:1px solid rgba(99,102,241,.4); background:rgba(99,102,241,.13); color:#bcc4ff; border-radius:9px; padding:7px 14px; font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-ki-tasave:hover{ background:rgba(99,102,241,.22); }

/* ---- Testmodus (Demo-Hinweis) ---- */
.ws-testbanner{ margin:0 26px 8px; padding:10px 14px; border-radius:11px; font-size:12.5px; line-height:1.5; color:#e8d9ad; background:rgba(234,179,8,.1); border:1px solid rgba(234,179,8,.3); } .ws-testbanner b{ color:#f4e4a8; }
.ws-ki-testbox{ padding:10px 16px 2px; }
.ws-ki-toggle{ display:flex; align-items:flex-start; gap:11px; width:100%; text-align:left; border:1px solid rgba(234,179,8,.3); background:rgba(234,179,8,.08); border-radius:12px; padding:12px 14px; font:inherit; cursor:pointer; transition:.14s; }
.ws-ki-toggle:hover{ background:rgba(234,179,8,.13); }
.ws-ki-toggle.an{ border-color:rgba(74,222,128,.45); background:rgba(74,222,128,.1); }
.ws-ki-sw{ flex:0 0 auto; width:38px; height:22px; border-radius:999px; background:rgba(255,255,255,.15); position:relative; transition:.16s; margin-top:1px; }
.ws-ki-sw::after{ content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.16s; }
.ws-ki-toggle.an .ws-ki-sw{ background:#4ade80; }
.ws-ki-toggle.an .ws-ki-sw::after{ left:18px; }
.ws-ki-tg{ font-size:12.5px; line-height:1.45; color:#dfe5ec; } .ws-ki-tg b{ color:#f4e4a8; } .ws-ki-toggle.an .ws-ki-tg b{ color:#9af0bf; } .ws-ki-tg i{ display:block; margin-top:3px; color:#9aa1ad; font-style:normal; font-size:11.5px; }

/* ---- Einladung per Token/Link ---- */
.ws-beitreten{ width:100%; margin-top:8px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); color:#cdd2dd; border-radius:11px; padding:10px 14px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-beitreten:hover{ background:rgba(99,102,241,.12); border-color:rgba(99,102,241,.4); color:#c5cdff; }
.ws-einl-box{ padding:8px 16px 4px; }
.ws-einl-gen{ width:100%; border:1px solid rgba(99,102,241,.4); background:rgba(99,102,241,.13); color:#bcc4ff; border-radius:11px; padding:11px 14px; font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; transition:.14s; }
.ws-einl-gen:hover{ background:rgba(99,102,241,.22); }
.ws-einl-code{ text-align:center; font-size:22px; font-weight:800; letter-spacing:4px; color:#dbe0ff; background:rgba(99,102,241,.1); border:1px dashed rgba(99,102,241,.4); border-radius:11px; padding:12px; margin-bottom:9px; }
.ws-einl-row{ display:flex; gap:8px; }
.ws-einl-in{ flex:1; min-width:0; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:#cdd2dd; border-radius:10px; padding:10px 12px; font:inherit; font-size:12.5px; }
.ws-einl-copy{ flex:0 0 auto; border:0; cursor:pointer; border-radius:10px; padding:10px 14px; font:inherit; font-size:12.5px; font-weight:700; color:#fff; background:#6366f1; }
.ws-einl-copy:hover{ background:#5b5ef0; }
.ws-einl-hint{ font-size:11.5px; color:#828a96; margin-top:8px; line-height:1.5; }

/* ---- System-Prompt-Studio ---- */
.ws-pr-ov{ position:fixed; inset:0; z-index:1770; display:flex; align-items:center; justify-content:center; padding:max(16px,4vh) max(16px,4vw); background:rgba(8,9,12,.7); backdrop-filter:blur(6px); }
.ws-pr-box{ display:flex; flex-direction:column; width:min(760px,100%); max-height:90vh; background:#13161c; border:1px solid rgba(255,255,255,.09); border-radius:18px; overflow:hidden; box-shadow:0 50px 120px -40px rgba(0,0,0,.85); }
.ws-pr-head{ display:flex; align-items:flex-start; justify-content:space-between; padding:20px 24px; border-bottom:1px solid rgba(255,255,255,.06); }
.ws-pr-title{ font-size:18px; font-weight:700; color:#f1f3f7; }
.ws-pr-sub{ font-size:12.5px; color:#828a96; margin-top:3px; }
.ws-pr-x{ border:0; background:rgba(255,255,255,.05); color:#9aa1ad; width:34px; height:34px; border-radius:10px; font-size:21px; cursor:pointer; }
.ws-pr-body{ overflow-y:auto; padding:18px 24px 24px; display:flex; flex-direction:column; gap:16px; }
.ws-pr-card{ background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:16px 18px; }
.ws-pr-card.ws-pr-sich{ border-color:rgba(234,179,8,.28); background:rgba(234,179,8,.05); }
.ws-pr-lbl{ font-size:14.5px; font-weight:700; color:#e7eaf0; }
.ws-pr-ro{ font-size:11.5px; font-weight:500; color:#828a96; }
.ws-pr-sub2{ font-size:12.5px; color:#9aa1ad; line-height:1.55; margin:5px 0 12px; } .ws-pr-sub2 b{ color:#cdd2dd; }
.ws-pr-tpl{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:11px; }
.ws-pr-tpl-l{ font-size:11px; font-weight:600; color:#737a86; text-transform:uppercase; letter-spacing:.05em; margin-right:3px; }
.ws-pr-chip{ border:1px solid rgba(99,102,241,.35); background:rgba(99,102,241,.1); color:#bcc4ff; border-radius:999px; padding:6px 13px; font:inherit; font-size:12.5px; cursor:pointer; transition:.14s; }
.ws-pr-chip:hover{ background:rgba(99,102,241,.2); }
.ws-pr-ta{ width:100%; box-sizing:border-box; resize:vertical; min-height:120px; background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.1); color:#e9ecf2; border-radius:12px; padding:13px 15px; font:inherit; font-size:14px; line-height:1.6; }
.ws-pr-ta:focus{ outline:none; border-color:rgba(99,102,241,.55); background:rgba(0,0,0,.28); }
.ws-pr-ta:disabled{ opacity:.6; }
.ws-pr-ta-sich{ min-height:150px; border-color:rgba(234,179,8,.25); } .ws-pr-ta-sich:focus{ border-color:rgba(234,179,8,.5); }
.ws-pr-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:11px; }
.ws-pr-cnt{ font-size:11.5px; color:#737a86; }
.ws-pr-save{ border:0; cursor:pointer; border-radius:11px; padding:10px 22px; font:inherit; font-size:13.5px; font-weight:700; color:#fff; background:#6366f1; transition:background .14s; }
.ws-pr-save:hover{ background:#5b5ef0; }
.ws-pr-save-sich{ background:#caa23a; } .ws-pr-save-sich:hover{ background:#b8932f; }

/* ---- Mail Commander ---- */
.ws-mail-ov{ position:fixed; inset:0; z-index:1770; display:flex; align-items:center; justify-content:center; padding:max(16px,4vh) max(16px,4vw); background:rgba(8,9,12,.7); backdrop-filter:blur(6px); }
.ws-mail-box{ display:flex; flex-direction:column; width:min(960px,100%); height:min(680px,92vh); background:#13161c; border:1px solid rgba(255,255,255,.09); border-radius:18px; overflow:hidden; box-shadow:0 50px 120px -40px rgba(0,0,0,.85); }
.ws-mail-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 20px; border-bottom:1px solid rgba(255,255,255,.06); }
.ws-mail-title{ font-size:16px; font-weight:700; color:#f1f3f7; }
.ws-mail-htools{ display:flex; align-items:center; gap:9px; }
.ws-mail-lang{ height:36px; display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:#e6e9ef; border-radius:10px; padding:0 12px; font:inherit; font-size:13px; cursor:pointer; }
.ws-mail-lang:hover{ border-color:rgba(99,102,241,.45); }
.ws-mail-test{ height:36px; border:1px solid rgba(99,102,241,.4); background:rgba(99,102,241,.13); color:#bcc4ff; border-radius:10px; padding:0 13px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.ws-mail-test:hover{ background:rgba(99,102,241,.22); }
.ws-mail-x{ border:0; background:rgba(255,255,255,.05); color:#9aa1ad; width:34px; height:34px; border-radius:10px; font-size:21px; cursor:pointer; }
.ws-mail-body{ flex:1; display:grid; grid-template-columns:300px 1fr; min-height:0; }
@media(max-width:760px){ .ws-mail-body{ grid-template-columns:1fr; } }
.ws-mail-list{ border-right:1px solid rgba(255,255,255,.06); overflow-y:auto; display:flex; flex-direction:column; }
.ws-mail-row{ text-align:left; border:0; border-bottom:1px solid rgba(255,255,255,.04); background:transparent; cursor:pointer; padding:12px 15px; transition:.12s; }
.ws-mail-row:hover{ background:rgba(255,255,255,.04); }
.ws-mail-row.neu{ border-left:3px solid #6366f1; }
.ws-mail-from{ font-size:13px; font-weight:700; color:#e6e9ef; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-mail-subj{ font-size:12.5px; color:#aeb4bf; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px; }
.ws-mail-time{ font-size:11px; color:#737a86; margin-top:3px; }
.ws-mail-read{ overflow-y:auto; padding:22px 26px; }
.ws-mail-empty{ color:#828a96; font-size:13.5px; text-align:center; margin-top:60px; line-height:1.6; }
.ws-mail-rh{ border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:14px; margin-bottom:16px; }
.ws-mail-rsubj{ font-size:18px; font-weight:700; color:#f1f3f7; }
.ws-mail-rmeta{ font-size:12.5px; color:#828a96; margin-top:5px; }
.ws-mail-ueb{ display:inline-flex; align-items:center; gap:9px; margin-top:11px; font-size:11.5px; font-weight:600; color:#a5b4fc; background:rgba(99,102,241,.1); border:1px solid rgba(99,102,241,.3); border-radius:999px; padding:4px 12px; }
.ws-mail-orig{ border:0; background:rgba(99,102,241,.25); color:#dbe0ff; border-radius:7px; padding:3px 9px; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.ws-mail-text{ font-size:14px; line-height:1.7; color:#dfe3ea; word-break:break-word; }

/* ---- Toast (neue Mail) ---- */
.ws-toast{ position:fixed; right:22px; bottom:22px; z-index:1800; max-width:340px; display:flex; align-items:flex-start; gap:10px; background:#1a1e27; border:1px solid rgba(99,102,241,.4); color:#e6e9ef; border-radius:13px; padding:13px 15px; font-size:13px; line-height:1.45; box-shadow:0 24px 60px -20px rgba(0,0,0,.8); cursor:pointer; opacity:0; transform:translateY(12px); transition:opacity .28s, transform .28s; }
.ws-toast.auf{ opacity:1; transform:none; }
.ws-toast-ic{ font-size:18px; flex:0 0 auto; }
.ws-toast b{ color:#bcc4ff; }
