:root {
  --bg: #000000;
  --surface: #0d0d0d;
  --surface-raised: #141414;
  --input: #0a0a0a;
  --text: #f7f7f7;
  --muted: #b3b3b3;
  --muted-2: #858585;
  --line: #242424;
  --line-strong: #343434;
  --primary: #22d3ee;
  --primary-strong: #06b6d4;
  --secondary: #14b8a6;
  --success: #22c55e;
  --warning: #f59e0b;
  --danger: #ef4444;
  --star: #fbbf24;
  --shadow: 0 18px 48px rgba(0,0,0,.48);
  --radius: 18px;
}
[data-theme="light"] {
  --bg: #f6f8f8;
  --surface: #ffffff;
  --surface-raised: #f0f5f5;
  --input: #ffffff;
  --text: #0b1112;
  --muted: #526467;
  --muted-2: #728286;
  --line: #d8e1e2;
  --line-strong: #bccacc;
  --primary: #0891b2;
  --primary-strong: #0e7490;
  --secondary: #0f766e;
  --success: #15803d;
  --warning: #b45309;
  --danger: #dc2626;
  --star: #d97706;
  --shadow: 0 16px 42px rgba(17,41,45,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--text); min-height:100vh; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:3px solid color-mix(in srgb,var(--primary) 46%,transparent); outline-offset:2px; }
