:root {
  color-scheme: light;
  --bg: #f4f7ff;
  --surface: #ffffff;
  --surface-hover: #fafbfc;
  --border: #dfe8fb;
  --border-strong: #cfdbf2;
  --text: #0d1b43;
  --text-muted: #5c6f9f;
  --text-faint: #8193bb;
  --accent: #174bd2;
  --accent-soft: #e7efff;
  /* Fixed brand blue for solid buttons/badges with white text — kept constant
     across themes so white text always has enough contrast against it, unlike
     --accent above (which lightens in dark mode for link/text legibility). */
  --accent-strong: #174bd2;
  --accent-strong-hover: #123da9;
  --success: #067647;
  --success-bg: #ecfdf3;
  --warning: #b54708;
  --warning-bg: #fffaeb;
  --danger: #b42318;
  --danger-bg: #fef3f2;
  --danger-border: #f3c6c1;
  --danger-hover-bg: #fde3e0;
  --hero-border: #c3d9fb;
  --skeleton-base: var(--border);
  --skeleton-highlight: #eef0f3;
  --toast-bg: #101828;
  --backdrop: rgba(16, 24, 40, 0.15);
  --sidebar-w: 248px;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-sm: 0 2px 7px rgba(28, 69, 154, 0.045);
  --shadow-md: 0 10px 28px rgba(18, 48, 105, 0.12);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "Noto Sans Devanagari", Roboto, Helvetica, Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #0e1015;
    --surface: #171a21;
    --surface-hover: #1d2029;
    --border: #2a2e38;
    --border-strong: #3a3f4b;
    --text: #e7e9ec;
    --text-muted: #9aa1ac;
    --text-faint: #6b7280;
    --accent: #5b9bff;
    --accent-soft: #132c52;
    --success: #34d399;
    --success-bg: #113328;
    --warning: #fbbf24;
    --warning-bg: #3a2c0c;
    --danger: #f87171;
    --danger-bg: #3a1a19;
    --danger-border: #6b2b28;
    --danger-hover-bg: #4a201e;
    --hero-border: #1f3a68;
    --hero-text: #e7e9ec;
    --hero-muted: #a5afc2;
    --skeleton-base: var(--border);
    --skeleton-highlight: #343945;
    --toast-bg: #14264a;
    --backdrop: rgba(0, 0, 0, 0.5);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0e1015;
  --surface: #171a21;
  --surface-hover: #1d2029;
  --border: #2a2e38;
  --border-strong: #3a3f4b;
  --text: #e7e9ec;
  --text-muted: #9aa1ac;
  --text-faint: #6b7280;
  --accent: #5b9bff;
  --accent-soft: #132c52;
  --success: #34d399;
  --success-bg: #113328;
  --warning: #fbbf24;
  --warning-bg: #3a2c0c;
  --danger: #f87171;
  --danger-bg: #3a1a19;
  --danger-border: #6b2b28;
  --danger-hover-bg: #4a201e;
  --hero-border: #1f3a68;
  --hero-text: #e7e9ec;
  --hero-muted: #a5afc2;
  --skeleton-base: var(--border);
  --skeleton-highlight: #343945;
  --toast-bg: #14264a;
  --backdrop: rgba(0, 0, 0, 0.5);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  transition: background-color .15s ease, color .15s ease;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-weight: 650; letter-spacing: -0.01em; }
button { font-family: inherit; }

/* ---------- Layout shell ---------- */
.shell { display: flex; min-height: 100vh; }

.brand-loader { position:fixed; inset:0; z-index:200; display:grid; place-items:center; background:var(--bg); opacity:1; transition:opacity .22s ease; }
.brand-loader-hidden { opacity:0; pointer-events:none; }
.brand-loader-content { display:flex; flex-direction:column; align-items:center; gap:9px; color:var(--text); }
.brand-loader-mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:3px; border-radius:15px; background:#2456d8; color:#fff; font-family:"Noto Sans Devanagari",var(--font); font-size:28px; font-weight:700; box-shadow:0 8px 22px rgba(36,86,216,.22); }
.brand-loader-content strong { font-family:"Noto Sans Devanagari",var(--font); font-size:20px; letter-spacing:.01em; }
.brand-loader-tagline { color:var(--text-muted); font-size:13px; }
.brand-loader-spinner { width:22px; height:22px; margin-top:10px; border:2px solid var(--border-strong); border-top-color:var(--accent-strong); border-radius:50%; animation:brand-loader-spin .8s linear infinite; }
@keyframes brand-loader-spin { to { transform:rotate(360deg); } }

