/* assets/messenger.css
   LASLA Messenger Pro — Futuriste / Glass / Contraste fort
   - Front widget + Login overlay
   - Admin inbox (si tu réutilises les classes lc-admin*)
*/

:root{
  --lc-accent: #ffd000;
  --lc-accent2:#ffe680;
  --lc-ok:#28e07c;
  --lc-warn:#ffb020;
  --lc-danger:#ff4d4d;

  --lc-bg: rgba(10,12,18,.78);
  --lc-bg2: rgba(18,22,34,.78);
  --lc-card: rgba(255,255,255,.06);
  --lc-border: rgba(255,255,255,.12);

  --lc-text: rgba(255,255,255,.92);
  --lc-muted: rgba(255,255,255,.62);

  --lc-shadow: 0 18px 55px rgba(0,0,0,.55);
  --lc-shadow2: 0 10px 40px rgba(0,0,0,.35);
  --lc-glow: 0 0 26px rgba(255,208,0,.22);

  --lc-radius: 18px;
  --lc-radius2: 22px;

  --lc-font: system-ui, -apple-system, Segoe UI, Roboto, Arial;
}

/* =========================
   FRONT WIDGET
========================= */
.lasla-chat{
  position: fixed;
  right: 18px;
  bottom: 78px;
  z-index: 99999;
  font-family: var(--lc-font);
}

/* FAB */
.lc-fab{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 999px;
  cursor:pointer;
  user-select:none;

  background: linear-gradient(135deg, var(--lc-accent2), var(--lc-accent));
  color: #121212;
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 16px 44px rgba(255,208,0,.28), 0 18px 50px rgba(0,0,0,.45);
  font-weight: 1000;
  letter-spacing: .2px;
  transform: translateZ(0);
  transition: transform .15s ease, filter .15s ease;
}
.lc-fab:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.lc-fab:active{ transform: translateY(0); }

.lc-fab-ico{ font-size: 18px; }
.lc-fab-txt{ font-weight: 1000; font-size: 13px; }

/* Overlay */
.lc-overlay{
  position: fixed;
  inset:0;
  background: rgba(0,0,0,.45);
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease;
}
.lasla-chat.is-open .lc-overlay{
  opacity:1;
  pointer-events:auto;
  backdrop-filter: blur(7px);
}

/* Panel */
.lc-panel{
  position: fixed;
  right: 18px;
  bottom: 78px;
  width: min(390px, calc(100vw - 24px));
  height: min(660px, calc(100vh - 120px));

  background: linear-gradient(180deg, var(--lc-bg), var(--lc-bg2));
  border: 1px solid var(--lc-border);
  border-radius: var(--lc-radius2);
  box-shadow: var(--lc-shadow), var(--lc-shadow2);
  overflow:hidden;

  opacity:0;
  pointer-events:none;
  transform: translateY(10px) scale(.985);
  transition: all .18s ease;

  display:flex;
  flex-direction: column;
}
.lasla-chat.is-open .lc-panel{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0) scale(1);
}

/* Header */
.lc-head{
  padding: 12px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(90deg, rgba(255,208,0,.12), rgba(255,255,255,.03));
}

.lc-head strong{
  display:block;
  font-size: 14px;
  color: var(--lc-text);
  letter-spacing:.3px;
}
.lc-head small{
  display:flex;
  align-items:center;
  gap:8px;
  font-size: 11px;
  color: var(--lc-muted);
}
.lc-mini{ margin-left:6px; color: var(--lc-muted); }

.lc-head-right{ display:flex; gap:8px; align-items:center; }

/* Presence dot */
.lc-pres-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  background: var(--lc-ok);
  box-shadow: 0 0 10px rgba(40,224,124,.45);
}
.lc-pres-dot.away{
  background: var(--lc-warn);
  box-shadow: 0 0 10px rgba(255,208,0,.45);
}
.lc-pres-dot.offline{
  background: rgba(255,255,255,.35);
  box-shadow: 0 0 10px rgba(255,77,77,.45);
}

/* Header ghost buttons */
.lc-head-ghost{
  border-radius: 12px;
  cursor:pointer;
  user-select:none;
  padding:8px 10px;
  font-weight: 900;
  font-size:12px;

  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--lc-text);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
  transition: transform .15s ease, filter .15s ease;
}
.lc-head-ghost:hover{ transform: translateY(-1px); filter: brightness(1.05); }
.lc-head-ghost:active{ transform: translateY(0); }

/* Close */
.lc-close{
  width:34px;
  height:34px;
  border-radius:12px;
  cursor:pointer;
  user-select:none;

  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--lc-text);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

/* Body */
.lc-body{
  padding: 14px;
  overflow:auto;
  flex: 1 1 auto;
  -webkit-overflow-scrolling: touch;
  color: var(--lc-text);
  background:
    radial-gradient(circle at 20% 0%, rgba(255,208,0,.10), transparent 55%),
    radial-gradient(circle at 90% 30%, rgba(255,255,255,.06), transparent 50%),
    transparent;
}

/* Bubbles */
.lc-bubble{
  max-width: 90%;
  padding: 10px 12px;
  border-radius: 16px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.35;
  white-space: pre-wrap;

  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}
