/* =============================================================
   HerCounsel Directory – Public Styles  v1.2
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --hcd-primary:       #7c4daa;
  --hcd-primary-dark:  #5c3280;
  --hcd-primary-light: #f3ecfb;
  --hcd-pink:          #8b3a62;
  --hcd-pink-dark:     #6e2d4e;
  --hcd-pink-light:    #fdf0f5;
  --hcd-accent:        #e8a0b4;
  --hcd-text:          #1a1a2e;
  --hcd-text-light:    #6b7280;
  --hcd-border:        #e5e7eb;
  --hcd-white:         #ffffff;
  --hcd-bg:            #faf9fc;
  --hcd-success:       #16a34a;
  --hcd-error:         #dc2626;
  --hcd-warning:       #d97706;
  --hcd-radius:        12px;
  --hcd-shadow:        0 2px 16px rgba(124,77,170,.10);
  --hcd-shadow-hover:  0 6px 32px rgba(124,77,170,.18);
  --hcd-font:          'DM Sans', sans-serif;
  --hcd-font-heading:  'Playfair Display', serif;
}

/* ── BASE ── */
.hcd-search-widget,
.hcd-results-wrapper,
.hcd-register-wrap,
.hcd-portal-wrap,
.hcd-profile-detail,
.hcd-login-wrap,
.hcd-dashboard-wrap {
  font-family: var(--hcd-font);
  color: var(--hcd-text);
  box-sizing: border-box;
}
*, *::before, *::after { box-sizing: inherit; }

/* ── SEARCH WIDGET ── */
.hcd-search-widget { padding: 32px; background: var(--hcd-white); border-radius: var(--hcd-radius); box-shadow: var(--hcd-shadow); }
.hcd-search-title { font-family: var(--hcd-font-heading); font-size: 1.9rem; color: var(--hcd-primary); margin: 0 0 20px; }
.hcd-search-bar { display: flex; background: var(--hcd-white); border: 2px solid var(--hcd-primary); border-radius: 50px; overflow: hidden; box-shadow: var(--hcd-shadow); }
.hcd-search-type-wrap { position: relative; border-right: 1.5px solid var(--hcd-border); }
.hcd-search-type-wrap .hcd-select { appearance: none; border: none; outline: none; padding: 14px 40px 14px 20px; font-family: var(--hcd-font); font-size: .95rem; font-weight: 500; background: transparent; color: var(--hcd-text); cursor: pointer; min-width: 180px; }
.hcd-select-arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--hcd-primary); font-size: .7rem; pointer-events: none; }
.hcd-zip-input { flex: 1; border: none; outline: none; padding: 14px 20px; font-family: var(--hcd-font); font-size: .95rem; background: transparent; }
.hcd-search-submit { border-radius: 0 50px 50px 0 !important; display: flex; align-items: center; gap: 8px; padding: 14px 28px !important; }
@media (max-width: 600px) {
  .hcd-search-bar { flex-direction: column; border-radius: var(--hcd-radius); }
  .hcd-search-type-wrap { border-right: none; border-bottom: 1.5px solid var(--hcd-border); }
  .hcd-search-submit { border-radius: 0 0 var(--hcd-radius) var(--hcd-radius) !important; justify-content: center; }
}