.help-tour-button { color:var(--accent); font-size:16px; }
.tutorial-scrim { position:fixed; inset:0; z-index:10000; background:rgba(5,12,28,.68); }
.tutorial-panel { position:fixed; z-index:10003; width:min(390px,calc(100vw - 32px)); padding:21px; border:1px solid var(--border); border-radius:15px; background:var(--surface); color:var(--text); box-shadow:0 18px 54px rgba(0,0,0,.3); }
.tutorial-panel-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.tutorial-brand { display:flex; align-items:center; gap:8px; font-family:"Noto Sans Devanagari",var(--font); font-size:13px; font-weight:700; }
.tutorial-logo { display:grid; place-items:center; width:27px; height:27px; border-radius:7px; background:#2456d8; color:#fff; font-size:15px; }
.tutorial-close { width:30px; height:30px; border:0; border-radius:7px; background:transparent; color:var(--text-muted); cursor:pointer; }
.tutorial-close:hover { background:var(--surface-hover); color:var(--text); }
.tutorial-progress-label { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.08em; }
.tutorial-progress { height:4px; margin:8px 0 16px; border-radius:8px; background:var(--border); overflow:hidden; }
.tutorial-progress span { display:block; height:100%; border-radius:inherit; background:var(--accent-strong); transition:width .2s ease; }
.tutorial-panel h2 { margin:0 0 8px; font-size:18px; }
.tutorial-panel p { margin:0; color:var(--text-muted); font-size:13.5px; line-height:1.65; }
.tutorial-restart { margin-top:14px; }
.tutorial-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:22px; }
.tutorial-spotlight { position:relative !important; z-index:10002 !important; outline:3px solid #5d91ff !important; outline-offset:4px; border-radius:9px; box-shadow:0 0 0 7px rgba(77,131,255,.16) !important; }
.sidebar.tour-layer,.topbar.tour-layer { z-index:10002 !important; }
html.tutorial-open,html.tutorial-open body { overflow:hidden; }
@media(max-width:600px) {
  .tutorial-panel { width:min(360px,calc(100vw - 24px)); padding:17px; }
  .tutorial-actions { align-items:flex-start; flex-direction:column; }
  .tutorial-actions>div { display:flex; justify-content:flex-end; width:100%; }
}

.sidebar {
  width: var(--sidebar-w);
  flex-shrink: 0;
  background: #0d1a3b;
  border-right: 1px solid #172951;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; bottom: 0; left: 0;
  z-index: 20;
  transition: transform .2s ease, width .2s ease;
}
.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 20px;
  font-weight: 700;
  font-size: 16px;
  color: #f7f9ff;
  border-bottom: 1px solid rgba(197, 216, 255, .1);
}
.sidebar-brand-copy { min-width:0; display:grid; gap:2px; white-space:nowrap; }
.sidebar-brand-name { font-size:14px; }
.sidebar-brand-copy small, .brand-tagline { color:#b9c9eb; font-size:9px; font-weight:450; }
.sidebar-collapse-toggle { display:flex; align-items:center; justify-content:center; width:28px; height:28px; margin-left:auto; padding:0; border:0; border-radius:7px; background:transparent; color:#bdcbed; cursor:pointer; flex:0 0 auto; }
.sidebar-collapse-toggle:hover { background:rgba(125,164,255,.14); color:#fff; }
.sidebar-brand .logo-dot {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: #2456d8;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 13px; font-weight: 800;
}
.sidebar-nav { padding: 12px; flex: 1; overflow-y: auto; }
.sidebar-nav .nav-section { color: #9eb2dd; font-size: 10px; text-transform: uppercase; letter-spacing: .075em; font-weight: 700; padding: 17px 10px 7px; }
.sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  color: #eff4ff;
  font-weight: 550;
  font-size: 13.5px;
  margin-bottom: 2px;
}
.sidebar-nav a:hover { background: rgba(125, 164, 255, .12); color: #fff; text-decoration: none; }
.sidebar-nav a.active { background: #204cc1; color: #fff; box-shadow: 0 5px 14px rgba(3, 16, 48, .2); }
.sidebar-nav .nav-section-featured { color: #4f9bff; }
.sidebar-nav a.nav-featured { color: #fff; font-weight: 700; }
.sidebar-nav a.nav-featured.active { background: #204cc1; color: #fff; }
.sidebar-nav a.nav-featured:hover:not(.active) { background: rgba(125, 164, 255, .12); }
.sidebar-nav svg { width: 17px; height: 17px; flex-shrink: 0; }
.sidebar-footer { padding: 14px; border-top: 1px solid rgba(197, 216, 255, .12); color:#f4f7ff; }
.sidebar-user { display: flex; align-items: center; gap: 10px; }
.sidebar-user .avatar {
  width: 30px; height: 30px; border-radius: 999px; background: #dbe8ff; color: #174bd2;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12.5px; flex-shrink: 0;
}
.sidebar-user .name { font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user form { margin-left: auto; }
.icon-btn { background: none; border: none; color: var(--text-faint); cursor: pointer; padding: 6px; border-radius: 6px; display: flex; }
.icon-btn:hover { background: var(--bg); color: var(--text); }
.icon-btn svg { width: 16px; height: 16px; }

.main { flex: 1; margin-left: var(--sidebar-w); min-width: 0; transition:margin-left .2s ease; }
html.sidebar-collapsed .sidebar { width:76px; }
html.sidebar-collapsed .main { margin-left:76px; }
html.sidebar-collapsed .sidebar-brand { justify-content:center; padding:14px 8px; flex-wrap:wrap; }
html.sidebar-collapsed .sidebar-brand-name,
html.sidebar-collapsed .sidebar-brand-copy small,
html.sidebar-collapsed .sidebar-nav .nav-section,
html.sidebar-collapsed .sidebar-nav a { font-size:0; }
html.sidebar-collapsed .sidebar-collapse-toggle { margin-left:0; }
html.sidebar-collapsed .sidebar-collapse-toggle i { transform:rotate(180deg); }
html.sidebar-collapsed .sidebar-nav { padding:12px 9px; }
html.sidebar-collapsed .sidebar-nav a { justify-content:center; padding:11px 8px; }
html.sidebar-collapsed .sidebar-nav a svg { width:19px; height:19px; }
html.sidebar-collapsed #sidebar-promo,
html.sidebar-collapsed .sidebar-user .name,
html.sidebar-collapsed .sidebar-user form { display:none; }
html.sidebar-collapsed .sidebar-footer { padding:12px 8px; }
html.sidebar-collapsed .sidebar-user { justify-content:center; }
.topbar {
  height: 64px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 34px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 30;
}
.topbar-left { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.topbar h1 { font-size: 17px; margin: 0; }
.topbar .crumb { color: var(--text-muted); font-size: 13px; }
.menu-toggle { display: none; }

.topbar-search { flex: 1; display: flex; justify-content: center; min-width: 0; }
.topbar-search { position: relative; }
.topbar-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-faint); font-size: 13px; pointer-events: none; }
.topbar-search input {
  width: 100%; max-width: 440px; padding: 9px 14px 9px 36px; border-radius: 999px;
  background: var(--bg); border: 1px solid var(--border);
}
.topbar-search input:focus { background: var(--surface); }

.topbar-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }

.topbar-bell { position: relative; }
.notif-badge {
  position: absolute; top: 3px; right: 3px; min-width: 15px; height: 15px; padding: 0 3px;
  border-radius: 999px; background: var(--accent-strong); color: #fff;
  font-family: var(--font); font-size: 9.5px; font-weight: 700; line-height: 15px; text-align: center;
}
.notif-badge.notif-badge-danger { background: var(--danger); }

/* ---------- Dropdowns (user menu, card overflow menus) ---------- */
.dropdown-panel {
  position: absolute; top: calc(100% + 6px); right: 0; z-index: 40; min-width: 190px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md); padding: 6px; display: flex; flex-direction: column; gap: 1px;
}
.dropdown-panel a, .dropdown-panel button {
  display: flex; align-items: center; gap: 9px; width: 100%; text-align: left;
  background: none; border: none; padding: 8px 10px; border-radius: 6px;
  font-size: 13px; font-weight: 500; color: var(--text); cursor: pointer; font-family: inherit;
}
.dropdown-panel a:hover, .dropdown-panel button:hover { background: var(--bg); text-decoration: none; }
.dropdown-panel button.danger, .dropdown-panel a.danger { color: var(--danger); }
.dropdown-panel i { width: 15px; text-align: center; color: var(--text-faint); font-size: 12.5px; }
.dropdown-panel form { display: contents; }

.user-menu { position: relative; }
.user-menu-trigger {
  display: flex; align-items: center; gap: 9px; background: none; border: 1px solid transparent;
  padding: 5px 10px 5px 5px; border-radius: 999px; cursor: pointer; font-family: inherit; color: var(--text);
}
.user-menu-trigger:hover { background: var(--bg); }
.user-menu-trigger .avatar-chip {
  width: 30px; height: 30px; border-radius: 999px; background: var(--accent-soft); color: var(--accent);
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; flex-shrink: 0;
}
.user-menu-name { font-weight: 600; font-size: 13.5px; }
.user-menu-trigger > i { font-size: 10px; color: var(--text-faint); }

.container { max-width: 1600px; margin: 0 auto; padding: 26px 36px 70px; }

/* ---------- Primitives ---------- */
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-bottom: 24px; }
.stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; box-shadow: var(--shadow-sm); }
.stat-card .num { font-size: 26px; font-weight: 700; line-height: 1.2; }
.stat-card .label { color: var(--text-muted); font-size: 12px; margin-top: 2px; }

.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-bottom: 18px; }
.card-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--border); }
.card-header h2 { margin: 0; font-size: 14.5px; display: flex; align-items: center; }
.card-header-link { color: var(--accent); font-size: 12.5px; font-weight: 600; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.card-header-link:hover { text-decoration: underline; }
.card-header-link i { font-size: 10px; }
.card-body { padding: 18px; }
.card-body.no-pad { padding: 0; }

.hero-card {
  padding: 22px 24px;
  background: #edf3ff;
  border: 1px solid var(--hero-border);
  color: var(--hero-text, var(--text));
}
:root[data-theme="dark"] .hero-card { background:#171a21; border-color:#343b49; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hero-card { background:#171a21; border-color:#343b49; }
}
.hero-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.hero-eyebrow { color: var(--accent); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.hero-title { margin: 0 0 6px; font-size: 19px; color: var(--hero-text, var(--text)); }
.hero-sub { margin: 0; color: var(--hero-muted, var(--text-muted)); font-size: 13.5px; max-width: 46ch; }
.btn-hero { padding: 11px 18px; font-size: 14px; box-shadow: var(--shadow-sm); flex-shrink: 0; }
.agent-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.agent-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
}
:root[data-theme="dark"] .agent-card { background:#171a21; border-color:#343b49; color:#e7e9ec; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .agent-card { background:#171a21; border-color:#343b49; color:#e7e9ec; }
}
.agent-card .agent-card-name { font-weight: 650; margin-bottom: 2px; }
.agent-card .agent-card-sub { color: var(--text-muted); font-size: 12.5px; margin-bottom: 10px; }
:root[data-theme="dark"] .agent-card .agent-card-sub { color:#a5afc2; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .agent-card .agent-card-sub { color:#a5afc2; }
}
.agent-card .agent-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 12px 18px; border-bottom: 1px solid var(--border); vertical-align: middle; }
th { color: var(--text-muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; font-weight: 650; background: var(--surface-hover); }
tbody tr:hover { background: var(--surface-hover); }
tr:last-child td { border-bottom: none; }
td.num-cell { font-variant-numeric: tabular-nums; }

.title-cell { font-weight: 600; color: var(--text); }
.sub-cell { color: var(--text-muted); font-size: 12.5px; margin-top: 2px; }
.source-table-wrap { overflow-x: auto; }
.source-url { display: inline-block; max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

.pill { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 650; white-space: nowrap; }
.pill-active, .pill-applied, .pill-offer { background: var(--success-bg); color: var(--success); }
.pill-possibly_closed, .pill-assessment, .pill-interview, .pill-saved { background: var(--warning-bg); color: var(--warning); }
.pill-closed, .pill-rejected, .pill-withdrawn, .pill-unknown { background: var(--danger-bg); color: var(--danger); }

.pill-workplace { background: var(--accent-soft); color: var(--accent); }

.score-badge { font-weight: 700; font-variant-numeric: tabular-nums; }
.score-high { color: var(--success); }
.score-mid { color: var(--warning); }
.score-low { color: var(--text-muted); }
.score-bar { width: 60px; height: 5px; border-radius: 3px; background: var(--border); overflow: hidden; display: inline-block; margin-right: 8px; vertical-align: middle; }
.score-bar > span { display: block; height: 100%; background: var(--accent); }

.btn {
  display: inline-flex; align-items: center; gap: 6px; justify-content: center;
  background: var(--accent-strong); color: #fff; border: 1px solid transparent;
  padding: 9px 15px; border-radius: var(--radius-sm); font-size: 13.5px; font-weight: 600;
  cursor: pointer; transition: background .12s ease;
}
.btn:hover { background: var(--accent-strong-hover); text-decoration: none; color: #fff; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-secondary { background: var(--surface); color: var(--text); border-color: var(--border-strong); }
.btn-secondary:hover { background: var(--bg); color: var(--text); }
.btn-danger { background: var(--danger-bg); color: var(--danger); border-color: var(--danger-border); }
.btn-danger:hover { background: var(--danger-hover-bg); color: var(--danger); }
.btn-sm { padding: 6px 11px; font-size: 12.5px; }
.btn-block { width: 100%; }
.btn svg { width: 14px; height: 14px; }

.filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; align-items: center; }
.filters .search-input { position: relative; flex: 1; min-width: 200px; }
.filters .search-input svg { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: var(--text-faint); }
.filters .search-input input { padding-left: 32px; }
.job-search-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:4px 2px 13px; color:var(--text-muted); font-size:12px; }
.job-search-summary strong { color:var(--text); font-size:13px; }
.job-search-summary b { color:var(--text); font-weight:600; }
.job-search-summary small { margin-left:auto; color:var(--text-faint); font-size:11px; }
.job-results { overflow:hidden; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-sm); }
.job-result { padding:19px 22px 17px; border-bottom:1px solid var(--border); }
.job-result:last-child { border-bottom:0; }
.job-result-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; color:var(--success); font-size:11px; }
.job-result-source { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.job-result-source span { padding:0 3px; color:var(--text-faint); }
.job-result-topline time { flex:0 0 auto; color:var(--text-faint); font-size:10.5px; }
.job-result h2 { margin:0; font-size:18px; font-weight:550; line-height:1.4; }
.job-result h2 a { color:var(--accent); text-decoration:none; }
.job-result h2 a:hover { text-decoration:underline; }
.job-result h2 a:focus-visible,.job-result-view:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }
.job-result-company { margin-top:3px; color:var(--text-muted); font-size:12px; }
.job-result-company span { padding:0 4px; color:var(--text-faint); }
.job-matched-line { display:flex; align-items:center; gap:7px; margin-top:10px; color:var(--success); font-size:11px; }
.job-matched-line i { font-size:11px; }
.job-matched-line b { font-weight:700; }
.job-matched-filter { color:var(--text-muted); }
.job-result-snippet { display:-webkit-box; overflow:hidden; margin:7px 0 11px; color:var(--text-muted); font-size:12px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.job-result-snippet b { color:var(--text); font-weight:600; }
.job-result-snippet span { padding:0 3px; color:var(--text-faint); }
.job-result-snippet mark { padding:1px 2px; border-radius:3px; background:var(--warning-bg); color:var(--text); font-weight:650; }
.job-result-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.job-result-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.job-result-tag { display:inline-flex; align-items:center; min-height:22px; padding:3px 8px; border:1px solid var(--border); border-radius:999px; background:var(--surface-hover); color:var(--text-muted); font-size:10px; font-weight:600; }
.job-category-tag { border-color:var(--accent-soft); background:var(--accent-soft); color:var(--accent); }
.job-result-bottom .pill { padding:3px 8px; font-size:10px; }
.job-result-view { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; color:var(--text-muted); font-size:11px; font-weight:600; }
.job-result-view:hover { color:var(--accent); text-decoration:none; }
.job-result-view i { font-size:9px; }
.job-result-skeleton { padding:19px 22px; border-bottom:1px solid var(--border); }
.job-result-skeleton span { display:block; height:9px; margin:0 0 10px; border-radius:5px; background:var(--skeleton-base); }
.job-result-skeleton span:first-child { width:38%; height:7px; }
.job-result-skeleton span:nth-child(2) { width:54%; height:15px; }
.job-result-skeleton span:last-child { width:85%; margin-bottom:0; }
@media (max-width:640px) {
  .job-result { padding:16px; }
  .job-result-topline { align-items:flex-start; }
  .job-result-topline time { max-width:88px; text-align:right; }
  .job-result h2 { font-size:16px; }
  .job-result-bottom { align-items:flex-start; }
  .job-result-view { padding-top:5px; }
}
.jobs-page-intro { display:flex; align-items:center; gap:13px; margin:0 0 20px; }
.jobs-page-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border:1px solid var(--accent-soft); border-radius:12px; background:var(--accent-soft); color:var(--accent); font-size:15px; }
.jobs-page-intro h2 { margin:0; color:var(--text); font-size:18px; font-weight:700; letter-spacing:-.02em; }
.jobs-page-intro p { margin:4px 0 0; color:var(--text-muted); font-size:12px; }
.jobs-filters { display:grid; grid-template-columns:minmax(260px,1.45fr) minmax(190px,1.2fr) repeat(3,minmax(125px,.72fr)); gap:9px; max-width:1280px; margin-bottom:18px; }
.jobs-filters .search-input { min-width:0; }
.jobs-filters input,.jobs-filters select { min-height:43px; border-radius:10px; }
.job-search-summary { max-width:1120px; min-height:23px; align-items:center; gap:8px; margin:0 0 5px; font-size:12px; }
.job-search-summary .job-result-count { color:var(--text); font-weight:650; }
.job-search-summary .job-result-count strong { font-size:13px; font-variant-numeric:tabular-nums; }
.job-search-summary small { display:inline-flex; align-items:center; gap:6px; }
.job-search-summary small i { font-style:normal; }
.job-results { display:grid; gap:0; max-width:1120px; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.job-result { padding:20px 16px 18px; border-bottom:1px solid var(--border); border-radius:10px; transition:background .15s ease; }
.job-result:hover { background:var(--surface-hover); }
.job-result:first-child { border-top:1px solid var(--border); }
.job-result-topline { margin-bottom:6px; font-size:11.5px; }
.job-result-source { color:var(--success); font-weight:550; }
.job-result h2 { font-size:19px; font-weight:600; letter-spacing:-.015em; }
.job-result-company { margin-top:4px; font-size:12.5px; }
.job-match-explanation { display:flex; align-items:center; flex-wrap:wrap; gap:8px 11px; margin-top:10px; }
.job-matched-line { margin:0; font-size:11.5px; }
.job-match-terms { display:flex; flex-wrap:wrap; gap:5px; }
.job-match-terms span { display:inline-flex; min-height:20px; align-items:center; padding:2px 7px; border:1px solid var(--accent-soft); border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:10px; font-weight:650; }
.job-result-snippet { max-width:880px; margin:9px 0 13px; font-size:12.5px; line-height:1.7; }
.job-result-bottom { align-items:center; }
.job-result-tags { gap:7px; }
.job-result-tag { min-height:24px; padding:4px 9px; font-size:10.5px; }
.job-result-bottom .pill { padding:4px 9px; font-size:10.5px; }
.job-result-view { min-height:30px; padding:0 3px; color:var(--accent); font-size:11.5px; }
.job-result-view i { font-size:10px; }
@media (max-width:1100px) {
  .jobs-filters { grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) repeat(2,minmax(140px,.8fr)); }
  .jobs-filters #f-status { grid-column:4; }
}
@media (max-width:760px) {
  .jobs-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jobs-filters .search-input,.jobs-filters #f-company { grid-column:span 2; }
  .jobs-filters #f-status { grid-column:auto; }
  .job-search-summary { align-items:flex-start; }
  .job-search-summary small { width:100%; margin:0; }
  .job-result { padding:17px 12px; }
}
@media (max-width:460px) {
  .jobs-page-intro { align-items:flex-start; margin-bottom:16px; }
  .jobs-page-icon { width:37px; height:37px; }
  .jobs-page-intro h2 { font-size:16px; }
  .jobs-filters { grid-template-columns:1fr; }
  .jobs-filters .search-input,.jobs-filters #f-company { grid-column:auto; }
  .job-result-topline { flex-wrap:wrap; }
  .job-result-topline time { max-width:none; margin-left:auto; }
  .job-result h2 { font-size:17px; }
  .job-result-bottom { flex-direction:column; align-items:stretch; }
  .job-result-view { align-self:flex-end; }
}
.company-table-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 18px; border-bottom:1px solid var(--border); }
.company-bank-intro { color:var(--text); font-size:13.5px; font-weight:650; }
.company-bank-intro span { margin-left:8px; color:var(--text-muted); font-size:12.5px; font-weight:400; }
.company-table-summary > div { display:flex; align-items:baseline; gap:10px; min-width:0; }
.company-table-summary strong { color:var(--text); font-size:13.5px; }
.company-table-summary > div > span { color:var(--text-muted); font-size:12.5px; }
.company-data-summary { display:flex; align-items:center; gap:8px; color:var(--text-muted); font-size:11.5px; white-space:nowrap; }
.company-data-summary span { padding:4px 8px; border:1px solid var(--border); border-radius:999px; background:var(--surface-hover); }
.company-table-wrap { max-height:min(68vh, 780px); overflow:auto; border-radius:0 0 var(--radius) var(--radius); }
.company-table { width:100%; min-width:930px; table-layout:fixed; }
.company-table th:nth-child(1), .company-table td:nth-child(1) { width:26%; }
.company-table th:nth-child(2), .company-table td:nth-child(2) { width:13%; }
.company-table th:nth-child(3), .company-table td:nth-child(3) { width:34%; }
.company-table th:nth-child(4), .company-table td:nth-child(4) { width:14%; }
.company-table th:nth-child(5), .company-table td:nth-child(5) { width:8%; }
.company-table th:last-child, .company-table td:last-child { width:205px; min-width:205px; text-align:right; }
.company-table td:last-child { white-space:nowrap; }
.company-table td:last-child .btn { max-width:100%; white-space:nowrap; }
.company-row-actions { display:flex; justify-content:flex-end; align-items:center; gap:6px; }
.company-row-actions .btn { padding-left:8px; padding-right:8px; }
.company-row-actions .company-research-btn { background:var(--accent); color:#fff; border-color:var(--accent); }
.company-row-actions .company-research-btn:disabled { opacity:.55; cursor:not-allowed; }
.company-table th { position:sticky; top:0; z-index:2; padding-top:11px; padding-bottom:11px; }
.company-table th:first-child, .company-table td:first-child { min-width:245px; }
.company-table td { padding-top:11px; padding-bottom:11px; }
.company-table tbody tr { transition:background-color .12s ease; }
.company-table tbody tr:hover { background:var(--accent-soft); }
.company-table .title-cell { display:inline-block; max-width:290px; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; white-space:nowrap; }
.company-site { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-muted); font-size:12px; margin-top:3px; }
.company-site a { color:var(--text-muted); }
.company-site a:hover { color:var(--accent); }
.company-site-empty { color:var(--text-faint); font-style:italic; }
.company-location { white-space:nowrap; }
.company-cin { white-space:nowrap; font-size:11px; }
.company-profile-tags { display:flex; flex-wrap:wrap; gap:4px; max-width:235px; }
.data-tag { display:inline-flex; align-items:center; border-radius:999px; padding:3px 7px; background:var(--bg); color:var(--text-muted); font-size:10.5px; line-height:1.2; white-space:nowrap; }
.data-tag-good { background:var(--success-bg); color:var(--success); }
.data-tag-review { background:var(--warning-bg); color:var(--warning); }
.data-tag-verified { background:var(--success-bg); color:var(--success); }
.tracking-status { display:inline-flex; align-items:center; gap:6px; color:var(--text-muted); font-size:12px; white-space:nowrap; }
.tracking-status i { display:block; width:7px; height:7px; border-radius:50%; background:var(--text-faint); }
.tracking-on { color:var(--success); }
.tracking-on i { background:var(--success); }
.company-job-count { font-weight:650; }
.company-page-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.company-page-links > a { display:inline-flex; flex-direction:column; gap:2px; max-width:100%; padding:7px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); background:var(--surface); font-size:11px; font-weight:650; }
.company-page-links > a span { max-width:340px; overflow:hidden; color:var(--accent); font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.company-year-label { color:var(--text-muted); font-size:12px; }
.company-pagination { display:flex; align-items:center; justify-content:center; gap:14px; padding:12px 16px; border-top:1px solid var(--border); }
.company-pagination > span { min-width:100px; color:var(--text-muted); font-size:12.5px; text-align:center; }
.company-services-label { margin-bottom:9px; color:var(--text-muted); font-size:11px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.company-service-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 28px; list-style:none; margin:0; padding:0; }
.company-service-list li { position:relative; padding:7px 4px 7px 19px; border-bottom:1px solid var(--border); overflow-wrap:anywhere; font-size:13.5px; }
.company-service-list li::before { content:""; position:absolute; left:3px; top:14px; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.company-service-list li span { display:block; margin-top:3px; color:var(--text-muted); font-size:12px; }
.company-service-categories { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:16px; }
.company-service-categories > span:first-child { margin-right:3px; color:var(--text-muted); font-size:11.5px; }
.service-category-tag { padding:3px 8px; border-radius:999px; background:var(--bg); color:var(--text-muted); font-size:11px; }
.company-service-source, .company-service-empty { margin:14px 0 0; color:var(--text-muted); font-size:11.5px; }
@media (max-width: 720px) {
  .company-table-summary { align-items:flex-start; flex-direction:column; }
  .company-data-summary { flex-wrap:wrap; white-space:normal; }
  .company-table-wrap { max-height:72vh; }
  .company-service-list { grid-template-columns:1fr; }
}
input, select, textarea {
  padding: 9px 11px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  font-size: 13.5px; font-family: inherit; background: var(--surface); color: var(--text);
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }

.form-grid { display: grid; gap: 16px; max-width: 620px; }
.field label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 13px; }
.field input, .field select, .field textarea { width: 100%; }
.field .help { color: var(--text-muted); font-size: 12px; margin-top: 4px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkbox-row { display: flex; align-items: center; gap: 8px; }
.checkbox-row label { margin: 0; font-weight: 500; font-size: 13.5px; }
.form-actions { display: flex; gap: 10px; margin-top: 4px; }

.empty-state { text-align: center; padding: 48px 20px; color: var(--text-muted); }
.empty-state .icon { font-size: 28px; margin-bottom: 8px; }
.empty-state a { font-weight: 600; }

.skeleton { background: linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 37%, var(--skeleton-base) 63%); background-size: 400% 100%; animation: shimmer 1.4s ease infinite; border-radius: 6px; }
@keyframes shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
.skeleton-row td { padding: 14px 18px; }
.skeleton-line { height: 12px; border-radius: 4px; }

.pagination { display: flex; align-items: center; gap: 10px; margin-top: 16px; justify-content: flex-end; }
.pagination .info { color: var(--text-muted); font-size: 13px; }

.two-col { display: grid; grid-template-columns: 1.45fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) {
  .two-col { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); box-shadow: var(--shadow-md); }
  .main { margin-left: 0; }
  html.sidebar-collapsed .sidebar { width:var(--sidebar-w); }
  html.sidebar-collapsed .main { margin-left:0; }
  html.sidebar-collapsed .sidebar-brand { justify-content:flex-start; padding:18px 20px; flex-wrap:nowrap; }
  html.sidebar-collapsed .sidebar-brand-name,
  html.sidebar-collapsed .sidebar-brand-copy small,
  html.sidebar-collapsed .sidebar-nav .nav-section,
  html.sidebar-collapsed .sidebar-user .name,
  html.sidebar-collapsed .sidebar-user form { display:initial; font-size:revert; }
  html.sidebar-collapsed .sidebar-nav { padding:12px; }
  html.sidebar-collapsed .sidebar-nav a { justify-content:flex-start; padding:9px 10px; font-size:13.5px; }
  html.sidebar-collapsed .sidebar-collapse-toggle,
  html.sidebar-collapsed #sidebar-promo { display:none; }
  .sidebar-collapse-toggle { display:none; }
  .menu-toggle { display: flex; }
  .topbar-search { display: none; }
  .user-menu-name { display: none; }
  .user-menu-trigger > i { display: none; }
}

