/* =========================================================
   VisionCamp – merged “aqua-neon” + “glass-2025” theme
   ========================================================= */

/* ---------- CSS RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body,html{height:100%;font-family:'Inter',sans-serif;}

/* ---------- COLOR TOKENS ---------- */
:root{
  /* navy-aqua base */
  --navy:#0a192f;
  --dark:#020c1b;
  --card:#112240;
  --aqua:#64ffda;
  --light:#8892b0;
  --white:#ffffff;

  /* glass glow extras */
  --blur:14px;
  --border-glow:rgba(100,255,218,.35);
  --shadow-aqua:0 0 12px var(--aqua),0 0 24px rgba(100,255,218,.25);
}

/* ---------- GLOBAL ---------- */
body.dark{
  background:linear-gradient(135deg,var(--dark),var(--navy));
  color:var(--white);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* ---------- LOGIN CARD ---------- */
.glass-card{
  background:var(--card);
  border:1px solid rgba(100,255,218,.25);
  border-radius:18px;
  padding:2.2rem 2.5rem 2.8rem;
  margin:auto;
  width:90%;max-width:420px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  animation:fadeIn .9s cubic-bezier(.25,.8,.25,1) forwards;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.glass-card h2{margin-bottom:1.4rem;text-align:center;font-weight:600;font-size:26px;letter-spacing:.5px;}
.glass-card label{display:block;margin-bottom:1.1rem;font-size:.9rem;color:var(--light);}
.glass-card input{
  width:100%;border:none;border-bottom:2px solid var(--aqua);
  background:transparent;color:var(--white);padding:.7rem 0;outline:none;transition:border-color .25s;
}
.glass-card input:focus{border-color:var(--white);box-shadow:0 2px 0 0 var(--white);}
.glass-card button{
  width:100%;padding:.8rem;border:none;border-radius:10px;
  background:var(--aqua);color:var(--navy);font-weight:600;font-size:16px;cursor:pointer;
  transition:transform .2s,box-shadow .2s;
}
.glass-card button:hover{transform:scale(1.02);box-shadow:var(--shadow-aqua);}

/* ---------- TOP BAR ---------- */
.top-bar{
  display:flex;justify-content:space-between;align-items:center;
  padding:.8rem 1.2rem;background:var(--card);border-bottom:1px solid rgba(100,255,218,.15);
}
.top-bar a{color:var(--aqua);text-decoration:none;font-size:.9rem;}

/* ---------- CHAT WRAPPER ---------- */
.chat-wrapper{
  flex:1;max-width:900px;width:100%;margin:1rem auto;
  background:var(--card);border:1px solid rgba(100,255,218,.15);
  border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.35);
  display:flex;flex-direction:column;overflow:hidden;
}

.chat-box{
  flex:1;padding:1rem 1.2rem;overflow-y:auto;display:flex;flex-direction:column-reverse;
}

/* ---------- BUBBLES ---------- */
.bubble{
  max-width:70%;padding:.7rem 1rem;margin-bottom:.6rem;border-radius:14px;
  position:relative;line-height:1.35;font-size:.95rem;
}
.bubble.user{align-self:flex-end;background:var(--aqua);color:var(--navy);}
.bubble:not(.user){align-self:flex-start;background:rgba(255,255,255,.08);}
.bubble img{max-width:220px;border-radius:10px;margin-top:.5rem;cursor:pointer;}
.bubble time{font-size:.65rem;opacity:.7;display:block;text-align:right;margin-top:.4rem;}
.upi{font-size:.7rem;opacity:.8;margin-bottom:.25rem;}

/* ---------- COMPOSER ---------- */
.composer{display:flex;align-items:center;padding:.6rem 1rem;background:var(--card);}
.composer textarea{
  flex:1;resize:none;border:none;border-radius:10px;padding:.6rem .9rem;
  background:rgba(255,255,255,.07);color:var(--white);
  min-height:42px;max-height:70px;font-family:Inter;font-size:.95rem;
}
.composer button{
  border:none;background:var(--aqua);color:var(--navy);
  padding:.6rem 1.1rem;border-radius:10px;margin-left:.5rem;cursor:pointer;transition:transform .2s;
}
.composer button:hover{transform:scale(1.05);}
.attach{position:relative;margin-left:.6rem;cursor:pointer;}
.attach input[type=file]{position:absolute;width:1px;height:1px;opacity:0;}
.attach::before{content:"📎";font-size:1.3rem;color:var(--aqua);}

/* ---------- ADMIN THREAD LIST ---------- */
.thread-list{padding:1.2rem;}
.thread-item{
  display:block;background:var(--card);border:1px solid rgba(100,255,218,.15);
  border-radius:12px;padding:1rem 1.2rem;margin-bottom:.8rem;text-decoration:none;color:var(--white);
  transition:transform .2s,box-shadow .2s;
}
.thread-item:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(0,0,0,.3);}
.mob{font-weight:600;font-size:1.05rem;margin-bottom:.25rem;}
.meta{font-size:.75rem;opacity:.7;}

/* ---------- MOBILE TWEAKS ---------- */
@media(max-width:600px){
  .chat-wrapper{margin:.5rem;border-radius:0;}
  .top-bar{padding:.6rem 1rem;}
  .bubble{max-width:78%;font-size:.9rem;}
}