/* ── BUTTONS ── */
.hcd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 22px; border-radius: 50px; font-family: var(--hcd-font); font-size: .9rem; font-weight: 600; cursor: pointer; border: 2px solid transparent; transition: all .2s ease; text-decoration: none !important; line-height: 1.4; }
.hcd-btn-primary { background: var(--hcd-primary); color: var(--hcd-white) !important; border-color: var(--hcd-primary); }
.hcd-btn-primary:hover { background: var(--hcd-primary-dark); border-color: var(--hcd-primary-dark); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(124,77,170,.3); }
.hcd-btn-outline { background: transparent; color: var(--hcd-primary) !important; border-color: var(--hcd-primary); }
.hcd-btn-outline:hover { background: var(--hcd-primary-light); }
.hcd-btn-ghost { background: transparent; border: 1.5px solid var(--hcd-border); color: var(--hcd-text-light) !important; }
.hcd-btn-ghost:hover { border-color: var(--hcd-primary); color: var(--hcd-primary) !important; }
.hcd-btn-danger { background: #dc2626 !important; border-color: #dc2626 !important; color: #fff !important; }
.hcd-btn-danger:hover { background: #b91c1c !important; border-color: #b91c1c !important; }
.hcd-btn-large { padding: 14px 36px; font-size: 1rem; }
.hcd-btn-sm { padding: 7px 16px !important; font-size: .82rem !important; }
.hcd-btn-full { width: 100%; }
.hcd-full-width { width: 100%; }

/* ── RESULTS PAGE ── */
.hcd-results-wrapper { padding: 0; }
.hcd-results-header { margin-bottom: 24px; }
.hcd-results-title { font-family: var(--hcd-font-heading); font-size: 1.8rem; color: var(--hcd-text); margin: 0 0 16px; }
.hcd-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; }
.hcd-filter-btn { background: var(--hcd-white); border: 1.5px solid var(--hcd-border); color: var(--hcd-text-light); padding: 8px 18px; border-radius: 50px; font-family: var(--hcd-font); font-size: .88rem; font-weight: 500; cursor: pointer; transition: all .18s; }
.hcd-filter-btn:hover, .hcd-filter-btn.active { background: var(--hcd-primary); border-color: var(--hcd-primary); color: var(--hcd-white); }
.hcd-all-filters-btn { margin-left: auto; }
.hcd-results-list { display: flex; flex-direction: column; gap: 16px; min-height: 200px; }
.hcd-results-list.hcd-loading { display: flex; align-items: center; justify-content: center; }

/* ── PROFESSIONAL CARD ── */
.hcd-pro-card { background: var(--hcd-white); border-radius: var(--hcd-radius); box-shadow: var(--hcd-shadow); display: flex; gap: 20px; padding: 24px; transition: box-shadow .2s, transform .2s; border: 1.5px solid transparent; }
.hcd-pro-card:hover { box-shadow: var(--hcd-shadow-hover); border-color: var(--hcd-primary-light); transform: translateY(-2px); }
.hcd-card-photo-wrap { flex-shrink: 0; }
.hcd-card-photo { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 3px solid var(--hcd-primary-light); }
.hcd-photo-placeholder { width: 100px; height: 100px; border-radius: 50%; background: var(--hcd-primary-light); display: flex; align-items: center; justify-content: center; }
.hcd-photo-placeholder span { font-size: 1.6rem; font-weight: 700; color: var(--hcd-primary); font-family: var(--hcd-font-heading); }
.hcd-card-body { flex: 1; min-width: 0; }
.hcd-pro-name { font-family: var(--hcd-font-heading); font-size: 1.2rem; margin: 0 0 4px; color: var(--hcd-primary); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hcd-verified-badge { background: var(--hcd-primary); color: white; border-radius: 50%; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; }
.hcd-pro-type { color: var(--hcd-text-light); font-size: .88rem; margin: 0 0 4px; }
.hcd-pro-location { color: var(--hcd-text-light); font-size: .85rem; margin: 0 0 8px; display: flex; align-items: center; gap: 4px; }
.hcd-avail-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.hcd-avail-badge { font-size: .75rem; padding: 3px 10px; border-radius: 50px; font-weight: 500; }
.hcd-in-person { background: #e0f2fe; color: #0369a1; }
.hcd-online { background: #d1fae5; color: #065f46; }
.hcd-card-bio { font-size: .9rem; color: var(--hcd-text-light); margin: 0; line-height: 1.6; }
.hcd-card-actions { display: flex; flex-direction: column; gap: 8px; justify-content: center; flex-shrink: 0; min-width: 140px; }
@media (max-width: 700px) {
  .hcd-pro-card { flex-direction: column; }
  .hcd-card-actions { flex-direction: row; flex-wrap: wrap; }
}

/* ── PROFILE DETAIL ── */
.hcd-profile-detail { font-family: var(--hcd-font); }
.hcd-profile-header { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1.5px solid var(--hcd-border); }
.hcd-profile-photo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid var(--hcd-primary-light); }
.hcd-photo-placeholder-lg { width: 120px; height: 120px; border-radius: 50%; background: var(--hcd-primary-light); display: flex; align-items: center; justify-content: center; }
.hcd-photo-placeholder-lg span { font-size: 2.2rem; font-weight: 700; color: var(--hcd-primary); }
.hcd-profile-name { font-family: var(--hcd-font-heading); font-size: 1.7rem; margin: 0 0 6px; color: var(--hcd-text); }
.hcd-verified-badge-lg { font-size: .8rem; background: var(--hcd-primary); color: white; padding: 3px 10px; border-radius: 50px; font-family: var(--hcd-font); font-weight: 500; }
.hcd-profile-type { color: var(--hcd-primary); font-weight: 600; margin: 0 0 4px; }
.hcd-profile-location { color: var(--hcd-text-light); margin: 0; font-size: .9rem; }
.hcd-profile-cols { display: grid; grid-template-columns: 1fr 300px; gap: 28px; }
@media (max-width: 680px) { .hcd-profile-cols { grid-template-columns: 1fr; } .hcd-profile-header { flex-direction: column; } }
.hcd-profile-section { margin-bottom: 24px; }
.hcd-profile-section h3 { font-family: var(--hcd-font-heading); font-size: 1.1rem; color: var(--hcd-text); margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--hcd-primary-light); }
.hcd-profile-bio { font-size: .95rem; line-height: 1.75; color: var(--hcd-text); }
.hcd-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hcd-tag { background: var(--hcd-primary-light); color: var(--hcd-primary); padding: 5px 14px; border-radius: 50px; font-size: .82rem; font-weight: 500; }
.hcd-sidebar-box { background: var(--hcd-bg); border: 1.5px solid var(--hcd-border); border-radius: var(--hcd-radius); padding: 20px; margin-bottom: 16px; }
.hcd-sidebar-box h3 { font-family: var(--hcd-font-heading); font-size: 1rem; margin: 0 0 14px; color: var(--hcd-text); }
.hcd-phone-link { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; font-weight: 600; color: var(--hcd-primary) !important; text-decoration: none !important; margin-bottom: 12px; }
.hcd-detail-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.hcd-detail-list li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: var(--hcd-text); }
.hcd-detail-icon { color: var(--hcd-primary); font-size: .8rem; margin-top: 2px; flex-shrink: 0; }

/* ── MODAL ── */
.hcd-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: flex-start; justify-content: center; padding: 20px; }
.hcd-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); }
.hcd-modal-content { position: relative; background: var(--hcd-white); border-radius: 16px; width: 100%; max-width: 860px; max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.25); z-index: 1; margin-top: 20px; }
.hcd-modal-close { position: sticky; top: 16px; float: right; margin: 16px 16px 0 0; background: var(--hcd-bg); border: 1.5px solid var(--hcd-border); border-radius: 50%; width: 36px; height: 36px; font-size: 1.3rem; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; transition: background .2s; }
.hcd-modal-close:hover { background: var(--hcd-primary-light); }
.hcd-modal-body { padding: 28px; clear: both; }

