/* Cheshire Addon: SupportChat - Styles
   Deckt zwei Ansichten ab: schwebendes Kunden-Widget (#sc-widget) und
   Staff-Warteschlange/Konversation (#sc-staff). Bewusst eigene, kleine
   Datei statt cheshire.css anzufassen -- Addon bleibt eigenstaendig.
   @see init.php (Hooks topbar.links, router.routes)
   Keine Logik hier, nur Darstellung.
   Bugfix (Design-Querpruefung 18.09.2026, Peter: "gegen alle 3 Design-
   Modi pruefen"): Farben liefen bisher komplett an den globalen
   --cheshire-*-Tokens vorbei (hart verdrahtete Hex-Werte) -- dadurch weder
   Theme- (Standard/Klassisch/Modern) noch Dark-Mode-faehig. Jetzt auf die
   gleichen Tokens wie cheshire.css umgestellt, Hex-Werte nur noch als
   Fallback (2. Parameter von var()). */

#sc-widget{position:fixed;right:1.2rem;bottom:1.2rem;z-index:9000;font-family:sans-serif}
#sc-bubble{position:relative;width:56px;height:56px;border-radius:50%;background:var(--cheshire-primary,#2E4057);color:#fff;border:none;font-size:1.4rem;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25)}
/* Bugfix (Peter 14.09.2026): sichtbares Signal an der Blase, wenn eine
   Session ohne Klick des Mitglieds entstanden ist (Staff-Ping #509),
   siehe supportchat-widget.js autoCheck(). */
#sc-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#e74c3c;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
#sc-badge.sc-hidden{display:none}
/* Backlog #642 (14.09.2026): echtes Annehmen/Ablehnen-Popup bei frischer
   Staff-Anfrage -- eigenes position:fixed deckt den ganzen Viewport ab,
   unabhaengig von der kleinen #sc-widget-Box unten rechts. */
