.support-page{
  min-height:100vh;
}

.support-hero{
  background:
    radial-gradient(circle at 15% 20%,rgba(8,102,255,.08),transparent 28%),
    #fff;
}

.support-grid{
  display:grid;
  grid-template-columns: .9fr 1.3fr;
  gap:18px;
}

.support-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
}

.support-info{
  background:
    radial-gradient(circle at 20% 20%,rgba(8,102,255,.12),transparent 28%),
    linear-gradient(180deg,#fff,#F8FBFF);
}

.support-icon{
  width:78px;
  height:78px;
  border-radius:24px;
  background:#EEF4FF;
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  margin-bottom:18px;
}

.support-card h2{
  margin:0 0 12px;
  font-size:28px;
}

.support-card p{
  color:var(--muted);
  line-height:2;
  margin:0 0 22px;
}

.support-links{
  display:grid;
  gap:10px;
}

.support-links a{
  background:#F3F7FD;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  font-weight:900;
  color:var(--blue);
}

.support-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.support-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:900;
  color:#10294D;
}

.support-form input,
.support-form select,
.support-form textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:15px;
  background:#F8FAFC;
  padding:14px 16px;
  font-family:inherit;
  font-size:15px;
  outline:none;
}

.support-form textarea{
  min-height:170px;
  resize:vertical;
  line-height:1.9;
}

.support-form input:focus,
.support-form select:focus,
.support-form textarea:focus{
  border-color:var(--blue);
  background:#fff;
  box-shadow:0 0 0 4px rgba(8,102,255,.10);
}

.support-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.support-note{
  background:#F8FAFC;
  border:1px dashed var(--border);
  border-radius:15px;
  padding:14px;
  color:var(--muted);
  line-height:1.8;
  font-weight:700;
}

.support-form button{
  border:0;
  border-radius:15px;
  padding:15px;
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;
  font-weight:900;
  font-size:16px;
}

.support-form button:disabled{
  opacity:.7;
  cursor:not-allowed;
}

.ticket-success{
  max-width:720px;
  margin:28px auto 0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:28px;
  padding:38px;
  box-shadow:var(--shadow);
  text-align:center;
}

.ticket-success h2{
  font-size:32px;
  margin:12px 0;
}

.ticket-success p{
  color:var(--muted);
}

.ticket-success strong{
  display:inline-block;
  direction:ltr;
  background:#EEF4FF;
  color:var(--blue);
  border-radius:16px;
  padding:14px 20px;
  font-size:24px;
  margin:12px 0 24px;
}

@media(max-width:900px){
  .support-grid{
    grid-template-columns:1fr;
  }

  .support-two{
    grid-template-columns:1fr;
  }
}

.tickets-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.ticket-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:20px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:1.8fr .65fr .65fr .65fr 130px;
  gap:14px;
  align-items:center;
}

.ticket-card b{
  direction:ltr;
  display:inline-block;
  color:var(--blue);
}

.ticket-card h3{
  margin:8px 0;
}

.ticket-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.ticket-card span{
  display:block;
  color:var(--muted);
  margin-bottom:7px;
  font-size:12px;
}

.ticket-card strong{
  color:var(--navy);
}

.ticket-card em{
  font-style:normal;
  display:inline-block;
}

.ticket-card button{
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;
  padding:13px;
  font-weight:900;
}

@media(max-width:900px){
  .ticket-card{
    grid-template-columns:1fr;
  }
}

.ticket-details-card{
  margin-top:18px;
}

.ticket-full{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
}

.ticket-full-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--border);
  padding-bottom:20px;
  margin-bottom:20px;
}

.ticket-full-head b{
  direction:ltr;
  color:var(--blue);
  display:inline-block;
  margin-bottom:8px;
  font-size:18px;
}

.ticket-full-head h2{
  margin:0 0 8px;
  font-size:32px;
}

