/*
Theme Name:  Impex Infotech
Theme URI:   https://impexinfotech.com
Description: Complete applicant tracking system — Applicant, Client, and Admin portals built as a WordPress theme.
Author:      Impex - Yash
Version:     1.0.0
License:     Proprietary
Text Domain: impexinfotech
*/

/* ================================================================
   Office Pros – Global Styles
   Brand: Inter, Navy #1E3A8A | Admin: Slate #0F172A + Indigo #6366F1
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --primary:   #1E3A8A;
  --accent:    #2563EB;
  --accent-h:  #1D4ED8;
  --bg:        #F8FAFC;
  --card:      #FFFFFF;
  --text:      #111827;
  --text-2:    #6B7280;
  --border:    #E5E7EB;
  --green:     #16A34A;
  --amber:     #F59E0B;
  --red:       #DC2626;
  --sidebar-w: 240px;
  --radius:    8px;
  --card-r:    12px;
  --shadow:    0 4px 12px rgba(0,0,0,.06);
  --shadow-md: 0 8px 24px rgba(0,0,0,.10);
  --topbar-h:  64px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; }
body {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg); color:var(--text);
  line-height:1.5; font-size:15px; min-height:100vh;
}
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-h); }
img { max-width:100%; display:block; }

/* ── Utility ── */
.hidden { display:none !important; }
.text-muted { color:var(--text-2); }

/* ── Typography ── */
h1 { font-size:28px; font-weight:700; }
h2 { font-size:22px; font-weight:600; }
h3 { font-size:18px; font-weight:600; }
h4 { font-size:16px; font-weight:600; }
small,.text-sm { font-size:13px; }

/* ══════════════ LAYOUT ══════════════ */
.app-wrapper { display:flex; min-height:100vh; }