/* ── FORMS (Register / Portal) ── */
.hcd-form { max-width: 800px; }
.hcd-register-wrap, .hcd-portal-wrap { max-width: 860px; margin: 0 auto; }
.hcd-register-header, .hcd-portal-header { margin-bottom: 32px; }
.hcd-register-header h2, .hcd-portal-header h2 { font-family: var(--hcd-font-heading); font-size: 2rem; color: var(--hcd-primary); margin: 0 0 8px; }
.hcd-register-header p, .hcd-portal-header p { color: var(--hcd-text-light); margin: 0; }
.hcd-form-section { background: var(--hcd-white); border: 1.5px solid var(--hcd-border); border-radius: var(--hcd-radius); padding: 28px; margin-bottom: 24px; }
.hcd-form-section h3 { font-family: var(--hcd-font-heading); font-size: 1.2rem; color: var(--hcd-primary); margin: 0 0 20px; padding-bottom: 10px; border-bottom: 2px solid var(--hcd-primary-light); }
.hcd-form-row { margin-bottom: 18px; }
.hcd-col-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.hcd-col-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; }
@media (max-width: 600px) { .hcd-col-2, .hcd-col-3 { grid-template-columns: 1fr; } }
.hcd-form-group { display: flex; flex-direction: column; gap: 6px; }
.hcd-form-group label { font-size: .88rem; font-weight: 600; color: var(--hcd-text); }
.hcd-form-group label .req { color: var(--hcd-error); }
.hcd-input, .hcd-textarea, .hcd-form .hcd-select { width: 100%; padding: 11px 16px; border: 1.5px solid var(--hcd-border); border-radius: 8px; font-family: var(--hcd-font); font-size: .93rem; color: var(--hcd-text); background: var(--hcd-white); transition: border-color .2s, box-shadow .2s; }
.hcd-input:focus, .hcd-textarea:focus, .hcd-form .hcd-select:focus { outline: none; border-color: var(--hcd-primary); box-shadow: 0 0 0 3px rgba(124,77,170,.12); }
.hcd-textarea { resize: vertical; min-height: 120px; }
.hcd-select-wrap { position: relative; }
.hcd-select-wrap .hcd-select { appearance: none; padding-right: 36px; }
.hcd-select-wrap .hcd-select-arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--hcd-primary); font-size: .7rem; }
.hcd-input-file { padding: 8px; font-size: .88rem; }
.hcd-form-group small, .hcd-field-hint { font-size: .8rem; color: var(--hcd-text-light); }
.hcd-radio-group { display: flex; flex-wrap: wrap; gap: 12px; }
.hcd-radio-label { display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 10px 18px; border: 1.5px solid var(--hcd-border); border-radius: 8px; transition: all .18s; }
.hcd-radio-label:has(input:checked) { border-color: var(--hcd-primary); background: var(--hcd-primary-light); }
.hcd-radio-label input { accent-color: var(--hcd-primary); }
.hcd-checkbox-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 8px; }
.hcd-checkbox-grid.hcd-col-4 { grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); }
.hcd-checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 7px 12px; border-radius: 6px; font-size: .88rem; transition: background .15s; }
.hcd-checkbox-label:hover { background: var(--hcd-primary-light); }
.hcd-checkbox-label input { accent-color: var(--hcd-primary); }
.hcd-insurance-check { margin-top: 28px; font-size: .93rem; }
.hcd-photo-preview { margin-top: 8px; }
.hcd-photo-preview img, .hcd-portal-photo-preview { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 2px solid var(--hcd-primary-light); }
.hcd-current-photo { margin-bottom: 12px; }
.hcd-form-submit { margin-top: 8px; }
.hcd-form-note { font-size: .83rem; color: var(--hcd-text-light); margin-top: 12px; }