.description { white-space: pre-wrap; line-height: 1.65; color: var(--text); }
.detail-list { width: 100%; }
.detail-list td:first-child { color: var(--text-muted); width: 40%; }
.job-detail-page { max-width:1380px; margin:0 auto; }
.job-detail-hero { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:start; gap:18px; margin-bottom:20px; padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.job-company-mark { display:grid; place-items:center; width:54px; height:54px; border:1px solid var(--accent-soft); border-radius:15px; background:var(--accent-soft); color:var(--accent); font-size:20px; font-weight:750; }
.job-detail-identity { min-width:0; }
.job-detail-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:1px 0 8px; color:var(--text-muted); font-size:11px; }
.job-detail-breadcrumb a { color:var(--success); font-weight:600; }
.job-detail-breadcrumb > span[aria-hidden] { color:var(--text-faint); }
.job-detail-identity h1 { margin:0; color:var(--text); font-size:clamp(23px,2.6vw,30px); font-weight:720; letter-spacing:-.035em; line-height:1.23; }
.job-detail-location { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:9px; color:var(--text-muted); font-size:12px; }
.job-detail-location i { color:var(--text-faint); font-size:11px; }
.job-detail-location span { color:var(--text-faint); }
.job-detail-tags { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:15px; }
.job-detail-tags .pill,.job-detail-tags .job-result-tag { min-height:25px; padding:4px 9px; font-size:10.5px; }
.job-category-confidence { margin-left:4px; padding-left:6px; border-left:1px solid currentColor; opacity:.75; }
.job-apply-button { min-height:40px; margin-top:2px; white-space:nowrap; }
.job-apply-button i { margin-left:2px; font-size:10px; }
.job-apply-unavailable { align-self:start; margin-top:8px; color:var(--text-faint); font-size:11px; }
.job-match-section { margin-bottom:20px; padding:20px; border:1px solid var(--border); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-sm); }
.job-match-section-heading { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.job-match-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border:1px solid var(--accent-soft); border-radius:11px; background:var(--accent-soft); color:var(--accent); }
.job-match-section-heading p { margin:0 0 3px; color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.12em; }
.job-match-section-heading h2 { margin:0; color:var(--text); font-size:16px; font-weight:700; }
.job-match-section-heading > div > span { display:block; margin-top:3px; color:var(--text-muted); font-size:11px; }
.job-agent-match-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:12px; }
.job-agent-match { min-width:0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface-hover); }
.job-agent-match-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.job-agent-overline { color:var(--text-faint); font-size:9px; font-weight:750; letter-spacing:.1em; }
.job-agent-match h3 { margin:3px 0 0; color:var(--text); font-size:14px; font-weight:680; }
.job-agent-score { display:grid; justify-items:center; min-width:58px; padding:6px 9px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.job-agent-score strong { color:var(--text); font-size:18px; line-height:1; font-variant-numeric:tabular-nums; }
.job-agent-score strong small { font-size:11px; }
.job-agent-score > span { margin-top:3px; color:var(--text-faint); font-size:9px; }
.job-agent-score.score-high strong { color:var(--success); }
.job-agent-score.score-mid strong { color:var(--warning); }
.job-agent-score.score-low strong { color:var(--text-muted); }
.job-agent-explanation { margin:12px 0; color:var(--text-muted); font-size:11px; line-height:1.55; }
.job-match-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 14px; margin-top:14px; }
.job-match-metric > div { display:flex; justify-content:space-between; gap:8px; margin-bottom:5px; color:var(--text-muted); font-size:10px; }
.job-match-metric b { color:var(--text); font-size:10px; font-variant-numeric:tabular-nums; }
.job-match-metric b small { color:var(--text-faint); font-weight:500; }
.job-match-track { display:block; height:4px; overflow:hidden; border-radius:4px; background:var(--border); }
.job-match-track i { display:block; height:100%; border-radius:inherit; background:var(--accent-strong); }
.job-match-skill-groups { display:grid; gap:12px; margin-top:15px; padding-top:13px; border-top:1px solid var(--border); }
.job-match-skill-groups > div { min-width:0; }
.job-skill-label { display:block; margin-bottom:7px; color:var(--success); font-size:10px; font-weight:700; }
.job-skill-label i { margin-right:4px; }
.job-skill-missing-label { color:var(--text-muted); }
.job-match-skill-groups .skills-row { gap:5px; margin:0; }
.job-match-skill-groups .skill-tag { padding:3px 8px; font-size:10px; }
.job-no-match { display:flex; align-items:flex-start; gap:12px; margin-bottom:20px; padding:17px 19px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.job-no-match > span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:10px; background:var(--accent-soft); color:var(--accent); }
.job-no-match h2 { margin:0 0 4px; color:var(--text); font-size:13px; }
.job-no-match p { margin:0; color:var(--text-muted); font-size:11px; line-height:1.55; }
.job-detail-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr); gap:18px; align-items:start; }
.job-detail-main,.job-detail-aside { min-width:0; }
.job-detail-aside { display:grid; gap:16px; }
.job-detail-card { overflow:hidden; margin:0; }
.job-detail-card .card-header { min-height:52px; padding:14px 17px; }
.job-detail-card .card-header h2 { gap:8px; font-size:13px; }
.job-detail-card .card-header h2 i { color:var(--accent); font-size:12px; }
.job-description-source { color:var(--text-faint); font-size:10px; }
.job-detail-card .card-body { padding:17px; }
.job-description-card .description { max-width:78ch; overflow-wrap:anywhere; font-size:13px; line-height:1.85; }
.job-facts-list { margin:0; }
.job-fact-row { display:grid; grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--border); }
.job-fact-row:first-child { padding-top:0; }
.job-fact-row:last-child { padding-bottom:0; border:0; }
.job-fact-row dt { color:var(--text-muted); font-size:11px; }
.job-fact-row dd { min-width:0; margin:0; color:var(--text); font-size:11px; font-weight:550; overflow-wrap:anywhere; }
.job-fact-row dd small { display:block; margin-top:4px; color:var(--text-faint); font-size:10px; font-weight:400; line-height:1.45; }
.job-contact-list .job-fact-row { grid-template-columns:100px minmax(0,1fr); }
.job-contact-empty { margin:0; color:var(--text-muted); font-size:11px; line-height:1.6; }
.matches-page-intro { margin-bottom:17px; }
.matches-filters { display:flex; align-items:center; max-width:1120px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.matches-filters label { color:var(--text-muted); font-size:11px; font-weight:650; white-space:nowrap; }
.matches-filters select { width:min(100%,320px); min-height:40px; border-radius:9px; }
.match-search-summary { max-width:1120px; margin-top:17px; }
.match-summary-count { color:var(--text); font-weight:650; }
.match-summary-count strong { font-size:13px; font-variant-numeric:tabular-nums; }
.match-results { display:grid; gap:12px; max-width:1120px; }
.match-result { padding:18px 20px 0; overflow:hidden; border:1px solid var(--border); border-radius:13px; background:var(--surface); box-shadow:var(--shadow-sm); transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.match-result:hover { border-color:var(--border-strong); box-shadow:var(--shadow-md); transform:translateY(-1px); }
.match-result-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; }
.match-result-source { min-width:0; overflow:hidden; color:var(--success); font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.match-result-source span { padding:0 3px; color:var(--text-faint); }
.match-result-head time { flex:0 0 auto; color:var(--text-faint); font-size:10px; }
.match-result-main { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.match-result-copy { min-width:0; }
.match-result h2 { margin:0; font-size:18px; font-weight:620; line-height:1.4; letter-spacing:-.015em; }
.match-result h2 a { color:var(--accent); text-decoration:none; }
.match-result h2 a:hover { text-decoration:underline; }
.match-result h2 a:focus-visible,.match-result-details:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }
.match-result-company { margin:4px 0 0; color:var(--text-muted); font-size:11.5px; }
.match-result-company span { padding:0 4px; color:var(--text-faint); }
.match-result-score { display:grid; justify-items:center; min-width:64px; flex:0 0 auto; padding:7px 9px; border:1px solid var(--border); border-radius:11px; background:var(--surface-hover); }
.match-result-score strong { color:var(--text); font-size:20px; line-height:1; font-variant-numeric:tabular-nums; }
.match-result-score.score-high strong { color:var(--success); }
.match-result-score.score-mid strong { color:var(--warning); }
.match-result-score.score-low strong { color:var(--text-muted); }
.match-result-score strong small { font-size:11px; }
.match-result-score > span { margin-top:4px; color:var(--text-faint); font-size:9px; }
.match-result-labels { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:11px; }
.match-result-labels .job-result-tag { min-height:22px; font-size:10px; }
.match-agent-label { display:inline-flex; align-items:center; gap:5px; min-height:22px; margin-left:2px; color:var(--text-muted); font-size:10px; }
.match-agent-label i { color:var(--accent); font-size:9px; }
.match-result-evidence { margin-top:13px; overflow:hidden; border:1px solid var(--border); border-radius:10px; background:var(--surface-hover); }
.match-evidence-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:9px 12px; color:var(--text); cursor:pointer; font-size:10.5px; list-style:none; }
.match-evidence-heading::-webkit-details-marker { display:none; }
.match-evidence-heading:hover { background:var(--accent-soft); }
.match-evidence-heading:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.match-evidence-title,.match-evidence-toggle { display:inline-flex; align-items:center; gap:7px; }
.match-evidence-title i { color:var(--accent); font-size:10px; }
.match-evidence-toggle { color:var(--text-muted); font-size:9px; }
.match-evidence-toggle > i { color:var(--accent); font-size:9px; transition:transform .15s ease; }
.match-result-evidence[open] .match-evidence-heading { border-bottom:1px solid var(--border); }
.match-result-evidence[open] .match-evidence-toggle > i { transform:rotate(180deg); }
.match-result-evidence[open] .match-expand-label::before { content:"Collapse criteria"; }
.match-result-evidence[open] .match-expand-label { font-size:0; }
.match-result-evidence[open] .match-expand-label::before { font-size:9px; }
.match-result-evidence-content { padding:10px 12px 12px; }
.match-result-evidence-content > p { margin:0; color:var(--text-muted); font-size:10.5px; line-height:1.55; }
.match-result-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:11px; }
.match-result-metric > div { display:flex; justify-content:space-between; gap:7px; margin-bottom:5px; color:var(--text-muted); font-size:9px; }
.match-result-metric b { color:var(--text); font-size:9px; font-variant-numeric:tabular-nums; }
.match-result-metric b small { margin-left:1px; color:var(--text-faint); font-size:8px; font-weight:500; }
.match-result-metric > i { display:block; height:4px; overflow:hidden; border-radius:4px; background:var(--border); }
.match-result-metric > i > span { display:block; height:100%; border-radius:inherit; background:var(--accent-strong); }
.match-skill-evidence { display:flex; align-items:flex-start; flex-wrap:wrap; gap:12px 20px; margin-top:11px; padding-top:10px; border-top:1px solid var(--border); }
.match-skill-evidence section { min-width:0; }
.match-skill-title { display:block; margin-bottom:6px; color:var(--success); font-size:9px; }
.match-skill-title i { margin-right:3px; }
.match-skill-evidence .skills-row { gap:4px; margin:0; }
.match-skill-evidence .skill-tag { padding:3px 7px; font-size:9px; }
.match-missing-skills { color:var(--text-muted); font-size:9px; }
.match-missing-skills summary { cursor:pointer; font-weight:650; list-style:none; }
.match-missing-skills summary::-webkit-details-marker { display:none; }
.match-missing-skills summary::before { content:"+"; display:inline-grid; place-items:center; width:15px; height:15px; margin-right:5px; border:1px solid var(--border-strong); border-radius:50%; }
.match-missing-skills[open] summary::before { content:"−"; }
.match-missing-skills summary span { margin-left:4px; color:var(--text-faint); font-weight:500; }
.match-missing-skills .skills-row { margin-top:7px; }
.match-result-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:43px; margin:12px -20px 0; padding:7px 20px; border-top:1px solid var(--border); }
.match-result-footer .pill { padding:3px 8px; font-size:9px; }
.match-result-details { display:inline-flex; align-items:center; gap:7px; color:var(--accent); font-size:10px; font-weight:650; }
.match-result-details i { font-size:9px; transition:transform .15s ease; }
.match-result-details:hover { text-decoration:none; }
.match-result-details:hover i { transform:translateX(3px); }
.match-result-skeleton { padding:18px 20px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.match-result-skeleton span { display:block; height:8px; margin:0 0 11px; border-radius:5px; background:var(--skeleton-base); }
.match-result-skeleton span:first-child { width:35%; height:7px; }
.match-result-skeleton span:nth-child(2) { width:53%; height:15px; }
.match-result-skeleton span:last-child { width:88%; margin-bottom:0; }
@media (max-width:760px) {
  .match-result-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .matches-filters { align-items:stretch; flex-direction:column; }
  .matches-filters select { width:100%; }
  .match-result { padding:15px 14px 0; }
  .match-result-head { align-items:flex-start; }
  .match-result-head time { max-width:85px; text-align:right; }
  .match-result h2 { font-size:16px; }
  .match-result-score { min-width:56px; padding:6px 7px; }
  .match-result-score strong { font-size:17px; }
  .match-result-evidence-content { padding:9px 10px 10px; }
  .match-result-footer { margin-right:-14px; margin-left:-14px; padding-right:14px; padding-left:14px; }
}
.agent-page-intro { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.agent-page-icon { display:grid; place-items:center; width:44px; height:44px; flex:0 0 auto; border:1px solid var(--accent-soft); border-radius:13px; background:var(--accent-soft); color:var(--accent); font-size:16px; }
.agent-page-copy { min-width:0; }
.agent-page-copy > span { color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.13em; }
.agent-page-copy h2 { margin:3px 0 2px; color:var(--text); font-size:19px; font-weight:720; letter-spacing:-.025em; }
.agent-page-copy p { margin:0; color:var(--text-muted); font-size:11.5px; }
.agent-create-button { flex:0 0 auto; margin-left:auto; min-height:39px; }
.agent-create-button i { font-size:11px; }
.agent-overview { display:flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:1260px; min-height:25px; margin:0 0 10px; color:var(--text-muted); font-size:11px; }
.agent-overview strong { color:var(--text); font-size:12px; font-variant-numeric:tabular-nums; }
.agent-overview > i { color:var(--text-faint); font-style:normal; }
.agent-overview small { margin-left:auto; color:var(--text-faint); font-size:10px; }
.agent-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr)); align-items:stretch; gap:13px; max-width:1260px; }
.agent-list-card { display:flex; min-width:0; flex-direction:column; padding:17px; border:1px solid var(--border); border-radius:13px; background:var(--surface); box-shadow:var(--shadow-sm); transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.agent-list-card:hover { transform:translateY(-1px); border-color:var(--border-strong); box-shadow:var(--shadow-md); }
.agent-list-card-head { display:flex; align-items:flex-start; gap:11px; padding-bottom:13px; border-bottom:1px solid var(--border); }
.agent-list-icon { width:41px; height:41px; flex:0 0 auto; border-radius:11px; font-size:15px; }
.agent-list-title { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 8px; min-width:0; flex:1; }
.agent-list-index { grid-column:1/-1; color:var(--text-faint); font-size:8px; font-weight:800; letter-spacing:.11em; }
.agent-list-title h3 { min-width:0; overflow:hidden; margin:0; color:var(--text); font-size:14px; font-weight:680; line-height:1.35; text-overflow:ellipsis; }
.agent-list-title .pill { padding:3px 7px; font-size:9px; }
.agent-list-section { margin-top:12px; }
.agent-list-section h4 { display:flex; align-items:center; gap:6px; margin:0 0 7px; color:var(--text-muted); font-size:9px; font-weight:700; }
.agent-list-section h4 i { color:var(--accent); font-size:9px; }
.agent-tag-list { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.agent-role-tag,.agent-detail-tag,.agent-exclusion-tag,.agent-tag-overflow { display:inline-flex; align-items:center; min-height:21px; max-width:100%; overflow:hidden; padding:3px 7px; border:1px solid var(--border); border-radius:999px; background:var(--surface-hover); color:var(--text); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.agent-role-tag { border-color:var(--accent-soft); background:var(--accent-soft); color:var(--accent); font-weight:620; }
.agent-tag-overflow { border-style:dashed; color:var(--text-muted); }
.agent-list-empty { color:var(--text-faint); font-size:10px; font-style:italic; }
.agent-list-criteria { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; margin-top:14px; padding:11px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.agent-list-criteria > span { display:flex; align-items:center; gap:6px; min-width:0; overflow:hidden; color:var(--text-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.agent-list-criteria i { width:11px; flex:0 0 auto; color:var(--text-faint); font-size:9px; text-align:center; }
.agent-exclusions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:6px; margin-top:10px; }
.agent-exclusions > span:first-child { padding-top:4px; color:var(--text-faint); font-size:9px; }
.agent-exclusion-tag { min-height:19px; padding:2px 6px; background:var(--warning-bg); border-color:transparent; color:var(--warning); font-size:8px; }
.agent-score-threshold { margin-top:13px; }
.agent-score-threshold > div { display:flex; justify-content:space-between; gap:10px; margin-bottom:6px; color:var(--text-muted); font-size:9px; }
.agent-score-threshold strong { color:var(--text); font-size:10px; font-variant-numeric:tabular-nums; }
.agent-score-track { display:block; height:4px; overflow:hidden; border-radius:4px; background:var(--border); }
.agent-score-track i { display:block; height:100%; border-radius:inherit; background:var(--accent-strong); }
.agent-list-actions { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-top:auto; padding-top:15px; }
.agent-list-actions > div { display:flex; align-items:center; gap:6px; }
.agent-list-actions .btn { min-height:31px; padding:5px 9px; font-size:10px; }
.agent-list-actions .btn i { font-size:9px; }
.agent-matches-link { display:inline-flex; align-items:center; gap:6px; color:var(--accent); font-size:10px; font-weight:650; }
.agent-matches-link i { font-size:9px; transition:transform .15s ease; }
.agent-matches-link:hover { text-decoration:none; }
.agent-matches-link:hover i { transform:translateX(3px); }
.agent-list-skeleton { min-height:250px; padding:17px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.agent-list-skeleton span { display:block; height:8px; margin:0 0 16px; border-radius:5px; background:var(--skeleton-base); }
.agent-list-skeleton span:first-child { width:42%; height:16px; }
.agent-list-skeleton span:nth-child(2) { width:67%; height:11px; }
.agent-list-skeleton span:last-child { width:88%; height:52px; margin-top:32px; }
@media (max-width:640px) {
  .agent-page-intro { align-items:flex-start; flex-wrap:wrap; gap:10px; }
  .agent-page-icon { width:38px; height:38px; }
  .agent-page-copy { flex:1; }
  .agent-page-copy h2 { font-size:17px; }
  .agent-page-copy p { line-height:1.5; }
  .agent-create-button { width:100%; justify-content:center; }
  .agent-overview small { width:100%; margin:0; }
  .agent-list-grid { grid-template-columns:1fr; }
}
@media (max-width:960px) {
  .job-detail-grid { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:14px; }
  .job-detail-hero { grid-template-columns:48px minmax(0,1fr); gap:14px; padding:20px; }
  .job-company-mark { width:46px; height:46px; border-radius:13px; }
  .job-apply-button,.job-apply-unavailable { grid-column:2; justify-self:start; margin-top:0; }
}
@media (max-width:760px) {
  .job-detail-grid { grid-template-columns:1fr; }
  .job-detail-aside { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); align-items:start; }
}
@media (max-width:520px) {
  .job-detail-hero { grid-template-columns:40px minmax(0,1fr); gap:11px; padding:16px; }
  .job-company-mark { width:40px; height:40px; border-radius:11px; font-size:17px; }
  .job-detail-identity h1 { font-size:21px; }
  .job-detail-tags { gap:5px; margin-top:12px; }
  .job-detail-tags .pill,.job-detail-tags .job-result-tag { padding:4px 7px; font-size:9.5px; }
  .job-match-section { padding:15px; }
  .job-agent-match { padding:13px; }
  .job-match-metrics { gap:10px; }
  .job-detail-aside { grid-template-columns:1fr; }
  .job-fact-row { grid-template-columns:minmax(82px,.65fr) minmax(0,1.35fr); }
}

.login-page { min-height:100vh; display:grid; place-items:center; padding:42px 24px 22px; background:var(--bg); }
.login-shell { display:grid; grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr); width:min(100%,980px); min-height:570px; overflow:hidden; border:1px solid var(--border); border-radius:24px; background:var(--surface); box-shadow:0 24px 70px rgba(18,48,105,.14); }
.login-brand-panel { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; min-height:570px; overflow:hidden; padding:38px 42px; background:#111f43; color:#f7f9ff; }
.login-brand-lockup { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
.login-logo { display:grid; place-items:center; width:48px; height:48px; flex:0 0 auto; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:#2456d8; color:white; font-family:"Noto Sans Devanagari",var(--font); font-size:25px; font-weight:750; box-shadow:0 7px 18px rgba(0,0,0,.18); }
.login-brand-lockup strong { display:block; font-family:"Noto Sans Devanagari",var(--font); font-size:17px; letter-spacing:-.02em; }
.login-brand-lockup small { display:block; margin-top:4px; color:#bac9e8; font-size:11px; }
.login-brand-message { position:relative; z-index:1; max-width:390px; padding:50px 0; }
.login-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#a9c5ff; font-size:10px; font-weight:750; letter-spacing:.13em; }
.login-eyebrow span { width:7px; height:7px; border-radius:50%; background:#62a2ff; box-shadow:0 0 0 4px rgba(98,162,255,.15); }
.login-brand-message h1 { margin:23px 0 15px; color:#fff; font-size:clamp(34px,4vw,45px); font-weight:750; letter-spacing:-.045em; line-height:1.12; }
.login-brand-message p { max-width:340px; margin:0; color:#bdc9df; font-size:14px; line-height:1.8; }
.login-brand-foot { position:relative; z-index:1; display:flex; align-items:center; gap:12px; color:#d6e1f4; font-size:12px; font-weight:550; }
.login-orbit { position:relative; display:block; width:38px; height:38px; border:1px solid rgba(142,180,255,.55); border-radius:50%; }
.login-orbit::before,.login-orbit::after { position:absolute; inset:5px -3px; border:1px solid rgba(142,180,255,.45); border-radius:50%; content:""; transform:rotate(55deg); }
.login-orbit::after { transform:rotate(-55deg); }
.login-orbit i { position:absolute; z-index:1; top:2px; left:17px; width:6px; height:6px; border-radius:50%; background:#82adff; }
.login-orbit i:nth-child(2) { top:24px; left:4px; }
.login-orbit i:nth-child(3) { top:19px; left:29px; }
.login-decor { position:absolute; z-index:-1; border:1px solid rgba(153,184,244,.11); border-radius:50%; pointer-events:none; }
.login-decor-one { right:-125px; bottom:40px; width:360px; height:360px; }
.login-decor-two { right:-74px; bottom:91px; width:258px; height:258px; }
.login-form-panel { display:flex; flex-direction:column; justify-content:center; padding:56px clamp(34px,6vw,76px); }
.login-form-heading { margin-bottom:32px; }
.login-form-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:25px; border:1px solid var(--border); border-radius:13px; background:var(--accent-soft); color:var(--accent); font-size:16px; }
.login-kicker { margin:0 0 8px; color:var(--accent); font-size:10px; font-weight:750; letter-spacing:.14em; }
.login-form-heading h2 { margin:0; color:var(--text); font-size:27px; font-weight:750; letter-spacing:-.035em; }
.login-form-subtitle { margin:9px 0 0; color:var(--text-muted); font-size:13px; line-height:1.6; }
.login-form { gap:19px; max-width:none; }
.login-form .field label { margin-bottom:8px; color:var(--text); font-size:12.5px; font-weight:650; }
.login-form .field input { min-height:47px; padding:11px 13px; border-radius:10px; }
.login-form .field input:focus { outline:3px solid color-mix(in srgb,var(--accent) 16%,transparent); }
.login-submit { display:flex; align-items:center; justify-content:center; gap:10px; min-height:47px; margin-top:3px; border-radius:10px; font-weight:650; }
.login-submit i { font-size:12px; transition:transform .15s ease; }
.login-submit:hover i { transform:translateX(3px); }
.login-error { display:flex; align-items:flex-start; gap:9px; margin:0; padding:11px 12px; border:1px solid var(--danger-border); border-radius:10px; background:var(--danger-bg); color:var(--danger); font-size:12px; line-height:1.5; }
.login-error i { margin-top:2px; }
.login-security { display:flex; align-items:center; justify-content:center; gap:7px; margin:24px 0 0; color:var(--text-faint); font-size:10.5px; }
.login-footer { padding-top:18px; color:var(--text-faint); font-size:10.5px; text-align:center; }
.login-footer span { padding:0 4px; }
@media (max-width:720px) {
  .login-page { align-content:center; padding:18px 14px; }
  .login-shell { grid-template-columns:1fr; width:min(100%,480px); min-height:0; border-radius:20px; }
  .login-brand-panel { min-height:280px; padding:25px 27px; }
  .login-brand-message { padding:30px 0 15px; }
  .login-brand-message h1 { margin:16px 0 9px; font-size:32px; }
  .login-brand-message p { max-width:390px; font-size:12.5px; }
  .login-brand-foot { display:none; }
  .login-decor-one { right:-160px; bottom:-210px; }
  .login-decor-two { right:-120px; bottom:-160px; }
  .login-form-panel { padding:32px 27px 28px; }
  .login-form-heading { margin-bottom:24px; }
  .login-form-icon { width:38px; height:38px; margin-bottom:19px; }
  .login-form-heading h2 { font-size:24px; }
  .login-security { margin-top:19px; }
}
@media (prefers-reduced-motion:reduce) {
  .login-submit i { transition:none; }
}

/* Toasts */
#toast-root { position: fixed; top: 18px; right: 18px; z-index: 100; display: flex; flex-direction: column; gap: 10px; }
.toast { background: var(--toast-bg); color: #fff; padding: 11px 16px; border-radius: var(--radius-sm); font-size: 13.5px; box-shadow: var(--shadow-md); min-width: 220px; max-width: 340px; animation: toast-in .18s ease; }
.toast.success { background: #12805c; }
.toast.error { background: #b42318; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

.match-item { padding: 12px 0; border-bottom: 1px solid var(--border); }
.match-item:last-child { border-bottom: none; }
.match-item .agent-name { font-weight: 650; }
.skills-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.skill-tag { background: var(--accent-soft); color: var(--accent); font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.skill-tag.missing { background: var(--danger-bg); color: var(--danger); }

.backdrop { position: fixed; inset: 0; background: var(--backdrop); z-index: 15; display: none; }
.backdrop.open { display: block; }

/* ---------- Badge hues (icon badges, avatar badges) ---------- */
/* Fixed, vivid brand hues mixed at low opacity over whatever surface sits
   behind them — this reads correctly in both themes without a dark-mode
   variant for every hue. */
.badge-indigo { --c: #4f46e5; }
.badge-violet { --c: #7c3aed; }
.badge-blue { --c: #2563eb; }
.badge-teal { --c: #0d9488; }
.badge-amber { --c: #d97706; }
.badge-rose { --c: #e11d48; }
.badge-cyan { --c: #0891b2; }
.badge-fuchsia { --c: #c026d3; }

.icon-badge {
  width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c); font-size: 16px;
}
.avatar-badge {
  width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c);
  font-weight: 700; font-size: 13px; font-family: var(--font-display, var(--font));
}

/* ---------- Sparklines ---------- */
.sparkline { width: 72px; height: 28px; display: block; overflow: visible; }

/* ---------- Page greeting ---------- */
.page-greeting { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; }
.page-greeting h1 { font-size: 24px; margin: 0 0 4px; }
.page-greeting .sub { color: var(--text-muted); font-size: 14px; margin: 0; }
.page-greeting .date-chip {
  display: flex; align-items: center; gap: 10px; color: var(--text-muted); font-size: 13px;
  text-align: right; flex-direction: column; align-items: flex-end;
}
.page-greeting .date-chip .date-main { display: flex; align-items: center; gap: 7px; color: var(--text); font-weight: 600; font-size: 13.5px; }
.page-greeting .date-chip .date-main i { color: var(--accent); }

/* ---------- Hero card: decorative blobs ---------- */
.hero-card { position: relative; overflow: hidden; }
.hero-card::before, .hero-card::after {
  content: none;
}
.hero-card > * { position: relative; z-index: 1; }
.hero-icon { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; background: var(--accent-soft); color: var(--accent); font-size: 11px; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 6px; }
.hero-sub-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.hero-sub-actions .hint { color: var(--text-faint); font-size: 11.5px; }

/* ---------- Agent cards ---------- */
.agent-card { position: relative; display: flex; flex-direction: column; gap: 10px; }
.agent-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.agent-card-id { display: flex; align-items: center; gap: 10px; min-width: 0; }
.agent-card-id .icon-badge { width: 36px; height: 36px; border-radius: 9px; font-size: 14px; }
.agent-card .agent-card-name { font-weight: 650; line-height: 1.3; }
.agent-card .agent-card-sub { color: var(--text-muted); font-size: 12.5px; }
.agent-card .agent-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.card-menu-trigger {
  background: none; border: none; color: var(--text-faint); cursor: pointer; width: 26px; height: 26px;
  border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.card-menu-trigger:hover { background: var(--bg); color: var(--text); }
.card-menu { position: relative; }

/* ---------- Stat cards ---------- */
.stat-card { display: flex; align-items: center; gap: 14px; }
.stat-card .stat-body { flex: 1; min-width: 0; }
.stat-card .num { font-size: 24px; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
.stat-card .label { color: var(--text-muted); font-size: 12px; margin-top: 1px; }
.stat-card .stat-note { color: var(--text-faint); font-size: 11px; margin-top: 2px; }
.stat-card .sparkline-wrap { flex-shrink: 0; }

/* ---------- List rows with avatar badges ---------- */
.avatar-row { display: flex; align-items: center; gap: 12px; }
.avatar-row .row-text { min-width: 0; flex: 1; }
.avatar-row .row-text .title-cell { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-link-row {
  display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-bottom: 1px solid var(--border);
  color: var(--text); transition: background .1s ease;
}
.list-link-row:last-child { border-bottom: none; }
.list-link-row:hover { background: var(--surface-hover); text-decoration: none; }
.list-link-row .chevron { color: var(--text-faint); font-size: 12px; flex-shrink: 0; }
.list-link-row .trailing { flex-shrink: 0; text-align: right; }

/* ---------- Sidebar promo card ---------- */
.sidebar-promo {
  position: relative;
  margin: 10px 12px 14px; padding: 14px; border-radius: var(--radius);
  background: #142750;
  border: 1px solid #2d4f94; color: #f6f8ff;
}
.sidebar-promo-close { position:absolute; top:7px; right:7px; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:0; border-radius:7px; background:transparent; color:#c5d2f0; cursor:pointer; }
.sidebar-promo-close:hover { background:rgba(255,255,255,.12); color:#fff; }
.sidebar-promo .promo-icon { width: 30px; height: 30px; border-radius: 8px; background: #2658d9; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; margin-bottom: 10px; }
.sidebar-promo h3 { font-size: 13.5px; margin: 0 0 4px; }
.sidebar-promo p { margin: 0 0 12px; font-size: 12px; color: #c5d2f0; line-height: 1.5; }
.sidebar-promo a.btn { width: 100%; padding: 8px 12px; font-size: 12.5px; }

/* Per-company micro-scan crawler visualization and returned findings. */
.microscan-hunt { margin: 16px 0; padding: 18px; border: 1px solid var(--hero-border); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.microscan-hunt-heading { display: flex; align-items: center; gap: 20px; margin: -18px -18px 18px; padding: 20px 24px; border-bottom: 1px solid #d6e4ff; background: #edf3ff; }
.microscan-hunt-heading div, .microscan-hunt-step div { display: grid; gap: 5px; }
.microscan-hunt-heading strong { color:#102455; font-size:20px; font-weight:750; letter-spacing:-.025em; }
.microscan-hunt-heading span:not(.crawler-orbit) { color:#536b9e; font-size:15px; }
.crawler-orbit { width:64px; height:64px; flex:0 0 64px; display:block; position:relative; border:2px solid #2456d8; border-radius:50%; background:#e1ebff; box-shadow:0 0 0 7px rgba(36,86,216,.08),0 8px 18px rgba(36,86,216,.12); animation:crawler-spin 3s linear infinite; }
.crawler-orbit::before, .crawler-orbit::after { content:""; position:absolute; inset:10px -5px; border:2px solid #5684ef; border-radius:50%; transform:rotate(60deg); }
.crawler-orbit::after { transform: rotate(-60deg); }
.crawler-orbit i { width:8px; height:8px; position:absolute; top:5px; left:26px; border-radius:50%; background:#164bd1; box-shadow:0 0 10px rgba(22,75,209,.55); }
.crawler-orbit i:nth-child(2) { top:43px; left:8px; animation:crawler-pulse 1.3s ease-in-out infinite alternate; }
.crawler-orbit i:nth-child(3) { top:43px; left:46px; animation:crawler-pulse 1.3s .4s ease-in-out infinite alternate; }
:root[data-theme="dark"] .microscan-hunt-heading { background:#172645; border-color:#2b4577; }
:root[data-theme="dark"] .microscan-hunt-heading strong { color:#f0f4ff; }
:root[data-theme="dark"] .microscan-hunt-heading span:not(.crawler-orbit) { color:#b5c6e8; }
:root[data-theme="dark"] .crawler-orbit { background:#172e59; border-color:#5d8fff; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .microscan-hunt-heading { background:#172645; border-color:#2b4577; }
  :root:not([data-theme="light"]) .microscan-hunt-heading strong { color:#f0f4ff; }
  :root:not([data-theme="light"]) .microscan-hunt-heading span:not(.crawler-orbit) { color:#b5c6e8; }
  :root:not([data-theme="light"]) .crawler-orbit { background:#172e59; border-color:#5d8fff; }
}
.microscan-hunt-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.microscan-hunt-step { min-width: 0; display: flex; align-items: flex-start; gap: 9px; padding: 11px 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); opacity: .55; }
.microscan-hunt-step.is-active { opacity: 1; border-color: var(--accent-strong); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-strong) 12%, transparent); }
.microscan-hunt-step.is-done { opacity: .8; }
.hunt-step-marker { width: 23px; height: 23px; flex: 0 0 23px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-hover); color: var(--text-muted); font-size: 11px; font-weight: 700; }
.is-active .hunt-step-marker { background: var(--accent-strong); color: #fff; animation: crawler-pulse 1s ease-in-out infinite alternate; }
.is-done .hunt-step-marker { background: var(--accent-soft); color: var(--accent-strong); }
.microscan-hunt-step strong { font-size: 11.5px; }
.microscan-hunt-step div span { color: var(--text-muted); font-size: 10.5px; line-height: 1.4; }
.microscan-phase-note { margin: 12px 0 0; color: var(--text-muted); font-size: 11px; }
.microscan-result-card { list-style: none; margin: 10px 0; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.microscan-result-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.microscan-result-title strong { font-size: 13px; }
.result-returned { color: var(--accent-strong); font-size: 11px; font-weight: 650; }
.microscan-result-trail { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 11px 0; color: var(--text-muted); font-size: 11.5px; }
.microscan-result-trail b { color: var(--accent-strong); font-size: 10px; }
.microscan-result-card p { margin: 8px 0; color: var(--text-muted); font-size: 11.5px; line-height: 1.5; }
.microscan-result-card > a { font-size: 11.5px; }
.website-candidates { margin-top: 12px; padding: 11px; border-radius: 8px; background: var(--surface-hover); }
.website-candidates > strong, .website-research-links > strong { display: block; margin-bottom: 7px; font-size: 11px; }
.website-candidate { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--border); }
.website-candidate > div { display: grid; gap: 4px; min-width: 0; }
.website-candidate span, .website-candidate a:not(:first-child) { color: var(--text-muted); font-size: 10.5px; overflow-wrap: anywhere; }
.website-candidate .btn { flex: 0 0 auto; }
.website-research-links { margin-top: 10px; font-size: 11px; }
.website-research-links a { margin-right: 5px; }
@keyframes crawler-spin { to { transform: rotate(360deg); } }
@keyframes crawler-pulse { to { opacity: .45; transform: scale(.88); } }
@media (max-width: 720px) { .microscan-hunt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .microscan-hunt-steps { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .backdrop.open { display: block; } }

/* Team access: controls a team member isn't allowed to use are hidden. The API
   enforces the same rules — this only keeps dead buttons out of the way. */
html[data-role="team"] .admin-only { display: none !important; }
.role-label { display: block; color: var(--text-faint); font-size: 11px; font-weight: 500; }
.user-menu-role { padding: 8px 12px; color: var(--text-muted); font-size: 12px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.pill-role-admin { background: var(--accent-soft); color: var(--accent); }
.pill-role-team { background: var(--success-bg); color: var(--success); }
.team-access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.team-access-grid h3 { margin: 0 0 8px; font-size: 13.5px; }
.team-access-grid ul { margin: 0; padding-left: 18px; color: var(--text-muted); font-size: 13px; line-height: 1.7; }
.team-row-actions { display: flex; gap: 8px; justify-content: flex-end; }
@media (max-width: 720px) { .team-access-grid { grid-template-columns: 1fr; } }

/* Jobs split by technology area */
.tech-area-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.tech-area-tab { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border: 1px solid var(--border-strong); border-radius: 999px; background: var(--surface); color: var(--text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.tech-area-tab span { padding: 1px 7px; border-radius: 999px; background: var(--bg); color: var(--text-muted); font-size: 11.5px; font-weight: 700; }
.tech-area-tab:hover { border-color: var(--accent); }
.tech-area-tab.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.tech-area-tab.active span { background: rgba(255, 255, 255, .22); color: #fff; }
.job-result-tag.tech-area-tag { background: var(--accent-soft); color: var(--accent); font-weight: 650; }

/* Google Maps company discovery */
.maps-discovery-form { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 4px; }
.maps-discovery-form input { flex: 1; min-width: 220px; }
.maps-discovery-summary { margin: 14px 0 8px; font-size: 13.5px; }
.maps-discovery-summary span { display: block; color: var(--text-muted); font-size: 12.5px; margin-top: 2px; }
.maps-discovery-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.maps-discovery-list li { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; font-size: 13px; }
.maps-discovery-list li span { color: var(--text-muted); font-size: 12.5px; }
.maps-discovery-list li small { color: var(--text-faint); font-size: 11.5px; }
.maps-discovery-note { margin: 12px 0 0; color: var(--text-muted); font-size: 12.5px; }