.ticket-full-head p{
  margin:0;
  color:var(--muted);
}

.ticket-meta-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:20px;
}

.ticket-meta-grid div{
  background:#F8FAFC;
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
}

.ticket-meta-grid span{
  display:block;
  color:var(--muted);
  margin-bottom:8px;
}

.ticket-message,
.ticket-reply{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:20px;
  margin-top:16px;
}

.ticket-message h3,
.ticket-reply h3{
  margin:0 0 12px;
}

.ticket-message p,
.ticket-reply p{
  margin:0;
  color:#263B5E;
  line-height:2;
}

.ticket-reply .muted{
  color:var(--muted);
}

@media(max-width:900px){
  .ticket-full-head{
    flex-direction:column;
  }

  .ticket-meta-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================
   Support Conversation
   ========================================= */

.ticket-conversation-live{
  margin-top:24px;
}

.ticket-conversation-live > h3{
  margin-bottom:16px;
}

.support-chat-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.support-chat-message{
  max-width:82%;
  padding:14px 16px;
  border-radius:16px;
  line-height:1.8;
}

.support-chat-message.customer{
  align-self:flex-start;
  background:#eef5ff;
  border:1px solid #cfe0ff;
}

.support-chat-message.admin{
  align-self:flex-end;
  background:#effbf5;
  border:1px solid #c8ead7;
}

.support-chat-message.system{
  align-self:center;
  max-width:92%;
  background:#fff9e9;
  border:1px solid #f1dda4;
}

.support-chat-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
  font-size:13px;
}

.support-chat-meta span{
  opacity:.65;
}

.support-chat-message p{
  margin:0;
}

.ticket-reply-form{
  margin-top:24px;
  padding:18px;
  border:1px solid #dce6f5;
  border-radius:16px;
  background:#fff;
}

.ticket-reply-form label{
  display:block;
  font-weight:800;
  margin-bottom:8px;
}

.ticket-reply-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:14px;
  border:1px solid #cfdced;
  border-radius:12px;
  resize:vertical;
  font:inherit;
}

.ticket-reply-form button{
  width:100%;
  margin-top:12px;
  padding:13px;
  border:0;
  border-radius:12px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  background:#2766ed;
  color:#fff;
}

.ticket-reply-form button:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.ticket-closed-note{
  margin-top:20px;
  padding:14px;
  border-radius:12px;
  background:#f5f6f8;
  text-align:center;
}

@media (max-width:700px){

  .support-chat-message{
    max-width:92%;
  }

}


/* =========================================
   Support Unread State
   ========================================= */

.ticket-card.has-support-unread{
  border:2px solid #2f6fed;
  box-shadow:
    0 10px 30px rgba(47,111,237,.12);
}

.tag.support-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eaf2ff;
  color:#1456d9;
  border:1px solid #b9d1ff;
  font-weight:800;
  white-space:nowrap;
}


/* =========================================
   Support New Reply Banner
   ========================================= */

.support-new-reply-banner{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:8px 0;
  padding:7px 11px;
  border-radius:10px;
  background:#eaf2ff;
  color:#1456d9;
  border:1px solid #b9d1ff;
  font-weight:800;
  font-size:14px;
}

.ticket-card.has-support-unread{
  border:2px solid #2f6fed;
  box-shadow:
    0 10px 30px rgba(47,111,237,.14);
}

.ticket-card.has-support-unread button{
  font-weight:800;
}

.tag.support-unread{
  background:#eaf2ff;
  color:#1456d9;
  border:1px solid #b9d1ff;
  font-weight:800;
}


/* ===== Support unread final override ===== */

.ticket-card.has-support-unread{
  border:2px solid #2f6fed !important;
  box-shadow:0 10px 30px rgba(47,111,237,.14);
}

.support-new-reply-banner{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:8px 0;
  padding:8px 12px;
  border-radius:10px;
  background:#eaf2ff;
  color:#1456d9;
  border:1px solid #b9d1ff;
  font-weight:800;
  font-size:14px;
}