/* ── NOTICES ── */
.hcd-notice { padding: 14px 20px; border-radius: 10px; margin-bottom: 20px; font-size: .92rem; font-weight: 500; display: flex; align-items: flex-start; gap: 10px; }
.hcd-notice-success { background: #dcfce7; color: #166534; border-left: 4px solid var(--hcd-success); }
.hcd-notice-error   { background: #fee2e2; color: #991b1b; border-left: 4px solid var(--hcd-error); }
.hcd-notice-warning { background: #fef3c7; color: #92400e; border-left: 4px solid var(--hcd-warning); }
.hcd-notice-info    { background: var(--hcd-primary-light); color: var(--hcd-primary-dark); border-left: 4px solid var(--hcd-primary); }

/* ── NO RESULTS / LOAD MORE / SPINNER ── */
.hcd-no-results { text-align: center; padding: 48px 20px; color: var(--hcd-text-light); background: var(--hcd-white); border-radius: var(--hcd-radius); border: 1.5px dashed var(--hcd-border); }
.hcd-load-more-wrap { text-align: center; margin-top: 24px; }
.hcd-spinner { width: 36px; height: 36px; border: 3px solid var(--hcd-primary-light); border-top-color: var(--hcd-primary); border-radius: 50%; animation: hcd-spin .7s linear infinite; margin: 40px auto; }
@keyframes hcd-spin { to { transform: rotate(360deg); } }


/* =============================================================
   AUTH — Login / Register  (Modern, Mobile-First)
   ============================================================= */

.hcd-login-wrap {
  max-width: 480px;
  margin: 0 auto;
  font-family: var(--hcd-font);
}

/* Card shell */
.hcd-auth-card {
  background: var(--hcd-white);
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(124,77,170,.14);
  overflow: hidden;
}

/* Branded top bar */
.hcd-auth-brand {
  background: linear-gradient(135deg, var(--hcd-primary) 0%, var(--hcd-pink) 100%);
  padding: 32px 36px 28px;
  text-align: center;
}
.hcd-auth-brand-logo {
  width: 52px; height: 52px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
  font-size: 1.6rem;
}
.hcd-auth-brand h2 {
  color: #fff;
  font-family: var(--hcd-font-heading);
  font-size: 1.5rem;
  margin: 0 0 4px;
  font-weight: 700;
}
.hcd-auth-brand p {
  color: rgba(255,255,255,.82);
  font-size: .85rem;
  margin: 0;
}

/* Tab switcher */
.hcd-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #f7f0fb;
  border-bottom: 2px solid var(--hcd-border);
}
.hcd-auth-tab {
  padding: 15px 10px;
  background: none;
  border: none;
  font-family: var(--hcd-font);
  font-size: .92rem;
  font-weight: 600;
  color: var(--hcd-text-light);
  cursor: pointer;
  transition: all .2s;
  position: relative;
}
.hcd-auth-tab::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 2px;
  background: var(--hcd-primary);
  transform: scaleX(0);
  transition: transform .2s;
}
.hcd-auth-tab.active {
  color: var(--hcd-primary);
  background: var(--hcd-white);
}
.hcd-auth-tab.active::after { transform: scaleX(1); }

/* Panel body */
.hcd-auth-panel { padding: 28px 32px 32px; }
.hcd-auth-note { color: var(--hcd-text-light); font-size: .88rem; margin: 0 0 22px; line-height: 1.6; }

/* Input groups */
.hcd-auth-panel .hcd-form-group {
  margin-bottom: 18px;
}
.hcd-auth-panel .hcd-form-group label {
  display: block;
  font-size: .83rem;
  font-weight: 600;
  color: var(--hcd-text);
  margin-bottom: 6px;
  letter-spacing: .2px;
}
.hcd-auth-panel .hcd-input {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--hcd-border);
  border-radius: 10px;
  font-family: var(--hcd-font);
  font-size: .95rem;
  color: var(--hcd-text);
  background: #fafafa;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.hcd-auth-panel .hcd-input:focus {
  outline: none;
  border-color: var(--hcd-primary);
  background: var(--hcd-white);
  box-shadow: 0 0 0 4px rgba(124,77,170,.10);
}

