:root {
  --ld-primary: #0F6E68;
  --ld-primary-dark: #0B5450;
  --ld-bg: #F5F6F8;
  --ld-border: #E4E8EC;
  --ld-text: #1B222C;
  --ld-text-muted: #6B7280;
  --ld-amber: #B8860B;
  --ld-amber-bg: #FBF3DC;
  --ld-red: #B3261E;
  --ld-red-bg: #FDECEC;
  --ld-green: #2A6B31;
  --ld-green-bg: #EAF5EC;
}

body {
  background: var(--ld-bg);
  color: var(--ld-text);
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
}

.ld-nav {
  background: #fff;
  border-bottom: 1px solid var(--ld-border);
}
.ld-brand { font-weight: 700; color: var(--ld-primary) !important; display: flex; align-items: center; gap: 8px; }
.ld-logo {
  width: 32px; height: 32px; border-radius: 8px; background: linear-gradient(135deg, var(--ld-primary), var(--ld-primary-dark));
  color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700;
}
.navbar-nav .nav-link { color: var(--ld-text); font-weight: 500; }
.navbar-nav .nav-link.active { color: var(--ld-primary); }

.ld-role-badge { font-size: 10px; font-weight: 700; letter-spacing: 0.4px; padding: 4px 8px; text-transform: uppercase; }
.ld-role-admin { background: var(--ld-amber-bg); color: #8A6B0C; }
.ld-role-employee { background: #EAF3F2; color: var(--ld-primary); }

.ld-avatar-sm { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.ld-avatar-fallback { background: var(--ld-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }

.ld-alert { border-radius: 10px; border: none; }

/* Auth pages */
.ld-auth-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.ld-auth-card { background: #fff; border: 1px solid var(--ld-border); border-radius: 14px; padding: 32px 28px; max-width: 380px; width: 100%; }

/* Buttons */
.btn-ld-primary { background: var(--ld-primary); border-color: var(--ld-primary); color: #fff; }
.btn-ld-primary:hover { background: var(--ld-primary-dark); border-color: var(--ld-primary-dark); color: #fff; }

/* Metric cards */
.ld-metric-card { background: #fff; border: 1px solid var(--ld-border); border-radius: 12px; padding: 16px 18px; }
.ld-metric-value { font-size: 26px; font-weight: 700; }
.ld-metric-label { font-size: 12.5px; color: var(--ld-text-muted); }

/* Priority rings */
.ld-ring { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ld-ring-inner { width: 42px; height: 42px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }

/* Lead cards */
.ld-card { background: #fff; border: 1px solid var(--ld-border); border-radius: 12px; padding: 16px; height: 100%; display: flex; flex-direction: column; }
.ld-card-title { font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.ld-card-sub { font-size: 12px; color: var(--ld-text-muted); margin-bottom: 8px; }
.ld-score-badge { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.badge-priority-high { background: var(--ld-amber-bg); color: #8A6B0C; }
.badge-priority-medium { background: var(--ld-green-bg); color: var(--ld-green); }
.badge-priority-low { background: #F1EFE8; color: #5F5E5A; }
.badge-priority-none { background: #F1EFE8; color: #9CA3AF; }

.ld-card-social { display: flex; gap: 8px; align-items: center; color: var(--ld-text-muted); font-size: 15px; }
.ld-card-social a { color: var(--ld-primary); }
.ld-card-social .muted-icon { color: #C7CDD6; }

.ld-card-actions { display: flex; gap: 4px; border-top: 1px solid var(--ld-border); padding-top: 10px; margin-top: 12px; }
.ld-card-actions > * { flex: 1 1 0; min-width: 0; }
.ld-modal-actions > * { flex: 1 1 0 !important; min-width: 0; }
.ld-icon-btn { width: 100%; border: 1px solid var(--ld-border); background: #fff; border-radius: 8px; padding: 6px 0; font-size: 14px; color: var(--ld-text-muted); }
.ld-icon-btn:hover { background: #F7F8FA; }
.ld-icon-btn.active-star { background: var(--ld-amber-bg); color: #8A6B0C; border-color: #E6C878; }
.ld-icon-btn.active-dislike { background: var(--ld-red-bg); color: var(--ld-red); border-color: #F0C9C6; }

/* Stamp buttons (used in full view too) */
.ld-stamp { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 5px 10px; font-size: 10.5px; font-weight: 800; letter-spacing: 0.4px; border: 1.5px solid var(--ld-border); background: #F7F8FA; color: #9CA3AF; }
.ld-stamp.active-valid { background: var(--ld-amber-bg); border-color: #D4A017; color: #8A6B0C; }
.ld-stamp.active-invalid { background: var(--ld-red-bg); border-color: #C1443C; color: #9A2E28; }

/* Full view modal */
.ld-modal-overlay { position: fixed; inset: 0; background: rgba(20,24,30,0.5); display: none; align-items: center; justify-content: center; z-index: 1050; padding: 20px; }
.ld-modal-overlay.open { display: flex; }
.ld-modal { background: #fff; border-radius: 14px; max-width: 480px; width: 100%; max-height: 88vh; overflow-y: auto; padding: 22px 24px; }

.ld-field-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid #F0F0F0; font-size: 13px; }
.ld-field-row:last-child { border-bottom: none; }
.ld-field-label { color: var(--ld-text-muted); }
.ld-copy-btn { background: none; border: none; color: var(--ld-text-muted); }
.ld-copy-btn:hover { color: var(--ld-primary); }

/* Team chips */
.ld-chip { display: inline-flex; align-items: center; gap: 6px; background: #EAF3F2; color: var(--ld-primary); border-radius: 999px; padding: 4px 6px 4px 12px; font-size: 12.5px; font-weight: 600; }
.ld-chip-admin { background: var(--ld-amber-bg); color: #8A6B0C; }
.ld-chip-remove { background: rgba(15,110,104,0.12); border: none; border-radius: 50%; width: 18px; height: 18px; font-size: 10px; color: var(--ld-primary); }

.ld-empty-state { text-align: center; padding: 60px 24px; background: #fff; border: 1px dashed #D6DBE1; border-radius: 12px; color: var(--ld-text-muted); }

.ld-locked-assign { display: flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--ld-text-muted); }

@media (max-width: 576px) {
  .ld-auth-card { padding: 24px 18px; }
}
