:root {
  --gpcform-main:#7515B3;
  --gpcform-main-dark:#2b123c;
  --gpcform-main-light:#a847ff;
  --gpcform-radius:14px;
  --gpcform-font:Tahoma, Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.zohali-form {
  position:relative;
  direction:rtl;
  font-family:var(--gpcform-font);
  max-width:560px;
  margin:30px auto;
  padding:28px;
  border-radius:var(--gpcform-radius);
  background:linear-gradient(145deg, rgba(0,115,230,0.92), rgba(75,25,150,0.94));
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 8px 40px rgba(117,21,179,0.25);
  color:#fff;
  backdrop-filter:blur(8px);
  box-sizing:border-box;
  overflow:hidden;
}

.zohali-form[dir="ltr"] { direction:ltr; }
.zohali-title { text-align:center; color:#fff; margin:0 0 18px; font-size:25px; line-height:1.4; }
.zohali-label { display:block; margin-bottom:16px; font-size:14px; color:#fff; text-align:inherit; }

.zohali-label input,
.zohali-label textarea,
.zohali-label select{
  direction:inherit;
  width:100%;
  margin-top:8px;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.08);
  color:#fff;
  font-size:15px;
  outline:none;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  box-sizing:border-box;
  font-family:var(--gpcform-font);
}

.zohali-label select option{ color:#222; background:#fff; }
.zohali-label input::placeholder,
.zohali-label textarea::placeholder{ color:#F3F0F5; font-size:14px; opacity:1; }
.zohali-label input:focus,
.zohali-label textarea:focus,
.zohali-label select:focus{ border-color:#fff; background:rgba(255,255,255,0.13); box-shadow:0 0 0 3px rgba(255,255,255,0.12); }

.zohali-submit{
  width:100%; padding:14px 18px; border:none; border-radius:10px; font-weight:700;
  background:linear-gradient(135deg,var(--gpcform-main),var(--gpcform-main-light));
  color:#fff; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 0 20px rgba(117,21,179,0.3); font-family:var(--gpcform-font); font-size:15px;
}
.zohali-submit:hover{ transform:translateY(-2px); box-shadow:0 0 28px rgba(117,21,179,0.5); }
.zohali-submit:disabled{ opacity:.65; cursor:not-allowed; transform:none; }

.zohali-message{ margin-top:14px; padding:10px 12px; border-radius:8px; display:none; text-align:center; font-weight:700; font-size:14px; }
.zohali-success{ background:rgba(0,230,168,0.1); border:1px solid rgba(0,230,168,0.35); color:#d9fff4 !important; display:block; }
.zohali-error{ background:rgba(179,21,21,0.14); color:#fff2aa; border:1px solid rgba(255,213,79,0.35); display:block; }

.gpcform-overlay{
  position:absolute; inset:0; z-index:50; display:none; align-items:center; justify-content:center;
  background:rgba(20,8,32,0.62); backdrop-filter:blur(5px); padding:18px;
}
.gpcform-overlay.is-visible{ display:flex; }
.gpcform-overlay-card{
  width:min(360px, 92%); padding:24px 20px; border-radius:18px; background:#fff; color:#252033;
  text-align:center; box-shadow:0 18px 60px rgba(0,0,0,0.25); border:1px solid rgba(117,21,179,0.12);
}
.gpcform-overlay-logo{ max-width:127px; height:auto; display:block; margin:0 auto 14px; }
.gpcform-spinner{ width:34px; height:34px; margin:8px auto 14px; border-radius:50%; border:4px solid #eee; border-top-color:var(--gpcform-main); animation:gpcform-spin .8s linear infinite; }
.gpcform-overlay-title{ font-weight:800; font-size:16px; line-height:1.6; }
.gpcform-overlay-sub{ margin-top:8px; font-size:14px; color:#5a5265; direction:ltr; }
.gpcform-overlay.type-success .gpcform-overlay-card{ border-top:5px solid #0b9f75; }
.gpcform-overlay.type-error .gpcform-overlay-card{ border-top:5px solid #b31515; }

@keyframes gpcform-spin{ to{ transform:rotate(360deg); } }
@keyframes gpcform-shake{ 0%,100%{transform:translateX(0);} 20%,60%{transform:translateX(-6px);} 40%,80%{transform:translateX(6px);} }
.shake{animation:gpcform-shake .4s ease;}
.gpcform-hp{ position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* Admin */
.gpcform-admin .gpcform-filterbar{ margin:14px 0 18px; }
.gpcform-status{ display:inline-block; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:700; }
.gpcform-status-open{ background:#fff3cd; color:#7a5600; }
.gpcform-status-processing{ background:#dbeafe; color:#174c86; }
.gpcform-status-closed{ background:#dcfce7; color:#166534; }
.gpcform-ticket-detail{ display:grid; grid-template-columns:1fr 1.15fr; gap:18px; max-width:1300px; }
.gpcform-ticket-card{ background:#fff; border:1px solid #dcdcde; border-radius:12px; padding:18px; box-shadow:0 2px 10px rgba(0,0,0,0.04); }
.gpcform-original-message{ background:#f8f8f8; border:1px solid #eee; border-radius:10px; padding:14px; white-space:normal; }
.gpcform-history{ grid-column:1 / -1; }
.gpcform-history-item{ border-bottom:1px solid #eee; padding:12px 0; }
.gpcform-history-item:last-child{ border-bottom:none; }
@media(max-width:900px){ .gpcform-ticket-detail{ grid-template-columns:1fr; } }
@media(max-width:640px){ .zohali-form{ margin:18px auto; padding:22px 18px; } .zohali-title{ font-size:21px; } }

.gpcform-header{
  display:block;
  margin:0 0 18px;
  text-align:inherit;
}
.gpcform-header .zohali-title{
  width:100%;
  min-width:0;
  margin:0;
  text-align:inherit;
}
.gpcform-status-customer_reply{ background:#f3e8ff; color:#6b21a8; }

/* Ticket history readability + attachments */
.gpcform-history-item{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:14px;
  margin:12px 0;
  background:#fff;
}
.gpcform-history-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:13px;
}
.gpcform-history-head strong{font-size:14px;color:#1f2937;}
.gpcform-history-head span{color:#6b7280;font-size:12px;white-space:nowrap;}
.gpcform-history-text{
  background:#f9fafb;
  border-radius:10px;
  padding:12px;
  line-height:1.7;
  white-space:pre-wrap;
}
.gpcform-history-type-customer_reply{border-color:#c4b5fd;background:#faf5ff;}
.gpcform-history-type-customer_reply .gpcform-history-head strong{color:#6b21a8;}
.gpcform-history-type-reply_sent{border-color:#bfdbfe;background:#eff6ff;}
.gpcform-history-type-internal_note{border-color:#fde68a;background:#fffbeb;}
.gpcform-history-attachments{margin-top:12px;display:grid;gap:10px;}
.gpcform-attachment-preview,
.gpcform-attachment-file{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:8px;
}
.gpcform-attachment-preview img{
  width:84px;
  height:64px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #e5e7eb;
}
.gpcform-attachment-preview span,
.gpcform-attachment-file span{color:#6b7280;font-size:12px;}
@media(max-width:640px){
  .gpcform-history-head{display:block;}
  .gpcform-history-head span{display:block;margin-top:4px;}
  .gpcform-attachment-preview{align-items:flex-start;}
}

/* v1.1.5: locked account fields for logged-in ticket users */
.zohali-label.is-account-locked input[readonly],
.zohali-label.is-account-locked input[data-gpcform-locked="1"] {
    opacity: .85;
    cursor: not-allowed;
}
.gpcform-account-locked-note {
    margin: -6px 0 14px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    font-size: 13px;
    line-height: 1.6;
}
.gpcform-status-answered{ background:#dcfce7; color:#166534; }