/* Password wrapper */
.hcd-password-wrap { position: relative; }
.hcd-password-wrap .hcd-input { padding-right: 48px; }
.hcd-show-password {
  position: absolute;
  right: 14px; top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: var(--hcd-text-light);
  line-height: 1;
  padding: 4px;
  transition: color .2s;
}
.hcd-show-password:hover { color: var(--hcd-primary); }

/* Password strength bar */
.hcd-pw-strength { margin-top: 8px; height: 3px; border-radius: 2px; background: var(--hcd-border); overflow: hidden; }
.hcd-pw-strength-bar { height: 100%; border-radius: 2px; transition: width .3s, background .3s; width: 0; }

/* Remember / Forgot row */
.hcd-remember-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.hcd-remember-row .hcd-checkbox-label {
  font-size: .85rem;
  padding: 0;
  color: var(--hcd-text-light);
  gap: 7px;
}
.hcd-forgot-link {
  font-size: .83rem;
  color: var(--hcd-primary);
  text-decoration: none;
  font-weight: 500;
}
.hcd-forgot-link:hover { text-decoration: underline; }

/* Submit button */
.hcd-auth-panel .hcd-btn-primary {
  width: 100%;
  padding: 14px;
  font-size: 1rem;
  border-radius: 12px;
  letter-spacing: .2px;
}
.hcd-auth-panel .hcd-btn-primary:disabled { opacity: .7; cursor: not-allowed; transform: none; box-shadow: none; }