.tag.support-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eaf2ff;
  color:#1456d9;
  border:1px solid #b9d1ff;
  font-weight:800;
}


/* ==================================================
   Support Chat — Production UI
   ================================================== */

.ticket-conversation-live{
  margin-top:24px;
  padding:24px;
  border:1px solid #dbe6f5;
  border-radius:22px;
  background:#fff;
}

.ticket-conversation-live > h3{
  margin:0 0 22px;
  font-size:24px;
  font-weight:900;
  color:#082a58;
}

.support-chat-list{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:6px 0 12px;
}

.support-chat-message{
  width:fit-content;
  max-width:72%;
  padding:14px 18px;
  border-radius:20px;
  line-height:1.85;
  box-shadow:0 5px 18px rgba(8,42,88,.06);
}

.support-chat-message.customer{
  align-self:flex-start;
  background:#edf5ff;
  border:1px solid #c5dcff;
  border-bottom-left-radius:6px;
}

.support-chat-message.admin{
  align-self:flex-end;
  background:#ecfbf4;
  border:1px solid #bde7d0;
  border-bottom-right-radius:6px;
}

.support-chat-message.system{
  align-self:center;
  width:90%;
  max-width:90%;
  background:#fff8e8;
  border:1px solid #f0d38b;
  text-align:center;
}

.support-chat-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:8px;
  font-size:13px;
}

.support-chat-meta strong{
  font-size:14px;
  font-weight:900;
  color:#082a58;
}

.support-chat-meta span{
  color:#7a879a;
  font-size:12px;
}

.support-chat-message p{
  margin:0;
  font-size:16px;
  color:#102b4e;
  overflow-wrap:anywhere;
}

.ticket-reply-form{
  margin-top:24px;
  padding:22px;
  border:1px solid #d5e2f3;
  border-radius:20px;
  background:#fafdff;
  box-shadow:0 8px 24px rgba(8,42,88,.05);
}

.ticket-reply-form label{
  display:block;
  margin-bottom:10px;
  font-size:17px;
  font-weight:900;
  color:#082a58;
}

.ticket-reply-form textarea{
  width:100%;
  min-height:125px;
  box-sizing:border-box;
  padding:15px 16px;
  border:1px solid #c8d8ed;
  border-radius:15px;
  background:#fff;
  font:inherit;
  font-size:16px;
  line-height:1.7;
  resize:vertical;
  outline:none;
}

.ticket-reply-form textarea:focus{
  border-color:#2f6fed;
  box-shadow:0 0 0 3px rgba(47,111,237,.10);
}

.ticket-reply-form button{
  width:100%;
  margin-top:14px;
  padding:14px 20px;
  border:0;
  border-radius:14px;
  background:#2467ec;
  color:#fff;
  font:inherit;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(36,103,236,.20);
}

.ticket-reply-form button:hover{
  transform:translateY(-1px);
}

.ticket-reply-form button:disabled{
  opacity:.60;
  cursor:not-allowed;
  transform:none;
}

.ticket-closed-note{
  margin-top:20px;
  padding:16px;
  border-radius:14px;
  background:#f3f5f8;
  color:#667085;
  font-weight:700;
  text-align:center;
}

@media (max-width:700px){

  .ticket-conversation-live{
    padding:16px 12px;
    border-radius:18px;
  }

  .ticket-conversation-live > h3{
    font-size:20px;
  }

  .support-chat-message{
    max-width:88%;
    padding:12px 14px;
  }

  .support-chat-message.system{
    width:94%;
    max-width:94%;
  }

  .support-chat-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }

  .support-chat-message p{
    font-size:15px;
  }

  .ticket-reply-form{
    padding:15px;
    border-radius:16px;
  }

  .ticket-reply-form textarea{
    min-height:115px;
  }
}

