.luperiq-msg-thread {
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}
.luperiq-mh-inbox {
  margin: 0 0 18px;
}
.luperiq-mh-inbox-list {
  display: grid;
  gap: 10px;
}
.luperiq-mh-inbox-item {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  display: block;
}
.luperiq-mh-inbox-item:hover {
  border-color: #cbd5f5;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}
.luperiq-mh-inbox-item-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}
.luperiq-mh-inbox-item-meta {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 6px;
}
.luperiq-mh-inbox-item-preview {
  font-size: 13px;
  color: #334155;
}
.luperiq-mh-inbox-unread {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.luperiq-mh-inbox-card {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}
.luperiq-mh-inbox-card input[type=\"text\"],
.luperiq-mh-inbox-card input[type=\"datetime-local\"],
.luperiq-mh-inbox-card textarea,
.luperiq-mh-inbox-card select {
  width: 100%;
  max-width: 420px;
}
.luperiq-mh-topbar {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: linear-gradient(135deg, #0f1115, #1f2937);
  color: #f8fafc;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.admin-bar .luperiq-mh-topbar {
  top: 32px;
}
.luperiq-mh-topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.luperiq-mh-topbar-title {
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.luperiq-mh-topbar-link {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.luperiq-mh-topbar-link:hover {
  text-decoration: underline;
}
.luperiq-mh-auth {
  max-width: 520px;
  margin: 0 auto;
  padding: 24px;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}
.luperiq-mh-auth h2 {
  margin-top: 0;
}
.luperiq-mh-auth-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.luperiq-mh-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.luperiq-mh-row-inline {
  flex-direction: row;
  align-items: center;
}
.luperiq-mh-auth input[type="text"],
.luperiq-mh-auth input[type="email"],
.luperiq-mh-auth input[type="password"] {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #cbd5f5;
  background: #f8fafc;
}
.luperiq-mh-auth-button {
  background: #2563eb;
  color: #fff;
  border: none;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
}
.luperiq-mh-auth-button:hover {
  background: #1d4ed8;
}
.luperiq-mh-auth-links {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
}
.luperiq-mh-auth-link {
  color: #1d4ed8;
  font-weight: 600;
  text-decoration: none;
}
.luperiq-mh-auth-link:hover {
  text-decoration: underline;
}
.luperiq-mh-profile-picker {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
  margin-bottom: 16px;
}
.luperiq-mh-profile-picker select,
.luperiq-mh-profile-picker input[type="text"] {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #cbd5f5;
  background: #fff;
}
.luperiq-mh-profile-picker .button {
  align-self: flex-start;
}
.luperiq-msg-assoc {
  margin-top: 16px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}
.luperiq-msg-assoc h4 {
  margin-top: 0;
}
.luperiq-msg-assoc-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.luperiq-msg-assoc-row select,
.luperiq-msg-assoc-row input[type="text"] {
  max-width: 420px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #cbd5f5;
  background: #fff;
}
.luperiq-msg-assoc-check {
  display: flex;
  align-items: center;
  gap: 6px;
}
.luperiq-mh-topbar-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(239, 68, 68, 0.9);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.luperiq-mh-topbar-badge.is-clear {
  background: rgba(16, 185, 129, 0.2);
  color: #d1fae5;
}
.luperiq-mh-topbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.luperiq-mh-topbar-btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #e2e8f0;
  transition: all 150ms ease;
}
.luperiq-mh-topbar-btn:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}
.luperiq-mh-topbar-btn.is-primary {
  background: #22c55e;
  color: #0f1115;
  border-color: transparent;
}
.luperiq-mh-topbar-btn.is-primary:hover {
  filter: brightness(1.05);
}
.luperiq-msg-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 16px;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #f8f8f8;
  font-size: 13px;
}
.luperiq-msg-summary strong {
  font-weight: 700;
}
.luperiq-msg-summary a {
  text-decoration: none;
}
.luperiq-msg-context-summary {
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 10px 12px;
  margin: 0 0 12px;
  background: #ffffff;
  font-size: 13px;
}
.luperiq-msg-context-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}
.luperiq-msg-context-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(15, 17, 21, 0.04);
  font-size: 11px;
  font-weight: 700;
}
.luperiq-msg-ticket {
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 12px;
  margin: 0 0 12px;
  background: #fafafa;
}
.luperiq-msg-ticket h4 {
  margin: 0 0 8px;
}
.luperiq-msg-ticket-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 6px 14px;
  font-size: 13px;
}
.luperiq-msg-ticket-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}
.luperiq-msg-ticket-fields label {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
}
.luperiq-msg-ticket-fields select,
.luperiq-msg-ticket-fields input[type=\"text\"] {
  min-width: 160px;
}
.luperiq-msg-ticket-fields input[type=\"datetime-local\"] {
  min-width: 180px;
}
.luperiq-msg-ticket-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.luperiq-msg-quick-reply {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 8px;
}
.luperiq-msg-quick-reply label {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
}
.luperiq-msg-quick-reply select {
  min-width: 240px;
}
.luperiq-mh-due {
  font-weight: 700;
}
.luperiq-mh-overdue {
  color: #b91c1c;
}
.luperiq-msg-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 12px 0;
}
.luperiq-msg-item {
  border: 1px solid #efefef;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fafafa;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 760px;
}
.luperiq-msg-item.is-unread {
  border-color: #ffd1a1;
  box-shadow: 0 0 0 2px rgba(255, 193, 126, 0.25) inset;
}
.luperiq-msg-item.is-mine {
  border-color: #d6ecff;
  background: #f3faff;
  align-self: flex-end;
}
.luperiq-msg-item.role-customer {
  border-left: 4px solid rgba(124, 58, 237, 0.35);
}
.luperiq-msg-item.role-tech {
  border-left: 4px solid rgba(16, 185, 129, 0.35);
}
.luperiq-msg-item.role-office {
  border-left: 4px solid rgba(59, 130, 246, 0.35);
}
.luperiq-msg-meta {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 13px;
  opacity: 0.9;
}
.luperiq-msg-author {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}
.luperiq-msg-author-line {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.luperiq-msg-author-name {
  font-weight: 800;
}
.luperiq-msg-avatar {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(15, 17, 21, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.75);
  flex: 0 0 30px;
}
.luperiq-msg-item.is-mine .luperiq-msg-avatar {
  background: rgba(32, 129, 240, 0.12);
  border-color: rgba(32, 129, 240, 0.25);
}
.luperiq-msg-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(15, 17, 21, 0.06);
  font-size: 11px;
  font-weight: 800;
  text-transform: capitalize;
  letter-spacing: 0.2px;
}
.luperiq-msg-badge.role-customer {
  background: rgba(124, 58, 237, 0.08);
  border-color: rgba(124, 58, 237, 0.2);
  color: #5b21b6;
}
.luperiq-msg-badge.role-tech {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.2);
  color: #065f46;
}
.luperiq-msg-badge.role-office {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.2);
  color: #1d4ed8;
}
.luperiq-msg-body {
  white-space: pre-wrap;
}
.luperiq-msg-time {
  opacity: 0.8;
  font-size: 12px;
  white-space: nowrap;
}
.luperiq-msg-alert {
  border-radius: 10px;
  padding: 10px 12px;
  margin: 0 0 12px;
}
.luperiq-msg-alert-success {
  background: #e9f8ef;
  border: 1px solid #bde8cd;
}
.luperiq-msg-alert-error {
  background: #fdecec;
  border: 1px solid #f5bcbc;
}

