/* User admin dashboard – unified brand theme */
:root {
  --theme-dark: #1a1a2e;
  --theme-accent: #c2185b;
  --theme-gradient: linear-gradient(135deg, #1a1a2e 0%, #c2185b 100%);
}
.he-auth-body { margin:0; min-height:100vh; font-family:'Poppins',system-ui,sans-serif; background:var(--theme-gradient); color:#e5e7eb; }
.auth-nav { height:60px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.12); background:rgba(26,26,46,.75); }
.auth-nav .logo { font-size:20px; font-weight:700; color:#fff; }
.auth-main { flex:1; display:flex; align-items:center; justify-content:center; padding:20px; min-height:calc(100vh - 120px); }
.auth-card { width:100%; max-width:420px; background:rgba(26,26,46,.92); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:32px 28px; box-shadow:0 40px 80px rgba(0,0,0,.45); }
.brand { text-align:center; font-size:28px; font-weight:700; color:#fff; }
.subtitle { text-align:center; font-size:14px; color:#9ca3af; margin:8px 0 24px; }
.alert { background:rgba(239,68,68,.15); color:#fecaca; padding:12px; border-radius:12px; font-size:14px; text-align:center; margin-bottom:16px; }
.alert.success { background:rgba(34,197,94,.15); color:#bbf7d0; }
.auth-hint { font-size:12px; color:#9ca3af; margin:-6px 0 14px; line-height:1.5; }
.auth-forgot-row { text-align:right; margin:-6px 0 14px; }
.auth-forgot-row a { color:#ffd6e8; font-size:13px; text-decoration:none; }
.auth-forgot-row a:hover { text-decoration:underline; }
.btn-logout { background:#fee2e2; color:#991b1b; padding:12px 20px; border-radius:999px; text-decoration:none; font-weight:600; }
.he-dash-notice { padding:12px 14px; border-radius:10px; margin-bottom:12px; font-size:14px; font-weight:600; }
.he-dash-notice.success { background:#d1fae5; color:#065f46; }
.form-group { margin-bottom:16px; }
.form-group label { font-size:13px; color:#9ca3af; display:block; margin-bottom:6px; }
.form-group input:not([type="checkbox"]):not([type="radio"]), .post-wrap input:not([type="checkbox"]):not([type="radio"]), .post-wrap textarea, .post-wrap select { width:100%; padding:15px; border-radius:14px; border:1px solid #1f2937; background:#020617; color:#fff; }
.post-wrap input:not([type="checkbox"]):not([type="radio"]), .post-wrap textarea, .post-wrap select { background:#fafafa; color:#111; border-color:#e5e5e5; }
.btn { width:100%; padding:15px; border:none; border-radius:16px; background:var(--theme-gradient); color:#fff; font-weight:600; cursor:pointer; }
.dashboard { max-width:1100px; margin:24px auto; padding:0 14px; display:grid; grid-template-columns:1fr 320px; gap:22px; }
.card { background:#fff; border-radius:16px; padding:23px; box-shadow:0 8px 22px rgba(0,0,0,.05); }
.welcome-card h3 { margin:0 0 8px; font-size:20px; }
.stats { color:#555; font-size:14px; }
.action-buttons { display:flex; gap:12px; flex-wrap:wrap; margin:14px 0; }
.btn-free { background:#fce4ec; color:#1a1a2e; padding:12px 20px; border-radius:999px; text-decoration:none; font-weight:600; }
.btn-premium { background:#fef3c7; color:#92400e; padding:12px 20px; border-radius:999px; text-decoration:none; font-weight:600; }
.btn-secondary { background:#f3f4f6; color:#374151; padding:12px 20px; border-radius:999px; text-decoration:none; font-weight:600; }
.muted { color:#888; font-size:14px; }
.coin-count { font-size:28px; font-weight:800; margin:10px 0; }
.wallet-actions { display:flex; gap:10px; flex-wrap:wrap; }
.tips-list { padding-left:18px; line-height:1.8; }
.post-wrap { max-width:950px; margin:20px auto 40px; background:#fff; padding:25px 18px; border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.post-ad-heading { margin:0 0 18px; font-size:22px; font-weight:700; color:#222; }
.post-ad-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.post-ad-form .form-full { margin-bottom:14px; grid-column:1/-1; }
.post-ad-form input:not([type="checkbox"]):not([type="radio"]), .post-ad-form textarea, .post-ad-form select { padding:12px; border-radius:10px; border:1px solid #e5e5e5; font-size:15px; width:100%; background:#fafafa; color:#111; box-sizing:border-box; }
.post-ad-form textarea { resize: vertical; transition: border .2s, box-shadow .2s; }
.post-ad-form textarea.he-code-editor,
#he_description.he-code-editor {
  min-height: 220px;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 13px;
  line-height: 1.55;
  background: #1e1e1e;
  color: #d4d4d4;
  border-color: #3c3c3c;
  tab-size: 2;
}
.post-ad-form textarea.he-code-editor:focus {
  border-color: #c2185b;
  box-shadow: 0 0 0 2px rgba(194, 24, 91, 0.2);
  outline: none;
}
.post-ad-form .field-hint { display:block; margin-top:4px; font-size:12px; color:#888; }
.post-ad-form .req { color:#d63031; }
.ad-warning { background:#fff4e5; border-left:4px solid #f1c94b; padding:10px 14px; margin-bottom:16px; font-size:13px; color:#5a4a1f; border-radius:8px; font-weight:600; }
.btn-gold { background:var(--theme-gradient); border:none; color:#fff; padding:12px 20px; border-radius:12px; font-weight:700; font-size:15px; cursor:pointer; width:100%; margin-top:10px; box-shadow:0 6px 20px rgba(194,24,91,.25); }
.tag-container { display:flex; flex-wrap:wrap; gap:10px; padding:10px; background:#fafafa; border:1px solid #e5e5e5; border-radius:10px; max-height:260px; overflow-y:auto; width:100%; }
.tag-item { padding:8px 12px; background:#f2f2f2; border-radius:25px; font-size:14px; cursor:pointer; border:1px solid #ddd; transition:.25s; user-select:none; }
.tag-item.active { background:linear-gradient(135deg,#1a1a2e 0%,#c2185b 100%); color:#fff; font-weight:600; border-color:#c2185b; box-shadow:0 4px 12px rgba(194,24,91,.3); }
.tag-item .tag-check { display:none; pointer-events:none; }
.tag-grid .tag-check { display:inline-block; pointer-events:auto; }

/* Service tags — checkbox grid */
.tag-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px 12px; padding:14px; background:#2a2a2a; border:1px solid #444; border-radius:10px; max-height:320px; overflow-y:auto; }
.tag-grid-item { display:flex; align-items:flex-start; gap:8px; font-size:13px; color:#fff; cursor:pointer; line-height:1.35; user-select:none; }
.tag-grid-item input { margin-top:3px; flex-shrink:0; accent-color:#c2185b; width:16px; height:16px; cursor:pointer; }
.tag-grid-item span { flex:1; }

/* About me section */
.he-about-section { margin-bottom:18px; padding:18px; background:#2a2a2a; border:1px solid #444; border-radius:12px; color:#fff; }
.he-about-heading { margin:0 0 16px; font-size:18px; font-weight:700; color:#fff; padding-bottom:10px; border-bottom:1px solid #444; }
.he-about-gender-row { margin-bottom:14px; }
.he-about-gender-label { display:inline-block; margin-left:10px; font-weight:700; color:#ffd6e8; }
.he-about-field { margin-bottom:14px; }
.he-about-attrs { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
.he-radio-row { display:flex; flex-wrap:wrap; gap:14px 18px; margin-top:6px; }
.he-radio-row label { font-size:14px; font-weight:500; cursor:pointer; display:inline-flex; align-items:center; gap:8px; color:#eee; white-space:nowrap; margin:0; }
.he-about-section input[type="checkbox"],
.he-about-section input[type="radio"],
.post-ad-form input[type="checkbox"],
.post-ad-form input[type="radio"] {
  width:18px;
  height:18px;
  min-width:18px;
  max-width:18px;
  padding:0;
  margin:0;
  flex-shrink:0;
  accent-color:#c2185b;
  cursor:pointer;
  box-sizing:border-box;
}
.he-about-field[data-field="smokes"] { margin-top:6px; }
.he-check-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  color:#eee;
  width:auto;
  max-width:100%;
  white-space:nowrap;
  margin:0;
}
.he-lang-rows { display:flex; flex-direction:column; gap:10px; margin-bottom:10px; }
.he-lang-row {
  display:grid;
  grid-template-columns:36px minmax(150px,220px) 1fr;
  align-items:center;
  gap:10px 12px;
  padding:12px;
  background:#333;
  border-radius:8px;
}
.he-lang-remove { background:none; border:none; color:#f87171; cursor:pointer; font-size:16px; padding:4px 8px; align-self:center; }
.he-lang-select { width:100%; min-width:0; max-width:none; }
.he-lang-levels { display:flex; flex-wrap:wrap; gap:10px 16px; min-width:0; }
.btn-outline-sm { background:transparent; border:1px solid #c2185b; color:#ffd6e8; padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; }
.btn-outline-sm:hover { background:rgba(194,24,91,.15); }
.he-about-section select,
.he-about-section input[type="number"],
.he-about-section input[type="text"] { background:#1a1a1a; color:#fff; border-color:#555; }
.he-about-section label.small { color:#ccc; }

/* Images + Attention To / Place Of Service */
.he-images-prefs-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
  margin-bottom:14px;
}
.he-images-col .he-image-field { margin-bottom:12px; }
.he-extra-images {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.he-prefs-col {
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:16px;
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:12px;
}
.he-pref-group { margin:0; }
.he-pref-label {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  font-weight:700;
  color:#333;
}
.he-pref-label i { color:#c2185b; width:18px; text-align:center; }
.he-pill-options {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.he-pill-option {
  position:relative;
  cursor:pointer;
  margin:0;
}
.he-pill-option input.he-pill-check {
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  min-width:0;
  max-width:none;
  pointer-events:none;
}
.he-pill-option span {
  display:inline-block;
  padding:8px 16px;
  border:1px solid #d1d5db;
  border-radius:999px;
  font-size:14px;
  font-weight:500;
  color:#374151;
  background:#fff;
  transition:all .2s ease;
  user-select:none;
}
.he-pill-option input:checked + span {
  background:linear-gradient(135deg,#1a1a2e 0%,#c2185b 100%);
  color:#fff;
  border-color:#c2185b;
  font-weight:600;
  box-shadow:0 4px 12px rgba(194,24,91,.25);
}
.he-pill-option:hover span {
  border-color:#c2185b;
}

.phone-wrap { display:flex; align-items:center; gap:6px; }
.phone-prefix { padding:12px 14px; background:#eee; border-radius:10px; font-weight:700; flex-shrink:0; color:#333; }
.phone-wrap input { flex:1; }
.desc-feedback { margin-top:6px; font-size:13px; font-weight:600; }
.desc-low { color:#d63031; }
.desc-good { color:#2ecc71; }
.desc-high { color:#e67e22; }
.desc-border-low { border:2px solid #d63031 !important; }
.desc-border-good { border:2px solid #2ecc71 !important; }
.desc-border-high { border:2px solid #e67e22 !important; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.label.small, label.small { font-size:13px; font-weight:600; display:block; margin-bottom:4px; color:#444; }
.he-warning { background:#fff3cd; padding:12px; border-radius:8px; color:#856404; }
.he-ads-table { width:100%; border-collapse:collapse; }
.he-ads-table th, .he-ads-table td { padding:10px; border-bottom:1px solid #eee; text-align:left; }
.edit-disabled { color:#999; cursor:not-allowed; }
@media(max-width:768px){ .dashboard{grid-template-columns:1fr;} .form-row,.post-ad-form .form-row{grid-template-columns:1fr;} .tag-grid{grid-template-columns:repeat(2,1fr);} .he-about-attrs{grid-template-columns:1fr 1fr;} .he-lang-row{grid-template-columns:36px 1fr;} .he-lang-levels{grid-column:1/-1; padding-left:36px;} .he-images-prefs-row{grid-template-columns:1fr;} }
@media(max-width:480px){ .tag-item{padding:6px 10px;font-size:12px;} .tag-grid{grid-template-columns:1fr;} .he-about-attrs{grid-template-columns:1fr;} .he-lang-levels{padding-left:0;} }

.coins-page .alert { background:#fee2e2; color:#991b1b; padding:12px 16px; border-radius:12px; margin-bottom:16px; text-align:center; font-size:14px; }
.coins-page .alert.success { background:#d1fae5; color:#065f46; }
.coins-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; margin-bottom:20px; }
.coins-title { margin:0 0 6px; font-size:26px; font-weight:800; color:#111; }
.coins-sub { margin:0; color:#666; font-size:14px; }
.coins-balance-card { background:linear-gradient(135deg,#1a1a2e,#c2185b); color:#fff; padding:16px 22px; border-radius:16px; min-width:180px; text-align:center; box-shadow:0 10px 30px rgba(194,24,91,.25); }
.coins-balance-label { display:block; font-size:12px; opacity:.8; margin-bottom:4px; }
.coins-balance-value { font-size:22px; }
.coins-info-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; background:#fff8e5; border:1px solid #f1c94b; border-radius:12px; padding:12px 16px; margin-bottom:22px; font-size:14px; font-weight:600; }
.coins-info-bar a { color:#92400e; text-decoration:none; }
.coins-section-title { font-size:18px; margin:0 0 14px; color:#222; }
.coin-packs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; margin-bottom:24px; }
.coin-pack { position:relative; display:flex; flex-direction:column; align-items:center; padding:22px 16px; background:#fff; border:2px solid #e5e7eb; border-radius:16px; cursor:pointer; transition:.2s; text-align:center; }
.coin-pack input { position:absolute; opacity:0; pointer-events:none; }
.coin-pack:hover, .coin-pack.selected { border-color:#c2185b; box-shadow:0 8px 24px rgba(194,24,91,.2); }
.coin-pack.is-popular { border-color:#c2185b; }
.pack-badge { position:absolute; top:-10px; right:12px; background:linear-gradient(135deg,#1a1a2e 0%,#c2185b 100%); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; }
.pack-label { font-size:13px; color:#666; font-weight:600; margin-bottom:8px; }
.pack-coins { font-size:32px; font-weight:800; color:#111; line-height:1; }
.pack-coins-text { font-size:12px; color:#888; margin-bottom:10px; }
.pack-price { font-size:20px; font-weight:700; color:#059669; }
.coins-payment-card { background:#fff; border-radius:16px; padding:22px; box-shadow:0 8px 24px rgba(0,0,0,.06); margin-bottom:24px; }
.coins-payment-card h3 { margin:0 0 16px; }
.payment-summary { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }
.payment-summary > div { background:#f9fafb; padding:14px; border-radius:12px; }
.payment-summary .muted { display:block; font-size:12px; color:#888; margin-bottom:4px; }
.pay-amount { color:#059669; font-size:22px; }
.upi-box { background:#f0fdf4; border:1px solid #86efac; border-radius:12px; padding:14px; margin-bottom:16px; }
.upi-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.upi-row strong { font-size:18px; color:#166534; }
.copy-btn { padding:6px 12px; border:1px solid #86efac; background:#fff; border-radius:8px; cursor:pointer; font-size:13px; font-weight:600; }
.upi-note { margin:0; font-size:13px; color:#166534; }
.coins-txn-form input[type=text] { width:100%; padding:12px; border-radius:10px; border:1px solid #e5e5e5; margin:8px 0 14px; background:#fafafa; }
.coins-steps { background:#fff; border-radius:16px; padding:20px; box-shadow:0 4px 16px rgba(0,0,0,.04); }
.coins-steps h3 { margin:0 0 10px; }
.coins-steps ol { margin:0; padding-left:20px; line-height:1.9; color:#444; }
.coins-back { margin-top:20px; font-size:14px; }
.coins-back a { color:#c2185b; text-decoration:none; }
.wallet-table-wrap { background:#fff; border-radius:14px; padding:12px; margin-bottom:24px; overflow-x:auto; box-shadow:0 4px 16px rgba(0,0,0,.04); }
.wallet-status { padding:4px 10px; border-radius:20px; font-size:12px; font-weight:700; }
.wallet-status.status-pending { background:#fef3c7; color:#92400e; }
.wallet-status.status-approved { background:#d1fae5; color:#065f46; }
.wallet-status.status-rejected { background:#fee2e2; color:#991b1b; }
.wallet-log { display:flex; flex-direction:column; gap:10px; }
.wallet-log-item { display:flex; align-items:center; gap:14px; background:#fff; padding:14px 16px; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.log-icon { font-size:20px; width:32px; text-align:center; }
.log-body { flex:1; }
.log-body strong { display:block; font-size:14px; }
.log-meta { font-size:12px; color:#888; }
.log-coins { font-weight:800; font-size:16px; color:#059669; }
.wallet-log-item.type-debit .log-coins { color:#dc2626; }
.wallet-log-item.type-pending .log-coins { color:#d97706; }

/* Notifications */
.he-notif-badge { display:inline-block; min-width:20px; padding:2px 7px; margin-left:6px; border-radius:999px; background:#dc2626; color:#fff; font-size:12px; font-weight:700; vertical-align:middle; }
.he-notifications-page .he-notif-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.he-notif-actions { display:flex; gap:10px; flex-wrap:wrap; }
.he-notif-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.he-notif-item { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:16px; }
.he-notif-item.is-unread { border-color:#f8bbd0; background:#fdf2f7; }
.he-notif-item-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; font-size:14px; }
.he-notif-preview { margin:0 0 12px; color:#475569; font-size:14px; }
.he-notif-view { display:inline-block; width:auto; }
.he-user-thread-messages { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.he-user-msg { border-radius:12px; padding:14px 16px; }
.he-user-msg-user { background:#f1f5f9; }
.he-user-msg-admin { background:#ecfdf5; border:1px solid #a7f3d0; }
.he-user-msg-label { display:flex; justify-content:space-between; font-size:13px; font-weight:700; margin-bottom:8px; color:#334155; }

.he-auth-country { margin: 18px 0 22px; }
.he-auth-country-label { margin: 0 0 10px; font-size: 13px; color: rgba(255,255,255,.72); text-align: center; }
.he-auth-country-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.he-auth-country-btn {
  display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: #fff;
  text-decoration: none; font-size: 13px; transition: border-color .2s, background .2s;
}
.he-auth-country-btn:hover,
.he-auth-country-btn.is-active { border-color: #e91e63; background: rgba(233,30,99,.12); }
.he-auth-country-flag { font-size: 18px; line-height: 1; }
.he-auth-country-name { font-weight: 600; }
@media (max-width: 480px) {
  .he-auth-country-grid { grid-template-columns: 1fr; }
}
.he-user-msg p { margin:0; line-height:1.6; }

@media(max-width:768px){ .coins-header{flex-direction:column;} .payment-summary{grid-template-columns:1fr;} .coin-packs-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .coin-packs-grid{grid-template-columns:1fr;} }