.lc-bot{
  background: rgba(255,255,255,.06);
  color: var(--lc-text);
  border-top-left-radius: 8px;
}
.lc-user{
  margin-left:auto;
  background: linear-gradient(135deg, rgba(255,208,0,.28), rgba(255,208,0,.10));
  border: 1px solid rgba(255,208,0,.35);
  color: rgba(0,0,0,.92);
  font-weight: 700;
  border-top-right-radius: 8px;
}

/* Quick */
.lc-quick{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding: 8px 10px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.10);
}

.lc-q{
  border-radius: 999px;
  cursor:pointer;
  user-select:none;
  font-size: 12px;
  font-weight: 900;
  padding: 6px 12px;

  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--lc-text);
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
  transition: transform .15s ease, filter .15s ease;
}
.lc-q:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.lc-q:active{ transform: translateY(0); }

/* Form */
.lc-form{
  padding: 12px 14px;
  border-top: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.12);
}

.lc-input,.lc-textarea{
  width:100%;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  outline:none;
  margin: 0 0 8px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--lc-text);
}
.lc-input::placeholder,.lc-textarea::placeholder{ color: rgba(255,255,255,.45); }
.lc-input:focus,.lc-textarea:focus{
  border-color: rgba(255,208,0,.65);
  box-shadow: 0 0 0 3px rgba(255,208,0,.18), var(--lc-glow);
}
.lc-textarea{ min-height: 86px; resize: vertical; }

/* Primary button */
.lc-primary{
  width:100%;
  border-radius: 14px;
  padding: 10px 12px;
  cursor:pointer;
  user-select:none;

  background: linear-gradient(135deg, var(--lc-accent2), var(--lc-accent));
  color: #121212;
  border: 1px solid rgba(0,0,0,.14);
  font-weight: 1000;
  box-shadow: 0 10px 26px rgba(255,208,0,.22), 0 14px 34px rgba(0,0,0,.35);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.lc-primary:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(255,208,0,.28), 0 20px 48px rgba(0,0,0,.45);
}
.lc-primary:active{ transform: translateY(0); }
.lc-primary[disabled]{ opacity:.65; cursor:not-allowed; filter:none; transform:none; }

/* Focus visible */
.lasla-chat button:focus-visible,
.lasla-chat a:focus-visible,
.lasla-chat input:focus-visible,
.lasla-chat textarea:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(255,208,0,.18), 0 0 0 1px rgba(255,208,0,.55);
}

/* =========================
   LOGIN OVERLAY
========================= */
.lc-login-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.55);
  z-index: 100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px;
  backdrop-filter: blur(8px);
}
.lc-login{
  width: min(430px, 100%);
  background: linear-gradient(180deg, rgba(12,14,20,.92), rgba(16,18,26,.92));
  border-radius: var(--lc-radius2);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--lc-shadow), var(--lc-shadow2);
  overflow:hidden;
  position:relative;
}
.lc-login-close{
  position:absolute;
  top:10px; right:10px;
  width:36px; height:36px;
  border-radius:12px;
  cursor:pointer;

  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--lc-text);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
  font-weight:1000;
}
.lc-login-inner{ padding:16px; }
.lc-login-title{ font-weight:1000; font-size:16px; margin-bottom:4px; color: var(--lc-text); }
.lc-login-sub{ font-size:12px; color: var(--lc-muted); margin-bottom:10px; }
.lc-login-msg{ margin-top:10px; font-size:12px; font-weight:900; color: var(--lc-muted); }
.lc-muted{ font-size:12px; color: var(--lc-muted); }

/* Tabs */
.lc-login-tabs{ display:flex; gap:8px; margin: 10px 0; }
.lc-tab{
  flex:1;
  padding: 10px;
  border-radius: 999px;
  cursor:pointer;
  user-select:none;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--lc-text);
  font-weight: 1000;
}
.lc-tab.is-active{
  background: linear-gradient(135deg, rgba(255,208,0,.20), rgba(255,208,0,.10));
  border-color: rgba(255,208,0,.35);
  box-shadow: 0 10px 26px rgba(255,208,0,.16);
}

/* Links */
.lc-login-links{ margin-top:10px; display:flex; justify-content:flex-end; }
.lc-link{
  border:0;
  background:transparent;
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  color: var(--lc-text);
  text-decoration: underline;
  opacity:.85;
}
.lc-link:hover{ opacity:1; }

/* Social */
.lc-social{ margin-top:12px; padding-top:12px; border-top: 1px solid rgba(255,255,255,.10); }
.lc-social-title{ font-weight:900; margin-bottom:8px; color: var(--lc-text); }
.lc-social-btn{
  display:block;
  width:100%;
  text-align:center;
  padding:12px 14px;
  border-radius:14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--lc-text);
  font-weight: 1000;
  text-decoration:none;
  box-shadow: 0 12px 26px rgba(0,0,0,.25);
}
.lc-social-btn:hover{ filter: brightness(1.06); }

