/* ===========================================================
   Remote Business Partner Recruitment — shared custom styles
   =========================================================== */

:root {
  --rbp-navy: #0b1f3a;
  --rbp-navy-light: #12315c;
  --rbp-teal: #0fb5ae;
  --rbp-gold: #f2b134;
  --rbp-bg: #f6f8fb;
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background-color: var(--rbp-bg); }
.font-display { font-family: 'Poppins', 'Inter', sans-serif; }
.hero-gradient { background: radial-gradient(circle at 20% 20%, #12315c 0%, #0b1f3a 55%, #071429 100%); }
.fade-in-up { animation: fadeInUp 0.6s ease both; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.vacancy-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.vacancy-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px -8px rgba(11, 31, 58, 0.25); }
.badge { display: inline-flex; align-items: center; padding: 0.2rem 0.65rem; border-radius: 999px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.badge-open { background: #e6f9f2; color: #0a8a5f; }
.badge-closed { background: #fdeceb; color: #c0392b; }
.badge-draft { background: #f1f2f6; color: #636e72; }
.badge-new { background: #e8f0fe; color: #1a56db; }
.badge-review { background: #fff4de; color: #b45309; }
.badge-shortlisted { background: #eafaf1; color: #0a8a5f; }
.badge-interview { background: #f3e8ff; color: #7c3aed; }
.badge-offer { background: #e6fbfa; color: #0f766e; }
.badge-accepted { background: #dcfce7; color: #15803d; }
.badge-rejected { background: #fee2e2; color: #b91c1c; }
.badge-withdrawn { background: #f1f2f6; color: #636e72; }
.admin-scroll::-webkit-scrollbar { height: 8px; width: 8px; }
.admin-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.spinner { border: 3px solid rgba(15, 181, 174, 0.2); border-top-color: var(--rbp-teal); border-radius: 50%; width: 32px; height: 32px; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.toast { position: fixed; bottom: 24px; right: 24px; z-index: 9999; min-width: 260px; max-width: 360px; padding: 14px 18px; border-radius: 10px; color: #fff; font-size: 0.9rem; box-shadow: 0 10px 24px -8px rgba(0,0,0,0.35); animation: toastIn 0.25s ease both; }
@keyframes toastIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.toast-success { background: #0a8a5f; }
.toast-error { background: #c0392b; }
.toast-info { background: var(--rbp-navy-light); }
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; left: 0; bottom: -4px; width: 0; height: 2px; background: var(--rbp-teal); transition: width 0.2s ease; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.rich-content p { margin-bottom: 0.75rem; }
.rich-content ul { list-style: disc; padding-left: 1.4rem; margin-bottom: 0.75rem; }
.rich-content li { margin-bottom: 0.35rem; }
textarea { resize: vertical; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--rbp-teal); outline-offset: 2px; }