.sidebar {
  width:var(--sidebar-w); background:linear-gradient(180deg, #1E3A8A 0%, #2563EB 100%); color:#fff;
  display:flex; flex-direction:column;
  position:fixed; top:0; left:0; height:100vh;
  z-index:200; transition:transform .28s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.sidebar-logo {
  padding:15.5px 20px; border-bottom:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; gap:10px; flex-shrink:0;
}
.sidebar-logo .logo-icon {
  width:36px; height:36px; background:#fff; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.sidebar-logo .logo-text { font-size:16px; font-weight:700; line-height:1.2; }
.sidebar-logo .logo-sub  { font-size:11px; opacity:.6; }
.sidebar-nav { flex:1; padding:12px 0; }
.sidebar-nav ul { list-style:none; }
.sidebar-nav li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 20px;
	color: rgba(255,255,255,.75);
	font-size: 14px;
	font-weight: 500;
	transition: all .18s;
	border-radius: 0 6px 6px 0;
	margin-right: 15px;
	margin-bottom: 6px;
}
.sidebar-nav li a:hover  { background:rgba(255,255,255,.08); color:#fff; }
.sidebar-nav li a.active { background:#2563EB; color:#fff; }
.sidebar-nav li a .nav-icon { width:20px; flex-shrink:0; opacity:.9; }
.sidebar-nav li a .badge {
  margin-left:auto; background:var(--red); color:#fff;
  font-size:11px; font-weight:600; padding:2px 6px; border-radius:9999px;
}
.sidebar-footer { padding:14px 16px; border-top:1px solid rgba(255,255,255,.1); flex-shrink:0; }
.sidebar-footer a {
  display:flex; align-items:center; gap:10px;
  color:rgba(255,255,255,.7); font-size:13px;
  padding:8px; border-radius:6px; transition:all .2s;
}
.sidebar-footer a:hover { background:rgba(255,255,255,.08); color:#fff; }

#sidebar-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  z-index:199; display:none;
}
#sidebar-overlay.show { display:block; }

.main-content {
  margin-left:var(--sidebar-w); flex:1;
  display:flex; flex-direction:column; min-height:100vh;
  background: #f4f3f9;
}
.topbar {
  background:#f4f3f9; border-bottom:1px solid var(--border);
  padding:0 28px; height:var(--topbar-h);
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:100;
}
.topbar-left { display:flex; align-items:center; gap:12px; }
.topbar-title {font-size: 20px;font-weight: 600;color: #1E3A8A;}
.topbar-right { display:flex; align-items:center; gap:16px; }
.hamburger {
  display:none; background:none; border:none; cursor:pointer;
  padding:6px; border-radius:6px; color:var(--text); transition:background .2s;
}
.hamburger:hover { background:var(--bg); }
.user-menu-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	color: #1E3A8A;
	padding: 4px 8px;
	border-radius: 8px;
	transition: background .2s;
	background: #ebeef7;
	border: 1px solid #e2e2ea;
	font-weight: 600;
}
.user-menu-btn:hover { background:var(--bg); }
.user-avatar {
  width:34px; height:34px; border-radius:50%;
  background:var(--primary); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; overflow:hidden; flex-shrink:0;
}
.user-avatar img { width:100%; height:100%; object-fit:cover; }
.page-body { padding:28px; flex:1; }

/* ══════════════ CARDS ══════════════ */
.card { background:var(--card); border-radius:8px; box-shadow:var(--shadow); padding:20px;border: 1px solid #e7e7e7;}
.card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;color: #1E3A8A;}
.card-title { font-size:16px; font-weight:600; }

/* ══════════════ BUTTONS ══════════════ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:0 20px; height:44px; border-radius:var(--radius);
  font-family:inherit; font-size:14px; font-weight:500;
  cursor:pointer; border:none; transition:all .18s;
  white-space:nowrap; text-decoration:none; vertical-align:middle;
}
.btn:disabled { opacity:.55; cursor:not-allowed; }
.btn-primary  { background:#1E3A8A!important; color:#fff; }
.btn-primary:hover:not(:disabled) { background:#2563EB!important; color:#fff; }
.btn-secondary { background:var(--bg); color:var(--text); border:1px solid var(--border); }
.btn-secondary:hover { background:#e5e7eb; }
.btn-ghost  { background:transparent; color:var(--accent); }
.btn-ghost:hover { background:#EFF6FF; }
.btn-danger { background:#d24848; color:#fff; }
.btn-danger:hover { background:#b91c1c; }
.btn-sm  { height:36px; padding:0 14px; font-size:13px; }
.btn-xs  { height:30px; padding:0 10px; font-size:12px; border-radius:6px; }
.btn-block { width:100%; }

/* ══════════════ FORMS ══════════════ */
.form-group { margin-bottom:18px; }
.form-label { display:block; font-size:13px; font-weight:500; color:var(--text); margin-bottom:6px; }
.form-label .req { color:var(--red); margin-left:2px; }
.form-control {
  width:100%; height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:var(--radius);
  font-family:inherit; font-size:15px; color:var(--text);
  background:#fff; transition:border-color .18s,box-shadow .18s; outline:none;
}
.form-control:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(37,99,235,.1); }
textarea.form-control { height:auto; padding:12px 14px; resize:vertical; }
select.form-control {
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:36px;
}
.form-hint  { font-size:12px; color:var(--text-2); margin-top:4px; }
.form-error { font-size:12px; color:var(--red); margin-top:4px; }
.form-row   { display:grid; grid-template-columns:1fr 1fr; gap:18px; }

/* ══════════════ ALERTS ══════════════ */
.alert {
  padding:12px 16px; border-radius:var(--radius); font-size:14px;
  margin-bottom:18px; display:flex; align-items:flex-start; gap:10px;
}
.alert-error   { background:#FEF2F2; color:#991B1B; border:1px solid #FCA5A5; }
.alert-success { background:#F0FDF4; color:#166534; border:1px solid #86EFAC; }
.alert-info    { background:#EFF6FF; color:#1E40AF; border:1px solid #BFDBFE; }
.alert-warn    { background:#FFFBEB; color:#92400E; border:1px solid #FDE68A; }

/* ══════════════ BADGES ══════════════ */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 20px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.availability-badge { font-size:13px; font-weight:500; }
.pill { display:inline-block; padding:2px 10px; border-radius:9999px; font-size:11px; font-weight:600; }
.pill-green  { background:#DCFCE7; color:#166534; }
.pill-yellow { background:#FEF3C7; color:#92400E; }
.pill-red    { background:#FEE2E2; color:#991B1B; }
.pill-blue   { background:#DBEAFE; color:#1E40AF; }

/* ══════════════ TABLE ══════════════ */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
table  { width:100%; border-collapse:collapse; }
th {
  text-align:left; font-size:12px; font-weight:600; color:var(--text-2);
  text-transform:uppercase; letter-spacing:.5px;
  padding:10px 16px; border-bottom:1px solid var(--border); white-space:nowrap;
}
td { padding:14px 16px; border-bottom:1px solid var(--border); font-size:14px; }
tr:last-child td { border-bottom:none; }
tr:hover td { background:#F9FAFB; }

/* ══════════════ PROGRESS BAR ══════════════ */
.progress-bar  { height:8px; background:var(--border); border-radius:9999px; overflow:hidden; }
.progress-fill { height:100%; background:linear-gradient(-90deg, #209666 0%, #38629f 100%); border-radius:9999px; transition:width .6s ease; }

/* ══════════════ TOGGLE SWITCH ══════════════ */
.toggle       { position:relative; width:44px; height:24px; flex-shrink:0; }
.toggle input { opacity:0; width:0; height:0; }
.toggle-slider {
  position:absolute; inset:0; background:var(--border);
  border-radius:9999px; cursor:pointer; transition:.28s;
}
.toggle-slider::before {
  content:''; position:absolute; width:18px; height:18px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:.28s; box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.toggle input:checked + .toggle-slider { background: #479b53; }
.toggle input:checked + .toggle-slider::before { transform:translateX(20px); }
.toggle-wrap { display:flex; align-items:center; gap:10px; }

/* ══════════════ AUTH PAGES ══════════════ */
.auth-page {min-height: 100vh;background: var(--bg);padding: 0;}
.auth-card {
  width:100%; max-width:100%; background:var(--card);
  border-radius:16px; box-shadow:var(--shadow-md); padding:40px;
}
.auth-logo {
  display:flex; align-items:center; gap:10px;
  justify-content:center; margin-bottom:28px;
}
.auth-logo .logo-box {
  width:44px; height:44px; background:var(--primary);
  border-radius:10px; display:flex; align-items:center; justify-content:center;
}
.auth-logo .logo-box span { color:#fff; font-size:20px; font-weight:700; }
.auth-logo .logo-name { font-size:20px; font-weight:700; }
.auth-title    { font-size:22px; font-weight:700; text-align:center; margin-bottom:4px; }
.auth-subtitle { font-size:14px; color:var(--text-2); text-align:center; margin-bottom:28px; }
.auth-footer   { text-align:center; margin-top:20px; font-size:13px; color:var(--text-2); }

/* ══════════════ DASHBOARD ══════════════ */
.welcome-banner {
  /* background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);
  color:#fff; */
  border-radius:8px;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.welcome-name { font-size:28px; font-weight:700; }
.welcome-sub  { font-size:14px; opacity:.85; margin-top:4px; }
.dash-grid    { display:grid; grid-template-columns:1fr 300px; gap:24px; }
.dash-left    { display:flex; flex-direction:column; gap:24px; }
.dash-right   { display:flex; flex-direction:column; gap:24px; }

.quick-actions { display:flex; flex-direction:column; gap:8px; }
.qa-item {
  display:flex; align-items:center; gap:8px; padding:12px 14px;
  background:var(--bg); border-radius:8px; border:1px solid var(--border);
  text-decoration:none; color:var(--text); font-size:14px; font-weight:500; transition:all .18s;
}
.qa-item:hover { border-color:var(--accent); background:#EFF6FF; color:var(--accent); }
.qa-icon {
  /*width:32px; height:32px; background:var(--primary);*/ color:#fff;
  border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
/* .qa-item:hover .qa-icon { background:var(--accent); } */
.qa-extra { margin-left:auto; font-size:12px; color:var(--text-2); }
.apps-list,.jobs-list { display:flex; flex-direction:column;gap: 10px;}
.app-row,.job-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  background: #fff;
  border-radius: 6px;
}
.app-row:last-child,.job-row:last-child { border-bottom:none; }
.completion-list { display:flex; flex-direction:column; gap:10px; }
.completion-item {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.completion-item:last-child { border-bottom:none; }
.completion-left { display:flex; align-items:center; gap:10px; }
.completion-icon {
  width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.completion-icon.done { background:#209666; color:#fff; }
.completion-icon.todo { background:var(--border); color:var(--text-2); }
.completion-name { font-size:14px; font-weight:500; }

/* ══════════════ BROWSE JOBS ══════════════ */
.filters-bar {
  background:var(--card); border-radius:var(--card-r); box-shadow:var(--shadow);
  padding:16px 20px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:24px;
}
.filter-group { display:flex; flex-direction:column; gap:4px; }
.filter-label {font-size: 12px;font-weight: 500;color: #1E3A8A;text-transform: capitalize;letter-spacing: 0;}
.filter-select {
  height:38px; padding:0 10px; border:1px solid var(--border); border-radius:6px;
  font-family:inherit; font-size:13px; background:#fff; color:var(--text);
  outline:none; min-width:130px; cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 8px center; padding-right:28px;
}
.filter-select:focus { border-color:var(--accent); }
.search-input-wrap { flex:1; min-width:200px; position:relative; }
.search-input-wrap svg { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--text-2); pointer-events:none; }
.search-input {
  width:100%; height:38px; padding:0 14px 0 38px;
  border:1px solid var(--border); border-radius:6px;
  font-family:inherit; font-size:13px; outline:none; background:#fff;
}
.search-input:focus { border-color:var(--accent); }
.jobs-grid { display:flex; flex-direction:column; gap:14px; }
.job-card {
  background:var(--card); border-radius:var(--card-r); box-shadow:var(--shadow);
  padding:20px 24px; display:flex; align-items:flex-start;
  justify-content:space-between; gap:16px;
  transition:box-shadow .2s,border-color .2s; border:2px solid transparent;
}
.job-card:hover  { box-shadow:var(--shadow-md); border-color:var(--border); }
/* .job-card.applied{ border-color:#D1FAE5; background:#f0fdf4; } */
.job-info        { flex:1; min-width:0; }
.job-card-title  {font-size: 18px;font-weight: 600;color: #1E3A8A;}
.job-salary      { font-size:13px; font-weight:600; color:#444655; margin:4px 0; }
.job-tags        { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.job-tag {padding: 2px 7px;background: #2563EB2B;color: #444655;border-radius: 9999px;font-size: 11px;font-weight: 500;border-radius: 4px;}
.job-desc    { font-size:13px; color:var(--text-2); margin-top:8px; line-height:1.5; }
.job-actions { display:flex; flex-direction:row; gap:8px; align-items:flex-end; flex-shrink:0; }

/* ══════════════ PROFILE ══════════════ */
.profile-header { display:flex; align-items:flex-start; gap:20px;margin-bottom: 10px;border-bottom: 1px solid #ddd;padding-bottom: 20px;}
.profile-photo-wrap {
  width:88px; height:88px; border-radius:50%; background:var(--primary); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:28px; font-weight:700; flex-shrink:0; overflow:hidden;
}
.profile-photo-wrap img { width:100%; height:100%; object-fit:cover; }
.profile-name    { font-size:22px; font-weight:700; }
.profile-title   { font-size:14px; color:var(--text-2); margin-top:2px; }
.profile-meta-row{ display:flex; align-items:center; gap:16px; margin-top:10px; flex-wrap:wrap; }
.profile-meta-item{ display:flex; align-items:center; gap:5px; font-size:13px; color:var(--text-2); }

.profile-tabs {
  display:flex; border-bottom:1px solid var(--border);
  margin-bottom:24px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.profile-tabs::-webkit-scrollbar { display:none; }
.profile-tab {
  padding:10px 15px; font-size:14px; font-weight:500; color:var(--text-2);
  border-bottom:2px solid transparent; cursor:pointer; transition:all .18s;
  white-space:nowrap; background:none;
  border-top:none; border-left:none; border-right:none; font-family:inherit;
}
.profile-tab.active {color: #1E3A8A;border-bottom-color: #1E3A8A;font-weight: 600;}
.profile-tab:hover  {color: #1E3A8A;font-weight: 600;}
.tab-panel.hidden   { display:none !important; }

.skills-tags { display:flex; flex-wrap:wrap; gap:8px; }
.skill-tag {
  padding: 4px 14px;
  background: #2563EB2B;
  color: #1E3A8A;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
}
.skill-tag-remove {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 12px; background:#EFF6FF; color:var(--accent);
  border-radius:9999px; font-size:13px; font-weight:500;
  cursor:pointer; border:none; font-family:inherit; transition:background .18s;
}
.skill-tag-remove:hover { background:#DBEAFE; }
.skill-add-row { display:flex; gap:8px; margin-bottom:12px; }

.exp-list    { display:flex; flex-direction:column; gap:20px; }
.exp-item    { display:flex; gap:14px; }
.exp-dot-col { display:flex; flex-direction:column; align-items:center; padding-top:4px; }
.exp-dot     { width:10px; height:10px; border-radius:50%; background: transparent;flex-shrink: 0;border: 2px solid #1E3A8A;}
.exp-line    { width:2px; flex:1; background:var(--border); margin-top:4px; }
.exp-content .company  { font-weight:600; font-size:15px; }
.exp-content .position { font-size:14px; color:var(--text-2); }
.exp-content .duration { font-size:12px; color:var(--text-2); margin-top:3px; }
.exp-content .exp-desc { font-size:13px; color:var(--text-2); margin-top:6px; line-height:1.5; }

/* ══════════════ UPLOAD ══════════════ */
.upload-zone {
  border:2px dashed var(--border); border-radius:var(--card-r);
  padding:40px 24px; text-align:center; cursor:pointer;
  transition:border-color .18s,background .18s;
}
.upload-zone:hover,.upload-zone.drag-over { border-color:var(--accent); background:#EFF6FF; }

/* ══════════════ PAGINATION ══════════════ */
.pagination { display:flex; align-items:center; gap:6px; justify-content:center; margin-top:24px; }
.page-btn {
  width:34px; height:34px; border-radius:8px;
  border:1px solid var(--border); background:var(--card);
  color:var(--text); font-family:inherit; font-size:13px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all .18s; text-decoration:none;
}
.page-btn:hover  { border-color:var(--accent); color:var(--accent); }
.page-btn.active { background:#1E3A8A; color:#fff; border-color:#1E3A8A; }

/* ══════════════ SETTINGS ══════════════ */
.settings-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.settings-row:last-child { border-bottom:none; }
.settings-row-info .label { font-size:14px; font-weight:500; color: #1E3A8A;}
.settings-row-info .desc  { font-size:12px; color:var(--text-2); margin-top:2px; }

/* ══════════════ FAQ ══════════════ */
.faq-item  { padding:14px 0; border-bottom:1px solid var(--border); cursor:pointer; }
.faq-item:last-child { border-bottom:none; }
.faq-q { font-size:14px; font-weight:500; display:flex; align-items:center; justify-content:space-between; }
.faq-a { font-size:13px; color:var(--text-2); margin-top:8px; display:none; line-height:1.6; }
.faq-item.open .faq-a { display:block; }

/* ══════════════ INTERVIEW CARDS ══════════════ */
.interview-select-card {
  border:2px solid var(--border); border-radius:10px;
  padding:12px 14px; cursor:pointer; transition:all .18s; user-select:none;
}
.interview-select-card.selected { border-color:var(--accent); background:#EFF6FF; }

/* ══════════════ TOAST ══════════════ */
.toast-container {
  position:fixed; bottom:20px; right:20px; z-index:9999;
  display:flex; flex-direction:column; gap:8px; pointer-events:none;
}
.toast {
  padding:12px 18px; border-radius:10px; font-size:14px; font-weight:500;
  box-shadow:0 8px 24px rgba(0,0,0,.15); min-width:240px;
  animation:slideIn .2s ease; pointer-events:auto;
}
.toast-success { background:#166534; color:#fff; }
.toast-error   { background:#991B1B; color:#fff; }
.toast-info    { background:#1E40AF; color:#fff; }
@keyframes slideIn { from{transform:translateX(60px);opacity:0} to{transform:none;opacity:1} }

/* ══════════════ MODAL ══════════════ */
.modal-backdrop {
  position:fixed; inset:0; background:rgba(0,0,0,.55);
  z-index:1000; display:flex; align-items:center; justify-content:center; padding:16px;
}
.modal {
  background:#fff; border-radius:14px; width:100%; max-width:560px;
  max-height:90vh; overflow-y:auto;
  box-shadow:0 24px 64px rgba(0,0,0,.2); animation:modalIn .2s ease;
}
@keyframes modalIn { from{transform:translateY(20px);opacity:0} to{transform:none;opacity:1} }
.modal-header {
  padding:20px 24px 16px; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.modal-body   { padding:20px 24px; }
.modal-footer { padding:16px 24px 20px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:10px; }
.modal-close  { background:none; border:none; cursor:pointer; font-size:22px; color:var(--text-2); line-height:1; }
.modal-close:hover { color:var(--text); }

/* ══════════════ MISC ══════════════ */
.empty-state { text-align:center; padding:40px 20px; color:var(--text-2); }
.empty-state svg { margin:0 auto 12px; opacity:.4; display:block; }
.empty-state h3  { font-size:16px; color:var(--text); margin-bottom:6px; }
.spinner {
  display:inline-block; width:18px; height:18px;
  border:2px solid var(--border); border-top-color:var(--accent);
  border-radius:50%; animation:spin .7s linear infinite;
}
@keyframes spin { to{transform:rotate(360deg)} }
.section-link { font-size:13px; font-weight:500; display:flex; align-items:center; gap:4px; }
.divider { height:1px; background:var(--border); margin:20px 0; }
.action-btn { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:6px; font-size:12px; font-weight:500; border:none; cursor:pointer; font-family:inherit; transition:all .18s; text-decoration:none; }
.action-view   { background:#F0FDF4; color:#16A34A; }
.action-view:hover { background:#DCFCE7; }
.action-edit   { background:#EFF6FF; color:#1D4ED8; }
.action-edit:hover { background:#DBEAFE; }
.action-delete { background:#FEF2F2; color:#DC2626; }
.action-delete:hover { background:#FEE2E2; }

/* ══════════════ ADMIN OVERRIDES ══════════════ */
.op-admin-portal {
  --primary: #0F172A;
  --accent:  #6366F1;
  --accent-h:#4F46E5;
}
.op-admin-portal .sidebar { background:#0F172A; }
.op-admin-portal .sidebar-nav li a.active { background:#6366F1; }
.op-admin-portal .btn-primary { background:#6366F1; }
.op-admin-portal .btn-primary:hover:not(:disabled) { background:#4F46E5; }
.op-admin-portal .user-avatar { background:#6366F1; }
.op-admin-portal .progress-fill { background:#6366F1; }
.op-admin-portal .profile-tab.active { color:#6366F1; border-bottom-color:#6366F1; }
.op-admin-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 10px; border-radius:9999px; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; background:#4F46E5; color:#fff;
}

/* ══════════════ RESPONSIVE ══════════════ */
@media (max-width:1024px) {
	.dash-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  :root { --sidebar-w:0px; }
  .sidebar { transform:translateX(-240px); width:240px; }
  .sidebar.open { transform:translateX(0); }
  .main-content { margin-left:0; }
  .hamburger { display:flex; }
  .page-body { padding:16px; }
  .form-row  { grid-template-columns:1fr; }
  .filters-bar { flex-direction:column; align-items:stretch; }
  .search-input-wrap { min-width:unset; }
  .filter-select { min-width:unset; width:100%; }
  .job-card  { flex-direction:column; }
  .job-actions { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .auth-card { padding:28px 20px; }
  .topbar    { padding:0 16px; }
  .topbar-title { font-size:15px; }
  .welcome-banner { flex-direction:column; gap:14px; }
  .profile-header { flex-direction:column; align-items:center; text-align:center; }
  .profile-meta-row { justify-content:center; }
  table th:nth-child(n+4), table td:nth-child(n+4) { display:none; }
}
@media (max-width:480px) {
  .profile-tab { padding:8px 12px; font-size:13px; }
  .welcome-name { font-size:18px; }
  h1 { font-size:22px; }
  .card { padding:16px; }
}

/* ══════════════ MESSAGING ══════════════ */
.op-thread-row { transition:background .15s; }
.op-thread-row:hover { background:var(--bg); }
.op-message-bubble { max-width:75%; padding:10px 14px; border-radius:12px; font-size:13px; line-height:1.5; }
.op-message-bubble.mine { background:var(--accent); color:#fff; border-radius:12px 12px 2px 12px; margin-left:auto; }
.op-message-bubble.theirs { background:var(--bg); color:var(--text); border-radius:12px 12px 12px 2px; border:1px solid var(--border); }

/* ══════════════ FAVORITES ══════════════ */
.op-fav-btn { transition:all .2s; }
.op-fav-btn:hover { transform:scale(1.1); }
.op-applicant-card:hover { box-shadow:var(--shadow-md); border-color:#BFDBFE; }

/* ══════════════ PERMISSIONS TOGGLE ══════════════ */
.op-toggle-switch { display:inline-block; }
.op-ts-slider { display:block; }

/* ══════════════ 2FA INPUT ══════════════ */
#op-2fa-code { letter-spacing:12px; font-size:24px; font-weight:700; text-align:center; height:56px; }

/* ══════════════ PROFILE PHOTO ══════════════ */
#op-photo-preview img { border-radius:50%; }



/******** Custom Css ***********/
.page-id-34 .topbar .topbar-title {display:none;}
.page-id-34 .topbar .topbar-title.for_home {display:initial;}
.topbar .topbar-title.for_home {display:none;}

.welcome-banner.card {padding: 15px 24px;}
.welcome-banner.card .main_box {display: flex;width: 100%;justify-content: space-between;gap: 10px;}
.welcome-banner.card .main_box .profile_ttl {font-size:16px;margin-bottom:0;width: 300px;color: #1E3A8A;font-weight: 600;}

.modal .modal-header h3 {font-size:20px;font-weight:700;color: #1E3A8A;}
.modal .modal-header .modal-close {background: #1E3A8A;color: #fff;width: 34px;height: 34px;border-radius: 100px;}
.modal .modal-footer button {border-radius: 100px;}
.modal .modal-footer button.btn-primary {background: #1E3A8A;}

.dash-right .card .quick-actions .qa-item {border: 1px solid var(--border);box-shadow: 0 4px 12px rgba(0,0,0,.06);background: #fff;border-radius: 6px;padding: 6px 10px;color: #1E3A8A;}
.job-actions .status-badge {color:#fff!important;text-align: center;background: #166534!important;border-radius: 6px;height: 36px;min-width: 100px;}
.job-actions .btn-primary {text-align: center;background: linear-gradient(0deg, #294877 0%, #38629f 100%);border-radius: 6px;min-width: 100px;}
.job-actions .btn-secondary {text-align: center;background: #fff;border-radius: 6px;color: #647595;min-width: 100px;}

.appli_table tbody tr {border: 1px solid var(--border);box-shadow: 0 4px 12px rgba(0,0,0,.06);background: #fff;border-radius: 6px;display: block;margin-bottom: 10px;}
.appli_table tbody tr td {width: 100%;}

.profile-header .btn-secondary {text-align: center;background: linear-gradient(0deg, #294877 0%, #38629f 100%);border-radius: 6px;color: #fff;border: 0;}
.tab-panel.card h2 {font-size: 18px;font-weight: 600;color: #1E3A8A;padding-bottom: 5px;}

#panel-resume .btn-secondary {margin-left:auto;text-align: center;background: linear-gradient(0deg, #294877 0%, #38629f 100%);border-radius: 6px;color: #fff;border: 0;}
.help-top-grid .card .eml_btn {background: linear-gradient(0deg, #294877 0%, #38629f 100%);border-radius: 6px;color: #fff;}

#op-skills-wrap .skill-tag-remove {padding: 5px 12px!important;background: #e9ecf8 !important;color: #1E3A8A!important;border-radius: 6px!important;}

.filters-bar.responsive_fltr {display: block!important;}
.filters-bar.responsive_fltr .filter-group {display: inline-flex!important;width: 32% !important;margin-bottom: 10px;}




@media (max-width:1199px) {
	.login_box_text .hd_h1 {font-size: 36px!important;}
	.login_box_text p {font-size: 18px!important;}
	
	.op-login-main-wrap .op-login-left-img {width: 56%!important;}
	.op-login-main-wrap .auth-card {width: 44%!important;}
}

@media (max-width:1024px) {
	.op-login-main-wrap .op-login-left-img {display: none;}
	.op-login-main-wrap .auth-card {width: 60% !important;margin: 0 auto !important;}
	
	.auth-page {min-height: auto;}
	.auth-page .op-login-main-wrap {height: auto!important;}
	
	.page-template-page-op-register .footer-bar {position: relative!important;}
}

@media (max-height: 768px) {
	.auth-page {min-height: auto;}
	.auth-page .op-login-main-wrap {align-items: initial!important;}
	.op-login-main-wrap .op-login-left-img {height: auto !important;}
	.auth-page .op-login-main-wrap {height: auto!important;}
	.page-template-page-op-register .footer-bar {position: relative!important;}
}

@media (max-width:767px) {
	.op-login-main-wrap .auth-card {width: 100% !important;}
}