#sc-invite{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45)}
#sc-invite.sc-hidden{display:none}
.sc-invite-box{background:var(--cheshire-surface,#fff);border-radius:10px;padding:1.2rem 1.4rem;max-width:320px;width:90vw;box-shadow:0 8px 30px rgba(0,0,0,.3);text-align:center}
.sc-invite-box p{margin:0 0 1rem;font-size:.95rem;color:var(--cheshire-text,#333)}
.sc-invite-actions{display:flex;gap:.6rem;justify-content:center}
.sc-invite-actions button{flex:1;padding:.6rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600}
#sc-invite-accept{background:var(--cheshire-success-text,#388e3c);color:#fff}
#sc-invite-decline{background:var(--cheshire-surface-alt,#eee);color:var(--cheshire-text,#333)}
#sc-panel{position:absolute;right:0;bottom:68px;width:320px;max-width:90vw;background:var(--cheshire-surface,#fff);border:1px solid var(--cheshire-border,#dce1e7);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}
#sc-panel.sc-hidden{display:none}
.sc-panel-head{background:var(--cheshire-primary,#2E4057);color:#fff;padding:.6rem .8rem;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.sc-panel-head button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer}
#sc-panel-start{padding:.8rem}
#sc-panel-start input,#sc-panel-start textarea{width:100%;box-sizing:border-box;padding:.5rem;margin:0 0 .5rem;border:1px solid var(--cheshire-border-strong,#bbb);border-radius:5px;font-size:.9rem;background:var(--cheshire-surface,#fff);color:var(--cheshire-text,#333)}
#sc-start-btn{width:100%;padding:.55rem;background:var(--cheshire-primary,#2E4057);color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:600}
#sc-start-btn:disabled{opacity:.55;cursor:default}
.sc-error{color:var(--cheshire-danger-text,#C0392B);font-size:.82rem;margin-top:.3rem}
#sc-panel-chat.sc-hidden{display:none}
.sc-messages{max-height:280px;min-height:120px;overflow-y:auto;padding:.6rem;background:var(--cheshire-surface-alt,#f5f6f7)}
.sc-msg{max-width:80%;padding:.4rem .6rem;border-radius:8px;margin-bottom:.4rem;font-size:.85rem;word-wrap:break-word}
.sc-msg-customer{background:var(--cheshire-primary,#2E4057);color:#fff;margin-left:auto}
.sc-msg-staff{background:var(--cheshire-surface-alt,#e5e9ee);color:var(--cheshire-text,#222);margin-right:auto;border:1px solid var(--cheshire-border,transparent)}
/* Bugfix (Teil 2, 18.09.2026: "Frage/Antwort optisch nicht unterscheidbar"):
   Autoren-Label jetzt bei jeder Nachricht sichtbar (siehe widget.js
   senderName()), nicht mehr nur bei Gruppen-Chats -- eigene, dezente Optik
   je nach Hintergrund (heller Text auf dunkler Kundenblase, gedaempfter
   Text auf hellem Staff-Grau). */
.sc-msg-author{display:block;font-size:.72rem;font-weight:700;opacity:.8;margin-bottom:.15rem}
.sc-msg-customer .sc-msg-author{color:#fff}
.sc-msg-staff .sc-msg-author{color:var(--cheshire-text-muted,#666)}
#sc-send-form{display:flex;border-top:1px solid var(--cheshire-border,#dce1e7)}
#sc-send-input{flex:1;border:none;padding:.6rem;font-size:.9rem;background:var(--cheshire-surface,#fff);color:var(--cheshire-text,#333)}
#sc-send-form button{border:none;background:var(--cheshire-primary,#2E4057);color:#fff;padding:0 .9rem;cursor:pointer}

/* Staff-Ansicht (/supportchat/staff) */
#sc-staff{font-family:sans-serif;max-width:1000px;margin:1rem auto}
.sc-staff-cols{display:grid;grid-template-columns:280px 1fr;gap:1rem}
.sc-staff-list h3{font-size:.9rem;margin:.8rem 0 .3rem;color:var(--cheshire-text-muted,#444)}
.sc-staff-sessions{border:1px solid var(--cheshire-border,#dce1e7);border-radius:6px;min-height:40px}
.sc-staff-session{padding:.5rem .7rem;border-bottom:1px solid var(--cheshire-border,#eee);cursor:pointer;font-size:.85rem;display:flex;justify-content:space-between}
.sc-staff-session:hover{background:var(--cheshire-surface-alt,#f5f6f7)}
.sc-staff-session.sc-active{background:var(--cheshire-surface-alt,#e5e9ee)}
.sc-empty{padding:.6rem;color:var(--cheshire-text-muted,#888);font-size:.82rem;margin:0}
.sc-staff-conv{border:1px solid var(--cheshire-border,#dce1e7);border-radius:6px;display:flex;flex-direction:column;min-height:400px}
.sc-staff-conv-header{background:var(--cheshire-surface-alt,#f5f6f7);padding:.6rem .8rem;font-weight:600;border-bottom:1px solid var(--cheshire-border,#dce1e7)}
/* Backlog #587: Teilnehmerliste (mehrere Staff/Mitglieder) unter dem Header -- leer bei klassischen 1:1-Chats */
.sc-staff-conv-participants{padding:.3rem .8rem;font-size:.78rem;color:var(--cheshire-text-muted,#666);border-bottom:1px solid var(--cheshire-border,#eee)}
.sc-staff-conv-participants:empty{display:none}
.sc-staff-conv-messages{flex:1;overflow-y:auto;padding:.6rem;max-height:420px}
/* Backlog #587: Autorenname je Nachricht (mehrere Staff/Mitglieder moeglich)
   -- Basisstil .sc-msg-author jetzt zentral weiter oben (Zeile ~51), gilt
   fuer Widget UND Staff-Ansicht gleichermassen, da beide dieselben Klassen
   .sc-msg-customer/.sc-msg-staff/.sc-msg-author teilen. */
.sc-staff-conv-form{display:none;border-top:1px solid var(--cheshire-border,#dce1e7);padding:.5rem;gap:.4rem}
.sc-staff-conv-form input{flex:1;padding:.5rem;border:1px solid var(--cheshire-border-strong,#bbb);border-radius:5px;background:var(--cheshire-surface,#fff);color:var(--cheshire-text,#333)}
.sc-staff-conv-form button{padding:.5rem .8rem;border:none;border-radius:5px;background:var(--cheshire-primary,#2E4057);color:#fff;cursor:pointer}
.sc-staff-conv-form button#sc-staff-conv-close{background:var(--cheshire-danger-text,#C0392B)}
.sc-btn-claim{padding:.2rem .5rem;font-size:.78rem;border:none;border-radius:4px;background:var(--cheshire-success-text,#388e3c);color:#fff;cursor:pointer}
/* Peter-Praezisierung (15.09.2026, statt eigenem Loeschen-Button): einfache
   Checkbox neben jedem Chat in "Kuerzlich beendet", siehe supportchat-staff.js
   renderList()/deleteClosedChat(). */
.sc-row-delete{display:flex;align-items:center;gap:.2rem;font-size:.76rem;color:var(--cheshire-text-muted,#888);cursor:pointer}

/* Backlog #642 (14.09.2026): "Wer ist online"-Widget + Abgelehnt-Liste auf
   der Staff-Seite -- ersetzt das frueher separate Anpingen ueber die
   WIO-Liste in den Statistiken (siehe StatisticsController::renderWio()). */
.sc-online-list{list-style:none;margin:0;padding:0}
.sc-online-row{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-bottom:1px solid var(--cheshire-border,#eee);font-size:.85rem}
.sc-online-row span{flex:1}
.sc-online-ping-btn{border:none;background:none;cursor:pointer;font-size:1rem;padding:.1rem .3rem}
.sc-online-group-btn{display:block;width:100%;margin-top:.4rem;padding:.5rem;border:none;border-radius:5px;background:var(--cheshire-primary,#2E4057);color:#fff;cursor:pointer;font-size:.85rem}
.sc-staff-session.sc-declined{opacity:.65;cursor:default}
.sc-staff-session.sc-declined:hover{background:none}

/* Backlog #663 (15.09.2026): Redigier-Dialog beim Archivieren eines Chats
   als Thread/Post -- gleiches Formular-Aussehen wie sc-staff-conv-form oben. */
.sc-staff-archive-panel{border-top:1px solid #dce1e7;padding:.8rem;background:#fafbfc}
.sc-staff-archive-panel h4{margin:0 0 .6rem}
.sc-staff-archive-panel select,.sc-staff-archive-panel input,.sc-staff-archive-panel textarea{padding:.5rem;border:1px solid #bbb;border-radius:5px;font-family:inherit;font-size:.85rem}
.sc-staff-archive-panel textarea{resize:vertical}
#sc-archive-submit{padding:.5rem .8rem;border:none;border-radius:5px;background:#2E4057;color:#fff;cursor:pointer}
#sc-archive-cancel{padding:.5rem .8rem;border:none;border-radius:5px;background:#888;color:#fff;cursor:pointer}
#sc-archive-result{font-size:.85rem}
#sc-staff-conv-archive{background:#2E4057}