/* Shake animation (JS uses lc-shake) */
@keyframes lcShake {
  0%,100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
.lc-shake{ animation: lcShake .22s ease-in-out; }

/* =========================
   ADMIN INBOX (optionnel)
========================= */
.lc-admin-top{ display:flex; align-items:center; gap:10px; margin-top:10px; }
.lc-inline{ display:flex; align-items:center; gap:10px; }

.lc-admin-settings{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  margin: 12px 0;
}
.lc-settings-card{
  background: #0f1118;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 12px 34px rgba(0,0,0,.35);
}
.lc-row{ margin:10px 0; }
.lc-row-inline{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lc-label{ min-width:240px; font-weight:900; }

/* Switch */
.lc-switch{ position:relative; display:inline-block; width:52px; height:28px; }
.lc-switch input{ opacity:0; width:0; height:0; }
.lc-slider{ position:absolute; cursor:pointer; inset:0; background: rgba(255,255,255,.18); border-radius:999px; transition:.2s; }
.lc-slider:before{
  content:"";
  position:absolute;
  height:22px; width:22px;
  left:3px; top:3px;
  background:white;
  border-radius:999px;
  transition:.2s;
  box-shadow: 0 10px 18px rgba(0,0,0,.25);
}
.lc-switch input:checked + .lc-slider{ background: rgba(255,208,0,.35); }
.lc-switch input:checked + .lc-slider:before{ transform: translateX(24px); }

/* Admin layout */
.lc-admin{ display:grid; grid-template-columns: 340px 1fr; gap:14px; margin-top:12px; }
.lc-admin-list{
  background:#0f1118;
  color:#fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius:14px;
  overflow:hidden;
  box-shadow: 0 12px 34px rgba(0,0,0,.35);
}
.lc-admin-search{ padding:10px; border-bottom:1px solid rgba(255,255,255,.10); }
.lc-admin-search input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff;
}
.lc-conv{
  padding:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  cursor:pointer;
}
.lc-conv:hover{ background: rgba(255,255,255,.06); }
.lc-conv strong{ display:block; }
.lc-conv small{ opacity:.7; }

.lc-admin-chat{
  background:#0f1118;
  color:#fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow: 0 12px 34px rgba(0,0,0,.35);
}
.lc-admin-chat-head{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}


#lcRegName {
  border-radius: 20px;
  background: #000000e8;
  border: 1px solid #e0e0e045;
}

#lcRegEmail {
  border-radius: 20px;
  background: #000000e8;
  border: 1px solid #e0e0e045;
}

#lcRegPass {
  border-radius: 20px;
  background: #000000e8;
  border: 1px solid #e0e0e045;
}

/* Panels auth (évite layout jump) */
.lc-auth-panel { animation: lcFadeIn .12s ease; }
@keyframes lcFadeIn { from { opacity:.0; transform: translateY(2px); } to { opacity:1; transform: translateY(0); } }

/* option: rend les tabs encore plus "futuristes" */
.lc-login-tabs { margin-top: 12px; }

/* ✅ AJOUT À TON CSS (petit badge futuriste + scanline overlay) */

/* Badge futuriste */
.lc-auth-badge{
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

/* Scanline ultra légère */
.lc-login-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  backdrop-filter: blur(8px);
  overflow: hidden;
}

.lc-login-overlay::before{
  content:"";
  position:absolute;
  inset:-50% 0 0 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(255,208,0,.08) 45%,
    rgba(255,208,0,.18) 50%,
    rgba(255,208,0,.08) 55%,
    transparent 100%
  );
  transform: translateY(-60%);
  animation: lcScanline 4.2s linear infinite;
  pointer-events:none;
  mix-blend-mode: screen;
  opacity: .55;
}

@keyframes lcScanline{
  0%   { transform: translateY(-60%); }
  100% { transform: translateY(60%); }
}

/* ================================
   LASLA Messenger PRO — Account UI
   (à coller en fin de messenger.css)
================================ */

/* Bouton "nom" quand connecté (lcGoLogin renommé en badge compte) */
.lasla-chat .lc-head-right #lcGoLogin {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
  cursor: default; /* connecté => c'est juste un badge */
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Quand pas connecté, le bouton "Se connecter" doit rester cliquable */
.lasla-chat .lc-head-right #lcGoLogin[title=""],
.lasla-chat .lc-head-right #lcGoLogin:not([title]) {
  cursor: pointer;
}

/* Hover doux */
.lasla-chat .lc-head-right #lcGoLogin:hover {
  filter: brightness(1.05);
}

/* Ligne "• Nom ..." dans le header */
.lasla-chat #lcWhoLine {
  margin-left: 8px;
  opacity: .85;
  font-size: 12px;
  white-space: nowrap;
}

/* Style si "non vérifié" dans whoLine (on cible le texte) */
.lasla-chat #lcWhoLine {
  color: rgba(255,255,255,.78);
}

/* Petit confort responsive */
@media (max-width: 420px) {
  .lasla-chat .lc-head-right #lcGoLogin {
    max-width: 120px;
    padding: 6px 8px;
  }
  .lasla-chat #lcWhoLine {
    display: none; /* évite de surcharger le header sur mobile */
  }
}