.luperiq-msg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 12px;
}

/* Frontend form controls (avoid overriding wp-admin styles) */
body:not(.wp-admin) .luperiq-msg-thread textarea {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  resize: vertical;
}

body:not(.wp-admin) .luperiq-msg-thread .button,
body:not(.wp-admin) .luperiq-msg-thread a.button,
body:not(.wp-admin) .luperiq-msg-thread button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 850;
  border: 1px solid rgba(15, 17, 21, 0.10);
  background: rgba(15, 17, 21, 0.06);
  color: rgba(15, 17, 21, 0.78);
  cursor: pointer;
}

body:not(.wp-admin) .luperiq-msg-thread .button:hover,
body:not(.wp-admin) .luperiq-msg-thread a.button:hover,
body:not(.wp-admin) .luperiq-msg-thread button.button:hover {
  background: rgba(15, 17, 21, 0.10);
  color: #111;
}

body:not(.wp-admin) .luperiq-msg-thread .button.button-primary,
body:not(.wp-admin) .luperiq-msg-thread .button-primary {
  background: #0f1115;
  border-color: #0f1115;
  color: #fff;
}

body:not(.wp-admin) .luperiq-msg-thread .button.button-primary:hover,
body:not(.wp-admin) .luperiq-msg-thread .button-primary:hover {
  background: #1a1d24;
  border-color: #1a1d24;
}

body:not(.wp-admin) .luperiq-msg-thread .button:focus,
body:not(.wp-admin) .luperiq-msg-thread a.button:focus,
body:not(.wp-admin) .luperiq-msg-thread button.button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(11, 87, 208, 0.18);
}