/* Field hint */
.hcd-field-hint { font-size: .78rem; color: var(--hcd-text-light); margin-top: 5px; display: block; }

/* Already logged in */
.hcd-already-logged-in {
  padding: 44px 32px;
  text-align: center;
}
.hcd-logged-in-icon {
  width: 72px; height: 72px;
  background: linear-gradient(135deg, var(--hcd-primary), var(--hcd-pink));
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
  margin: 0 auto 18px;
  box-shadow: 0 4px 20px rgba(124,77,170,.3);
}
.hcd-already-logged-in h3 {
  color: var(--hcd-text);
  font-family: var(--hcd-font-heading);
  font-size: 1.3rem;
  margin: 0 0 6px;
}
.hcd-already-logged-in p {
  color: var(--hcd-text-light);
  font-size: .9rem;
  margin: 0 0 24px;
}
.hcd-logged-in-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* Mobile tweaks */
@media (max-width: 480px) {
  .hcd-auth-brand { padding: 24px 20px 22px; }
  .hcd-auth-panel { padding: 22px 20px 28px; }
  .hcd-already-logged-in { padding: 32px 20px; }
  .hcd-auth-card { border-radius: 16px; }
  .hcd-remember-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}


/* =============================================================
   DASHBOARD — Modern, Mobile-First
   ============================================================= */

.hcd-dashboard-wrap {
  max-width: 820px;
  margin: 0 auto;
  font-family: var(--hcd-font);
  padding-bottom: 40px;
}

/* ── Header hero card ── */
.hcd-dashboard-header {
  background: linear-gradient(135deg, var(--hcd-primary) 0%, var(--hcd-pink) 60%, #c06b93 100%);
  border-radius: 20px;
  padding: 30px 28px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  overflow: hidden;
}
.hcd-dashboard-header::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 160px; height: 160px;
  background: rgba(255,255,255,.06);
  border-radius: 50%;
  pointer-events: none;
}
.hcd-dashboard-header::after {
  content: '';
  position: absolute;
  bottom: -50px; left: 40%;
  width: 200px; height: 200px;
  background: rgba(255,255,255,.04);
  border-radius: 50%;
  pointer-events: none;
}

/* Avatar */
.hcd-dashboard-avatar { flex-shrink: 0; position: relative; z-index: 1; }
.hcd-dashboard-avatar img,
.hcd-avatar-initials {
  width: 72px; height: 72px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.5);
  object-fit: cover;
  display: flex; align-items: center; justify-content: center;
}
.hcd-avatar-initials {
  background: rgba(255,255,255,.22);
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--hcd-font-heading);
}

/* Welcome text */
.hcd-dashboard-welcome { flex: 1; z-index: 1; min-width: 0; }
.hcd-dashboard-welcome h2 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 1.3rem;
  font-family: var(--hcd-font-heading);
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hcd-dashboard-email {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .83rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Logout button in header */
.hcd-dashboard-logout { flex-shrink: 0; z-index: 1; }
.hcd-dash-logout-btn {
  background: rgba(255,255,255,.15);
  border: 1.5px solid rgba(255,255,255,.35);
  color: #fff !important;
  border-radius: 50px;
  padding: 8px 18px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--hcd-font);
  transition: background .2s;
  white-space: nowrap;
}
.hcd-dash-logout-btn:hover { background: rgba(255,255,255,.28); }