.container { width:min(1340px,calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:70; background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.nav-wrap { min-height:70px; display:flex; align-items:center; gap:16px; }
.brand { font-weight:800; font-size:24px; letter-spacing:-.7px; white-space:nowrap; }
.brand span { color:var(--primary); }
.nav-search { position:relative; flex:1; max-width:420px; }
.nav-search input,.field,.toolbar input,.toolbar select { width:100%; border:1px solid var(--line); background:var(--input); color:var(--text); border-radius:12px; padding:11px 13px; outline:0; }
.nav-search input:focus,.field:focus,.toolbar input:focus,.toolbar select:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent); }
.nav-links { display:flex; align-items:center; gap:14px; margin-left:auto; font-size:14px; font-weight:650; }
.nav-links a:not(.nav-cta):hover { color:var(--primary); }
.nav-cta { padding:9px 13px; border-radius:10px; background:var(--primary); color:#001013; font-weight:800; }
.icon-btn,.mobile-menu-btn { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); }
.mobile-menu-btn { display:none; }
.mobile-nav { display:none; border-top:1px solid var(--line); background:var(--bg); padding:12px 20px 16px; }
.mobile-nav.show { display:grid; gap:6px; }
.mobile-nav a { padding:11px 12px; border-radius:10px; }
.mobile-nav a:hover { background:var(--surface-raised); }
.suggestions { position:absolute; left:0; right:0; top:calc(100% + 8px); display:none; overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); max-height:440px; overflow-y:auto; z-index:90; }
.suggestions.show { display:block; }
.suggestion-group { padding:9px 13px 6px; color:var(--muted-2); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-top:1px solid var(--line); }
.suggestion-group:first-child { border-top:0; }
.suggestion { padding:11px 13px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); }
.suggestion:hover { background:var(--surface-raised); }
.hero { min-height:450px; display:grid; align-items:center; padding:68px 0 54px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 42%); }
.hero-inner { max-width:900px; margin:0 auto; text-align:center; }
.eyebrow { display:inline-flex; padding:7px 10px; border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line)); border-radius:999px; color:var(--primary); font-size:12px; font-weight:800; background:color-mix(in srgb,var(--primary) 7%,var(--surface)); }
.hero h1 { margin:18px auto 14px; max-width:760px; font-size:clamp(42px,6vw,70px); line-height:1.02; letter-spacing:-2.7px; }
.hero p { max-width:720px; margin:0 auto; color:var(--muted); line-height:1.65; font-size:18px; }
.hero-search-wrap { position:relative; max-width:760px; margin:28px auto 0; }
.hero-search { display:flex; gap:8px; padding:8px; border:1px solid var(--line-strong); background:var(--surface); border-radius:17px; box-shadow:var(--shadow); }
.hero-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--text); padding:10px 12px; }
.popular-searches { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:14px; color:var(--muted-2); font-size:13px; }
.popular-searches a { color:var(--muted); }
.popular-searches a:hover { color:var(--primary); }
.btn { min-height:42px; border:0; border-radius:11px; padding:10px 15px; font-weight:750; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.btn-primary { background:var(--primary); color:#001013; }
.btn-primary:hover { background:var(--primary-strong); color:white; }
.btn-secondary { background:var(--surface-raised); color:var(--text); border:1px solid var(--line); }
.btn-danger { background:color-mix(in srgb,var(--danger) 12%,var(--surface)); color:var(--danger); border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line)); }
.btn-sm { min-height:36px; padding:7px 11px; font-size:13px; }
.btn.disabled,.btn[aria-disabled="true"] { opacity:.45; pointer-events:none; }
.btn-inline { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:9px; padding:7px 10px; color:var(--muted); font-size:13px; background:var(--surface); }
.section { padding:52px 0; }
.section.compact { padding:34px 0; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:20px; }
.section-head h2 { margin:0; font-size:28px; letter-spacing:-.7px; }
.section-head p { margin:6px 0 0; color:var(--muted); }
.grid { display:grid; gap:16px; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px; }
.card.hoverable { transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.card.hoverable:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 35%,var(--line)); background:var(--surface-raised); }
.company-row,.profile-top { display:flex; align-items:flex-start; gap:14px; }
.logo-box,.profile-avatar { width:54px; height:54px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; border:1px solid var(--line); background:var(--surface-raised); color:var(--primary); font-weight:800; }
.profile-avatar { width:78px; height:78px; border-radius:20px; font-size:23px; background:color-mix(in srgb,var(--primary) 13%,var(--surface)); }
.company-title { margin:0; font-size:18px; font-weight:800; }
.meta,.small { color:var(--muted); }
.small { font-size:13px; }
.rating { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-weight:750; }
.stars { color:var(--star); white-space:nowrap; letter-spacing:1px; }
.experience-label { margin-top:13px; color:var(--muted-2); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.verified,.verified-review { display:inline-flex; align-items:center; gap:5px; color:var(--success); font-size:12px; font-weight:750; }
.verified-review { margin-top:7px; padding:5px 8px; border:1px solid color-mix(in srgb,var(--success) 35%,var(--line)); border-radius:999px; background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.page-hero { padding:38px 0 22px; border-bottom:1px solid var(--line); }
.page-hero h1 { margin:0 0 8px; font-size:clamp(32px,5vw,46px); letter-spacing:-1.5px; }
.breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; color:var(--muted-2); font-size:13px; }
.company-hero-grid { display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; }
.company-score { min-width:210px; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.company-score strong { display:block; font-size:30px; }
.tabs-bar { position:sticky; top:70px; z-index:45; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 96%,transparent); backdrop-filter:blur(10px); }
.tabs-inner { display:flex; gap:6px; overflow-x:auto; padding:9px 0; }
.tab-link { padding:9px 13px; border-radius:9px; color:var(--muted); white-space:nowrap; font-size:14px; font-weight:700; }
.tab-link.active { background:var(--surface-raised); color:var(--text); }
.layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:22px; align-items:start; }
.sidebar-card { position:sticky; top:132px; }
.toolbar { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:18px; }
.toolbar input,.toolbar select { width:auto; min-width:170px; }
.form-grid { display:grid; gap:16px; }
.form-grid.two { grid-template-columns:repeat(2,1fr); }
label { display:grid; gap:7px; font-size:14px; font-weight:650; }
textarea.field { min-height:128px; resize:vertical; }
.form-actions { display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin-top:4px; }
.metric-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin-top:14px; }
.metric { padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface-raised); }
.metric strong { display:block; font-size:20px; }
.metric span { color:var(--muted); font-size:11px; }
.progress { height:8px; border-radius:999px; overflow:hidden; background:var(--surface-raised); }
.progress span { display:block; height:100%; border-radius:inherit; background:var(--primary); }
.dist-row { display:grid; grid-template-columns:44px 1fr 42px; gap:9px; align-items:center; margin:9px 0; font-size:13px; }
.review-card { display:grid; gap:12px; }
.review-top { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.review-title { margin:4px 0 0; font-size:17px; }
.review-context { display:flex; gap:7px; flex-wrap:wrap; }
.badge { display:inline-flex; padding:5px 8px; border-radius:999px; border:1px solid var(--line); background:var(--surface-raised); color:var(--muted); font-size:12px; }
.review-text { margin:0; line-height:1.68; white-space:pre-line; }
.review-section { padding:12px 0 0; border-top:1px solid var(--line); }
.review-section strong { display:block; margin-bottom:6px; }
.review-actions { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.review-actions button { border:1px solid var(--line); background:var(--surface); color:var(--muted); border-radius:9px; padding:7px 10px; }
.reply { border-left:3px solid var(--primary); padding:11px 12px; background:var(--surface-raised); border-radius:0 10px 10px 0; color:var(--muted); }
.star-input { display:flex; gap:4px; }
.star-input button { min-width:38px; min-height:38px; border:0; padding:0; background:transparent; color:#525252; font-size:30px; line-height:1; }
.star-input button.active { color:var(--star); }
.criteria-box { display:grid; gap:10px; }
.criterion { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid var(--line); }
.criterion:last-child { border-bottom:0; }
.notice { padding:13px 14px; border:1px solid color-mix(in srgb,var(--primary) 26%,var(--line)); border-radius:13px; background:color-mix(in srgb,var(--primary) 6%,var(--surface)); color:var(--muted); line-height:1.5; }
.notice strong { color:var(--text); }
.empty { text-align:center; padding:38px 22px; color:var(--muted); }
.empty h3 { color:var(--text); margin:0 0 8px; }
.cta-panel { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.cta-panel h2 { margin:0 0 7px; }
.stepper { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-bottom:18px; }
.step { padding:9px; border:1px solid var(--line); border-radius:10px; color:var(--muted-2); font-size:11px; text-align:center; }
.step.active { border-color:color-mix(in srgb,var(--primary) 50%,var(--line)); color:var(--primary); background:color-mix(in srgb,var(--primary) 7%,var(--surface)); }
.preview-card { display:grid; gap:12px; }
.char-row { display:flex; justify-content:flex-end; margin-top:-3px; color:var(--muted-2); font-size:11px; }
.duplicate-box { display:none; border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line)); border-radius:13px; padding:12px; background:color-mix(in srgb,var(--warning) 6%,var(--surface)); }
.duplicate-box.show { display:block; }
.duplicate-item { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid var(--line); }
.duplicate-item:last-child { border-bottom:0; }
.history { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.history-head,.history-item { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.history-item { padding:11px 0; border-bottom:1px solid var(--line); }
.pager { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:24px; flex-wrap:wrap; }
.security-banner { border:1px solid color-mix(in srgb,var(--warning) 40%,var(--line)); background:color-mix(in srgb,var(--warning) 9%,var(--surface)); padding:12px 14px; border-radius:13px; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.security-banner.success { border-color:color-mix(in srgb,var(--success) 38%,var(--line)); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.security-chip { display:inline-flex; padding:5px 8px; border:1px solid var(--line); border-radius:999px; font-size:11px; color:var(--muted); }
.security-chip.good { color:var(--success); }
.security-chip.warn { color:var(--warning); }
.turnstile-slot { min-height:66px; display:flex; align-items:center; }
.risk-badge { display:inline-flex; padding:5px 8px; border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line)); border-radius:999px; color:var(--warning); font-size:12px; }
.risk-badge.high { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); }
.auth-wrap { min-height:68vh; display:grid; place-items:center; padding:44px 0; }
.auth-card { width:min(500px,100%); }
.tabs { display:flex; gap:5px; padding:5px; border-radius:11px; background:var(--surface-raised); margin-bottom:18px; }
.tabs button { flex:1; padding:9px; border:0; border-radius:8px; color:var(--muted); background:transparent; font-weight:700; }
.tabs button.active { color:var(--text); background:var(--surface); }
.auth-links { display:flex; justify-content:space-between; gap:12px; margin-top:12px; font-size:13px; }
.auth-links a,.muted-link { color:var(--primary); font-weight:700; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { padding:12px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
th { color:var(--muted); }
.audit-list { display:grid; gap:6px; }
.audit-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.policy-copy { line-height:1.75; color:var(--muted); }
.policy-copy h2,.policy-copy h3 { color:var(--text); }
.modal-backdrop { position:fixed; inset:0; z-index:120; display:none; place-items:center; padding:20px; background:rgba(0,0,0,.78); }
.modal-backdrop.show { display:grid; }
.modal { width:min(540px,100%); padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }
.toast { position:fixed; top:84px; right:18px; z-index:160; max-width:340px; padding:12px 14px; border:1px solid var(--line-strong); border-radius:11px; background:#0d0d0d; color:#f7f7f7; box-shadow:var(--shadow); opacity:0; transform:translateY(-8px); pointer-events:none; transition:.18s; }
.toast.show { opacity:1; transform:translateY(0); }
.site-footer { margin-top:60px; padding:42px 0; border-top:1px solid var(--line); background:var(--surface); }
.footer-grid { display:grid; grid-template-columns:2fr repeat(4,1fr); gap:28px; }
.footer-grid h4 { margin:0 0 12px; }
.footer-grid p,.footer-grid a { display:block; margin:8px 0; color:var(--muted); font-size:14px; line-height:1.55; }
.footer-brand { margin-bottom:10px; }
.check-inline { display:inline-flex; align-items:center; gap:7px; padding:10px 11px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
@media (max-width:1080px) {
  .grid-3,.grid-4 { grid-template-columns:repeat(2,1fr); }
  .layout { grid-template-columns:1fr; }
  .sidebar-card { position:static; }
  .metric-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:repeat(3,1fr); }
  .desktop-search,.nav-links { display:none; }
  .mobile-menu-btn { display:grid; }
}
@media (max-width:720px) {
  .container { width:min(100% - 20px,1340px); }
  .hero { min-height:410px; padding:52px 0 42px; }
  .hero h1 { letter-spacing:-1.8px; }
  .hero-search { flex-direction:column; }
  .grid-3,.grid-2,.grid-4,.form-grid.two { grid-template-columns:1fr; }
  .company-hero-grid { grid-template-columns:1fr; }
  .company-score { min-width:0; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .toolbar { display:grid; grid-template-columns:1fr; }
  .toolbar input,.toolbar select,.check-inline { width:100%; min-width:0; }
  .review-top,.history-item,.cta-panel { flex-direction:column; align-items:flex-start; }
  .criterion { flex-direction:column; align-items:flex-start; }
  .stepper { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .page-hero { padding-top:28px; }
  .tabs-bar { top:70px; }
  .nav-cta-mobile { position:fixed; left:12px; right:12px; bottom:12px; z-index:65; box-shadow:var(--shadow); }
  body { padding-bottom:66px; }
}
@media (max-width:460px) {
  .footer-grid { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .stepper { grid-template-columns:repeat(2,1fr); }
}

/* HRRate v2.4 — Notifications, Engagement & Mobile UI Polish */
.icon-btn,.mobile-menu-btn { width:40px; height:40px; flex:0 0 40px; padding:0; }
.icon-btn svg,.mobile-menu-btn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.theme-icon { display:none; }
html[data-theme="dark"] .theme-icon-sun { display:block; }
html[data-theme="light"] .theme-icon-moon { display:block; }
.section-head > div { min-width:0; }
.section-head > .btn { flex:0 0 auto; white-space:nowrap; }

.notification-wrap { position:relative; flex:0 0 auto; }
.notification-button { position:relative; }
.notification-badge { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 5px; display:grid; place-items:center; border:2px solid var(--bg); border-radius:999px; background:var(--primary); color:#001013; font-size:10px; font-weight:900; line-height:1; }
.notification-dropdown { position:absolute; top:calc(100% + 10px); right:0; width:min(380px,calc(100vw - 24px)); max-height:480px; overflow:auto; display:none; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); z-index:110; }
.notification-dropdown.show { display:block; }
.notification-dropdown-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); background:var(--surface); }
.notification-dropdown-head strong { font-size:15px; }
.notification-item { display:block; padding:13px 16px; border-bottom:1px solid var(--line); }
.notification-item:last-child { border-bottom:0; }
.notification-item.unread { background:color-mix(in srgb,var(--primary) 7%,var(--surface)); box-shadow:inset 3px 0 0 var(--primary); }
.notification-item:hover { background:var(--surface-raised); }
.notification-item-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; font-size:13px; font-weight:750; }
.notification-item p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.notification-item time { color:var(--muted-2); font-size:10px; white-space:nowrap; font-weight:500; }
.notification-empty { padding:28px 18px; color:var(--muted); text-align:center; font-size:13px; }

.engagement-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.engagement-btn.active { border-color:color-mix(in srgb,var(--primary) 45%,var(--line)); color:var(--primary); background:color-mix(in srgb,var(--primary) 7%,var(--surface)); }
.profile-tabs { display:flex; gap:6px; overflow-x:auto; padding:5px; margin:20px 0; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.profile-tab { flex:0 0 auto; padding:9px 12px; border-radius:9px; color:var(--muted); font-size:13px; font-weight:750; white-space:nowrap; }
.profile-tab.active { color:var(--text); background:var(--surface-raised); }
.activity-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }
.activity-stat { padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.activity-stat strong { display:block; font-size:22px; }
.activity-stat span { color:var(--muted); font-size:11px; }
.timeline { display:grid; gap:0; margin-top:14px; }
.timeline-row { position:relative; display:grid; grid-template-columns:16px 1fr; gap:10px; padding-bottom:13px; }
.timeline-row::before { content:""; position:absolute; left:7px; top:14px; bottom:-2px; width:1px; background:var(--line); }
.timeline-row:last-child::before { display:none; }
.timeline-dot { width:9px; height:9px; margin-top:4px; border:2px solid var(--primary); border-radius:999px; background:var(--bg); z-index:1; }
.timeline-copy strong { display:block; font-size:12px; text-transform:capitalize; }
.timeline-copy span { display:block; margin-top:2px; color:var(--muted); font-size:11px; }
.entity-list { display:grid; gap:10px; }
.entity-list-item { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.entity-list-item h3 { margin:0 0 4px; font-size:15px; }
.preferences-grid { display:grid; gap:12px; max-width:720px; }
.preference-row { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.preference-row:last-child { border-bottom:0; }
.preference-row strong { display:block; }
.preference-row span { color:var(--muted); font-size:12px; }
.switch { position:relative; width:44px; height:24px; flex:0 0 44px; }
.switch input { position:absolute; opacity:0; pointer-events:none; }
.switch-track { position:absolute; inset:0; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface-raised); transition:.18s; }
.switch-track::after { content:""; position:absolute; width:18px; height:18px; left:2px; top:2px; border-radius:999px; background:var(--muted); transition:.18s; }
.switch input:checked + .switch-track { border-color:var(--primary); background:color-mix(in srgb,var(--primary) 24%,var(--surface)); }
.switch input:checked + .switch-track::after { transform:translateX(20px); background:var(--primary); }

.site-footer { background:#070707; padding:34px 0; }
.footer-grid.footer-grid-6 { grid-template-columns:1.7fr repeat(5,minmax(110px,1fr)); gap:24px; }
.footer-intro p { max-width:330px; margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.footer-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0; border:0; background:transparent; color:var(--text); font-weight:800; text-align:left; cursor:default; }
.footer-toggle span { display:none; color:var(--primary); font-size:18px; font-weight:500; }
.footer-links { margin-top:10px; }
.footer-links a { display:block; margin:7px 0; color:var(--muted); font-size:13px; line-height:1.45; }
.footer-links a:hover { color:var(--primary); }

@media (max-width:1080px) {
  .footer-grid.footer-grid-6 { grid-template-columns:1.5fr repeat(2,1fr); }
  .notification-wrap { margin-left:auto; }
}
@media (max-width:720px) {
  .nav-wrap { min-height:64px; gap:8px; }
  .brand { font-size:22px; }
  .notification-wrap { margin-left:auto; }
  .section-head { align-items:flex-end; gap:10px; }
  .section-head h2 { font-size:26px; line-height:1.05; }
  .section-head p { font-size:13px; line-height:1.4; }
  .section-head > .btn { min-height:38px; padding:8px 12px; }
  .activity-stats { grid-template-columns:repeat(2,1fr); }
  .entity-list-item { align-items:flex-start; }
  .site-footer { padding:26px 0 92px; }
  .footer-grid.footer-grid-6 { display:block; }
  .footer-intro { padding-bottom:20px; margin-bottom:6px; border-bottom:1px solid var(--line); }
  .footer-section { border-bottom:1px solid var(--line); }
  .footer-toggle { padding:15px 0; cursor:pointer; }
  .footer-toggle span { display:block; transition:transform .18s; }
  .footer-links { display:none; margin:0; padding:0 0 13px; }
  .footer-section.open .footer-links { display:block; }
  .footer-section.open .footer-toggle span { transform:rotate(45deg); }
  .footer-links a { margin:0; padding:8px 0; }
}
@media (max-width:460px) {
  .container { width:min(100% - 24px,1340px); }
  .nav-wrap { gap:7px; }
  .brand { font-size:21px; }
  .icon-btn,.mobile-menu-btn { width:38px; height:38px; flex-basis:38px; border-radius:11px; }
  .icon-btn svg,.mobile-menu-btn svg { width:18px; height:18px; }
  .notification-dropdown { position:fixed; top:68px; right:12px; left:12px; width:auto; max-height:62vh; }
  .section-head { gap:8px; }
  .section-head h2 { font-size:24px; }
  .section-head > .btn { font-size:12px; padding-inline:10px; }
  .activity-stats { grid-template-columns:1fr 1fr; }
  .preference-row { align-items:flex-start; }
}

/* v2.5 — Advanced Verification & Moderation */
.mod-stat{display:grid;gap:6px;text-align:center;align-content:center;min-height:112px}.mod-stat strong{font-size:28px}.mod-stat span{font-size:13px;color:var(--muted)}
.trust-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.trust-summary span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);background:var(--surface-raised)}
.private-evidence{margin-top:14px;padding:14px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface-raised)}.private-evidence>strong{display:block;margin-bottom:10px;color:var(--text)}
.evidence-row{display:grid;gap:5px;padding:10px 0;border-top:1px solid var(--line)}.evidence-row:first-of-type{border-top:0}
.moderation-tabs-note{margin:20px 0 30px}.section-head+.grid,.section-head+.card{margin-bottom:12px}
@media (max-width:720px){.mod-stat{min-height:92px}.trust-summary{gap:6px}.trust-summary span{font-size:11px}.private-evidence{padding:12px}.moderation-tabs-note{margin-top:16px}}

/* HRRate v2.6 — Production Hardening & UI Polish */
.entity-card-copy,.entity-hero-copy { min-width:0; }
.company-title-row,.entity-title-row { display:flex; align-items:center; gap:8px; min-width:0; flex-wrap:wrap; }
.entity-title-row h1 { margin:0; min-width:0; }
.company-title-row .company-title { min-width:0; overflow-wrap:anywhere; }
.verified-badge,.verified-icon,.verified-review { --verify:#22c55e; }
.verified-badge { display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; padding:5px 9px; border:1px solid color-mix(in srgb,var(--verify) 36%,var(--line)); border-radius:999px; background:color-mix(in srgb,var(--verify) 9%,var(--surface)); color:var(--verify); font-size:12px; line-height:1; font-weight:800; white-space:nowrap; vertical-align:middle; }
.verified-icon { display:inline-grid; place-items:center; width:20px; height:20px; flex:0 0 20px; color:var(--verify); vertical-align:middle; }
.verified-check-svg { width:17px; height:17px; fill:color-mix(in srgb,var(--verify) 10%,transparent); stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.verified-icon .verified-check-svg { width:19px; height:19px; }
.verified-review { gap:6px; }
.verified-review .verified-check-svg { width:16px; height:16px; }

.nav-auth-button,.mobile-auth-button { border:0; background:transparent; color:var(--text); font-weight:650; cursor:pointer; }
.nav-auth-button { padding:7px 0; font-size:14px; }
.nav-auth-button:hover,.mobile-auth-button:hover { color:var(--primary); }
.mobile-auth-button { width:100%; padding:11px 12px; border-radius:10px; text-align:left; font-size:16px; }
.mobile-auth-button:hover { background:var(--surface-raised); }

.modal-open { overflow:hidden; }
.auth-modal-backdrop { z-index:160; }
.auth-modal { width:min(520px,100%); max-height:min(760px,calc(100vh - 32px)); overflow:auto; padding:22px; }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.modal-head h2 { margin:10px 0 0; font-size:28px; letter-spacing:-.7px; }
.modal-close { flex:0 0 40px; }
.auth-modal-tabs { margin-bottom:18px; }
.auth-modal-tabs button { min-height:42px; }

/* Accessible custom selects: options always open below the field instead of covering it. */
.custom-select { position:relative; width:100%; min-width:0; }
.custom-select-native { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; margin:0 !important; opacity:0 !important; pointer-events:none !important; z-index:-1 !important; }
.custom-select-trigger { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--input); color:var(--text); text-align:left; outline:0; }
.custom-select-trigger:hover { border-color:var(--line-strong); }
.custom-select-trigger:focus-visible,.custom-select.open .custom-select-trigger { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent); }
.custom-select-trigger:disabled { opacity:.5; cursor:not-allowed; }
.custom-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-select-chevron { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.custom-select.open .custom-select-chevron { transform:rotate(180deg); }
.custom-select-menu { position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:140; display:none; max-height:280px; overflow:auto; padding:6px; border:1px solid var(--line-strong); border-radius:12px; background:var(--surface); box-shadow:0 18px 44px rgba(0,0,0,.62); }
.custom-select.open .custom-select-menu { display:grid; gap:2px; }
.custom-select-option { width:100%; min-height:40px; padding:9px 10px; border:0; border-radius:8px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.custom-select-option:hover,.custom-select-option:focus-visible { background:var(--surface-raised); outline:0; }
.custom-select-option.selected { background:color-mix(in srgb,var(--primary) 10%,var(--surface)); color:var(--primary); font-weight:750; }
.custom-select-option:disabled { opacity:.45; cursor:not-allowed; }
.toolbar > .custom-select { width:auto; min-width:170px; }
.toolbar label .custom-select { width:100%; }

@media (max-width:1080px) {
  .nav-wrap > .brand { margin-right:auto; }
  .notification-wrap { margin-left:0; }
}
@media (max-width:720px) {
  body { padding-bottom:0; }
  .site-footer { padding:26px 0 24px; }
  .nav-wrap > .brand { margin-right:auto; }
  .notification-wrap { margin-left:0; }
  .toolbar > .custom-select { width:100%; min-width:0; }
  .entity-title-row { align-items:flex-start; gap:8px 10px; }
  .verified-badge { font-size:11px; padding:5px 8px; }
  .auth-modal { width:min(100%,520px); padding:18px; border-radius:16px; }
}
@media (max-width:460px) {
  .site-footer { padding-bottom:18px; }
  .entity-title-row { display:grid; justify-items:start; }
  .company-title-row { flex-wrap:nowrap; }
  .verified-icon { width:19px; height:19px; flex-basis:19px; }
}


/* HRRate v2.6.1 — UI + E2E hotfix */
.auth-modal { width:min(440px,calc(100vw - 28px)); padding:20px; border-radius:18px; }
.auth-modal-head { margin-bottom:14px; }
.auth-modal-head h2 { margin:12px 0 4px; font-size:24px; letter-spacing:-.55px; }
.auth-modal-brand { display:inline-block; font-size:20px; font-weight:900; letter-spacing:-.65px; }
.auth-modal-brand span { color:var(--primary); }
.auth-modal-subtitle { margin:0; max-width:330px; color:var(--muted); font-size:13px; line-height:1.45; }
.auth-modal-tabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px; padding:4px; margin:0 0 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); }
.auth-modal-tabs button { width:100%; min-width:0; min-height:38px; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-size:13px; font-weight:800; line-height:1.15; white-space:nowrap; }
.auth-modal-tabs button.active { background:var(--input); color:var(--text); box-shadow:inset 0 0 0 1px var(--line); }
.auth-form { gap:12px; }
.auth-form label { gap:5px; font-size:12px; }
.auth-form .field { min-height:42px; padding:9px 11px; }
.auth-submit { width:100%; min-height:42px; margin-top:1px; }
.auth-links-compact { margin-top:11px; display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:12px; }
.text-button { padding:0; border:0; background:transparent; color:var(--primary); font:inherit; font-weight:750; white-space:nowrap; }
.text-button:hover { color:var(--primary-strong); }
.auth-legal { margin:10px 0 0; color:var(--muted-2); font-size:11px; line-height:1.45; }
.hero-copy-break { display:inline; }
.scroll-top-btn { position:fixed; right:20px; bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px)); z-index:64; width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface-raised); color:var(--text); box-shadow:0 12px 34px rgba(0,0,0,.52); opacity:0; visibility:hidden; transform:translateY(10px) scale(.96); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.scroll-top-btn.show { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.scroll-top-btn:hover { border-color:var(--primary); color:var(--primary); transform:translateY(-2px) scale(1); }
.scroll-top-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:720px) {
  .auth-modal { width:min(420px,calc(100vw - 20px)); max-height:calc(100dvh - 20px); padding:16px; }
  .auth-modal-head h2 { font-size:22px; }
  .auth-modal-tabs button { font-size:12.5px; padding-inline:7px; }
  .auth-links-compact { flex-wrap:wrap; }
  .hero-copy-break { display:none; }
  .scroll-top-btn { right:14px; bottom:max(18px,calc(env(safe-area-inset-bottom) + 14px)); width:40px; height:40px; }
}
@media (max-width:360px) {
  .auth-modal-tabs button { font-size:11.5px; }
  .text-button { white-space:normal; text-align:right; }
}


/* HRRate v2.7 — Production Release Candidate */
.not-found-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:#000000; }
.not-found-card { width:min(560px,100%); padding:34px; text-align:center; }
.not-found-card .brand { display:inline-block; margin-bottom:28px; }
.not-found-card .eyebrow { margin:0 0 8px; color:var(--primary); font-size:13px; font-weight:850; letter-spacing:.12em; }
.not-found-card h1 { margin:0; font-size:clamp(32px,7vw,52px); letter-spacing:-1.6px; }
.not-found-card > p:not(.eyebrow) { margin:14px auto 0; max-width:420px; color:var(--muted); }
.not-found-actions { justify-content:center; margin-top:24px; }
@media (max-width:520px) { .not-found-page { padding:14px; } .not-found-card { padding:26px 18px; } .not-found-actions .btn { flex:1 1 100%; } }

.danger-zone { margin-top:18px; border-color:color-mix(in srgb,var(--danger) 42%,var(--line)); }
.danger-zone h2 { margin-top:0; color:#fca5a5; }
.danger-confirm { display:flex !important; grid-template-columns:auto 1fr; align-items:flex-start; gap:10px !important; font-size:13px !important; color:var(--muted); }
.danger-confirm input { margin-top:3px; }

/* HRRate v2.8 — account menu, immediate auth state, footer copyright */
.account-menu { position:relative; flex:0 0 auto; }
.account-trigger { min-height:42px; display:flex; align-items:center; gap:8px; padding:5px 9px 5px 6px; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--text); font:inherit; font-weight:750; }
.account-trigger:hover,.account-menu.open .account-trigger { border-color:var(--line-strong); background:var(--surface-raised); }
.account-trigger svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; color:var(--muted); transition:transform .18s ease; }
.account-menu.open .account-trigger svg { transform:rotate(180deg); }
.account-avatar { width:30px; height:30px; display:grid; place-items:center; flex:0 0 30px; border-radius:9px; background:color-mix(in srgb,var(--primary) 14%,var(--surface-raised)); color:var(--primary); font-size:11px; font-weight:900; letter-spacing:.02em; }
.account-name { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-dropdown { position:absolute; top:calc(100% + 10px); right:0; width:230px; display:none; padding:7px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:var(--shadow); z-index:120; }
.account-menu.open .account-dropdown { display:block; }
.account-dropdown-head { padding:10px 10px 11px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.account-dropdown-head strong,.account-dropdown-head span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-dropdown-head strong { font-size:13px; }
.account-dropdown-head span { margin-top:3px; color:var(--muted); font-size:11px; }
.account-dropdown a,.account-logout { width:100%; display:flex; align-items:center; min-height:39px; padding:9px 10px; border:0; border-radius:9px; background:transparent; color:var(--text); font:inherit; font-size:13px; font-weight:650; text-align:left; }
.account-dropdown a:hover,.account-logout:hover { background:var(--surface-raised); }
.account-logout { margin-top:4px; border-top:1px solid var(--line); border-radius:0 0 9px 9px; color:var(--danger); }
.mobile-account-summary { display:flex; gap:10px; align-items:center; margin:4px 0 8px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.mobile-account-summary strong,.mobile-account-summary span { display:block; }
.mobile-account-summary strong { font-size:14px; }
.mobile-account-summary span { margin-top:2px; color:var(--muted); font-size:11px; word-break:break-all; }
.mobile-logout-button { min-height:42px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line)); border-radius:10px; background:transparent; color:var(--danger); font:inherit; font-weight:750; text-align:left; }
.footer-copyright { display:block; margin-top:10px; color:var(--muted-2); font-size:11px; line-height:1.45; }

@media (max-width:1080px) {
  .account-name { max-width:90px; }
}


/* HRRate v2.8.1 — directory alignment, partial activity tabs, logos, footer contrast */
.grid > .empty { grid-column:1 / -1; width:100%; }
.hr-directory-toolbar { display:grid; grid-template-columns:minmax(210px,1.25fr) minmax(140px,.8fr) minmax(150px,.85fr) minmax(170px,.9fr) minmax(150px,auto) auto; align-items:stretch; gap:10px; }
.hr-directory-toolbar > input,.hr-directory-toolbar > .custom-select,.hr-directory-toolbar > select { width:100%; min-width:0; }
.verified-filter { min-height:44px; display:flex; align-items:center; justify-content:flex-start; gap:10px; padding:0 14px; white-space:nowrap; font-weight:700; }
.verified-filter input { width:18px !important; min-width:18px !important; height:18px; margin:0; accent-color:var(--primary); }
.hr-filter-apply { min-height:44px; padding-inline:18px; align-self:stretch; }
.activity-panel { min-height:220px; transition:opacity .14s ease; }
#activityDynamicSection.loading .activity-panel { opacity:.45; pointer-events:none; }
.logo-box { position:relative; overflow:hidden; }
.company-logo-fallback { position:relative; z-index:1; }
.company-logo-image { position:absolute; inset:6px; width:calc(100% - 12px); height:calc(100% - 12px); object-fit:contain; border-radius:10px; background:#fff; padding:5px; opacity:0; transition:opacity .14s ease; z-index:2; }
.logo-box.has-logo .company-logo-image { opacity:1; }
.logo-box-lg { width:76px; height:76px; font-size:20px; border-radius:18px; }
.logo-box-lg .company-logo-image { inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); padding:6px; border-radius:12px; }
.site-footer { --footer-text:#f7f7f7; --footer-muted:#b3b3b3; --footer-muted-2:#858585; --footer-line:#242424; color:var(--footer-text); background:#070707; border-top-color:var(--footer-line); }
.site-footer .brand,.site-footer .footer-toggle { color:var(--footer-text); }
.site-footer .footer-grid p,.site-footer .footer-grid a,.site-footer .footer-intro p,.site-footer .footer-links a { color:var(--footer-muted); }
.site-footer .footer-copyright { color:var(--footer-muted-2); }
.site-footer .footer-section,.site-footer .footer-intro { border-color:var(--footer-line); }
.site-footer .footer-links a:hover { color:var(--primary); }
@media (max-width:1180px) {
  .hr-directory-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hr-filter-apply { width:100%; }
}
@media (max-width:720px) {
  .hr-directory-toolbar { grid-template-columns:1fr; }
  .verified-filter,.hr-filter-apply { width:100%; }
}