/* ── Status card ── */
.hcd-dashboard-status-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  border-radius: 14px;
  margin-bottom: 20px;
  border: 1.5px solid;
}
.hcd-status-approved  { background: #f0faf4; border-color: #4caf50; }
.hcd-status-pending   { background: #fff8e1; border-color: #ff9800; }
.hcd-status-rejected  { background: #fef0f0; border-color: #ef5350; }
.hcd-status-suspended { background: #f5f5f5; border-color: #9e9e9e; }

.hcd-status-icon-wrap {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}
.hcd-status-approved  .hcd-status-icon-wrap { background: #dcfce7; }
.hcd-status-pending   .hcd-status-icon-wrap { background: #fef3c7; }
.hcd-status-rejected  .hcd-status-icon-wrap { background: #fee2e2; }
.hcd-status-suspended .hcd-status-icon-wrap { background: #f0f0f0; }

.hcd-status-info { flex: 1; min-width: 0; }
.hcd-status-info strong { font-size: .95rem; font-weight: 700; display: block; margin-bottom: 2px; }
.hcd-status-info p { margin: 0; font-size: .82rem; color: var(--hcd-text-light); }
.hcd-status-approved .hcd-status-info strong  { color: #166534; }
.hcd-status-pending  .hcd-status-info strong  { color: #92400e; }
.hcd-status-rejected .hcd-status-info strong  { color: #991b1b; }

/* ── Section cards ── */
.hcd-dashboard-section {
  background: var(--hcd-white);
  border-radius: 16px;
  border: 1.5px solid #ede0e9;
  padding: 22px 24px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(139,58,98,.05);
}
.hcd-dashboard-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 10px;
}
.hcd-dashboard-section-header h3 {
  margin: 0;
  color: var(--hcd-pink);
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--hcd-font-heading);
  display: flex; align-items: center; gap: 8px;
}
.hcd-section-icon {
  width: 32px; height: 32px;
  background: var(--hcd-pink-light);
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1rem;
}

/* Profile summary grid */
.hcd-profile-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
  gap: 14px;
}
.hcd-ps-item {
  background: var(--hcd-bg);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.hcd-ps-label {
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: var(--hcd-text-light);
  font-weight: 600;
}
.hcd-ps-value { font-size: .9rem; color: var(--hcd-text); font-weight: 500; }
.hcd-ps-value.hcd-verified-badge-text { color: #16a34a; font-weight: 600; }

/* No profile state */
.hcd-no-profile {
  text-align: center;
  padding: 36px 20px;
}
.hcd-no-profile-icon {
  width: 72px; height: 72px;
  background: var(--hcd-primary-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
  margin: 0 auto 16px;
}
.hcd-no-profile h3 {
  color: var(--hcd-primary);
  font-family: var(--hcd-font-heading);
  font-size: 1.2rem;
  margin: 0 0 8px;
}
.hcd-no-profile p { color: var(--hcd-text-light); font-size: .9rem; margin: 0 0 22px; max-width: 360px; margin-left: auto; margin-right: auto; }

/* Account actions */
.hcd-account-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Delete confirm box */
.hcd-delete-confirm-box {
  background: #fff8f8;
  border: 1.5px solid #fecaca;
  border-radius: 10px;
  padding: 18px 20px;
  margin-top: 16px;
}
.hcd-delete-confirm-box p { color: #991b1b; margin: 0 0 14px; font-size: .9rem; line-height: 1.5; }
.hcd-delete-confirm-box-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Mobile dashboard */
@media (max-width: 540px) {
  .hcd-dashboard-header { padding: 22px 18px; gap: 14px; border-radius: 16px; }
  .hcd-dashboard-welcome h2 { font-size: 1.1rem; }
  .hcd-dashboard-section { padding: 18px 16px; }
  .hcd-profile-summary-grid { grid-template-columns: 1fr 1fr; }
  .hcd-dashboard-status-card { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 380px) {
  .hcd-profile-summary-grid { grid-template-columns: 1fr; }
  .hcd-dashboard-logout { display: none; }
}
