/* lockIN: same look as lockincareers.com (colors, type, cards, buttons and layout) */
:root {
  --navy: #0c1324;
  --card: #151e31;
  --card-hover: #19243b;
  --line: #29334a;
  --field-border: #5d6b87;
  --ink: #eaf0ff;
  --white: #ffffff;
  --muted: #aab6ce;
  --accent: #a7ff78;
  --accent-hover: #bdff9a;
  --accent-ink: #0b1721;
  --accent-line: #52644e;
  --alt-border: #536079;
  --danger: #ff6b6b;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Visible to screen readers only */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

body {
  margin: 0;
  background: var(--navy);
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent); }

h1, h2, h3 { line-height: 1.2; }

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}

/* Brand: "lock" in white, "IN" in green */
.logo {
  margin: 0;
  color: var(--white);
  font-size: 29px;
  font-weight: 850;
  letter-spacing: -1.8px;
  text-decoration: none;
  white-space: nowrap;
}

.logo span { color: var(--accent); }

.logo a {
  color: inherit;
  text-decoration: none;
}

.wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Top navigation */
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.navlinks {
  display: flex;
  align-items: center;
  gap: 28px;
  color: var(--muted);
  font-size: 14px;
}

.navlinks a {
  color: inherit;
  text-decoration: none;
}

.navlinks a:hover { color: var(--white); }

.pill {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--accent-line);
  border-radius: 100px;
  background: transparent;
  color: var(--accent);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.pill:hover { background: rgba(167, 255, 120, 0.08); }

/* Sign-in page */
.landing { overflow-x: hidden; }

.hero {
  position: relative;
  padding: 112px 0 120px;
  overflow: hidden;
}

.hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: -200px;
  width: 620px;
  height: 620px;
  background: radial-gradient(circle, #4c9e5940, transparent 65%);
  pointer-events: none;
}

.hero > * {
  position: relative;
  z-index: 1;
}

.eyebrow {
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.hero h1 {
  max-width: 870px;
  margin: 25px 0;
  font-size: clamp(54px, 8.5vw, 108px);
  line-height: 1.02;
  letter-spacing: -5px;
}

.hero h1 em,
.cta h2 em {
  color: var(--accent);
  font-style: normal;
}

.lead {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 21px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 35px;
}

.small {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.hero .status {
  max-width: 650px;
  margin-top: 20px;
  font-size: 15px;
}

.section {
  padding: 88px 0;
  border-top: 1px solid var(--line);
}

.section h2 {
  margin: 12px 0 20px;
  font-size: clamp(32px, 4.5vw, 52px);
  line-height: 1.1;
  letter-spacing: -2px;
}

.section-intro {
  max-width: 650px;
  color: var(--muted);
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 35px;
}

.card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}

.number {
  color: var(--accent);
  font-size: 14px;
  font-weight: 800;
}

.card h3 {
  margin: 15px 0 8px;
  font-size: 21px;
}

.card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 34px;
}

.step {
  padding-top: 22px;
  border-top: 2px solid var(--accent);
}

.step h3 {
  margin: 0;
  font-size: 19px;
}

.step p { color: var(--muted); }

.note {
  margin-top: 25px;
  color: #bdc9d8;
  font-size: 13px;
}

.faq { max-width: 760px; }

.faq details {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.faq summary {
  font-weight: 700;
  cursor: pointer;
}

.faq details p {
  margin-bottom: 0;
  color: var(--muted);
}

.cta {
  margin: 75px 0;
  padding: 55px;
  border: 1px solid #466653;
  border-radius: 24px;
  background: linear-gradient(135deg, #1c3b34, #182238);
}

.cta h2 {
  margin: 8px 0 18px;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.1;
  letter-spacing: -2px;
}

.cta p {
  max-width: 640px;
  color: #d0dddb;
}

.site-footer {
  padding: 28px 0 40px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.footerrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.skip-link {
  position: absolute;
  top: -80px;
  left: 12px;
  z-index: 10;
  padding: 10px 14px;
  border: 0;
  border-radius: 12px;
  background: var(--accent);
  color: var(--accent-ink);
  font: inherit;
  font-weight: 800;
}

.skip-link:focus { top: 12px; }

h2[tabindex="-1"]:focus { outline: none; }

/* Dashboard layout */
.dashboard {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px 64px;
}

.dashboard-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.brand-block {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 18px;
}

.tagline {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.tabs {
  display: flex;
  gap: 8px;
  margin: 18px 0 8px;
  padding: 6px 4px 10px;
  overflow-x: auto;
  scrollbar-color: var(--line) transparent;
  scrollbar-width: thin;
}

.tabs a {
  flex: 0 0 auto;
  padding: 9px 16px;
  border: 1px solid transparent;
  border-radius: 100px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.tabs a:hover { color: var(--white); }

.tabs a.active {
  border-color: var(--accent-line);
  background: rgba(167, 255, 120, 0.07);
  color: var(--accent);
}

.tabs a:focus-visible { outline-offset: 1px; }

.overview-heading {
  margin: 12px 0 6px;
  font-size: clamp(30px, 4vw, 44px);
  letter-spacing: -1.5px;
}

.overview-intro {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}

#tab-overview > .eyebrow { margin-top: 34px; }

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 28px 0;
}

.dash-card {
  display: block;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
  color: var(--ink);
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s;
}

.dash-card:hover {
  border-color: var(--accent-line);
  background: var(--card-hover);
}

.dash-card h3 {
  margin: 12px 0 8px;
  color: var(--white);
  font-size: 20px;
}

.dash-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.dash-card .card-stat {
  margin-top: 12px;
  color: var(--accent);
  font-weight: 700;
}

.card-stat:empty { display: none; }

.panel {
  margin: 20px 0;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}

.panel h2 {
  margin: 0 0 8px;
  color: var(--white);
  font-size: 24px;
  letter-spacing: -0.5px;
}

.panel h3 {
  margin: 28px 0 8px;
  font-size: 18px;
}

.panel-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.panel-heading h2 { margin-bottom: 0; }

.hint {
  color: var(--muted);
  font-size: 14px;
}

.spaced { margin-top: 16px; }

.notice {
  padding: 12px 16px;
  border: 1px solid #466653;
  border-radius: 12px;
  background: rgba(167, 255, 120, 0.07);
  color: var(--ink);
}

.danger-zone { border-color: #7a3a44; }
.panel.danger-zone h2 { color: var(--danger); }

/* Forms */
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px 18px;
}

.field { margin-bottom: 14px; }
.form-grid .field { margin-bottom: 0; }
.field.full { grid-column: 1 / -1; }
.field.narrow { max-width: 320px; }

.field label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.field input:not([type="file"]),
.field textarea,
select {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--field-border);
  border-radius: 12px;
  background: var(--navy);
  color: var(--ink);
  font: inherit;
}

::placeholder {
  color: #8391ab;
  opacity: 1;
}

textarea { resize: vertical; }

.field input:focus,
.field textarea:focus,
select:focus {
  border-color: var(--accent);
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

input[type="file"] {
  max-width: 100%;
  color: var(--ink);
  font: inherit;
}

input[type="file"]::file-selector-button {
  min-height: 40px;
  margin-right: 12px;
  padding: 8px 16px;
  border: 1px solid var(--alt-border);
  border-radius: 12px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

.checkbox input {
  width: 20px;
  height: 20px;
  accent-color: var(--accent);
}

.inline-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.inline-field label { font-weight: 700; }
.inline-field select { width: auto; }

.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 12px;
  font: inherit;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
}

.btn-primary {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.btn-primary:hover:not(:disabled) {
  border-color: var(--accent-hover);
  background: var(--accent-hover);
}

.btn-secondary {
  border-color: var(--alt-border);
  background: transparent;
  color: var(--ink);
}

.btn-secondary:hover:not(:disabled) {
  border-color: var(--muted);
  background: rgba(255, 255, 255, 0.04);
}

.btn-danger {
  border-color: var(--danger);
  background: transparent;
  color: var(--danger);
}

.btn-small {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 14px;
}

.btn-large {
  padding: 14px 23px;
  font-size: 16px;
}

.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.status {
  margin: 0;
  font-size: 14px;
}

.status.ok { color: var(--accent); }
.status.error { color: var(--danger); }

/* Lists */
.item-list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.item,
.empty {
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.empty {
  color: var(--muted);
  font-size: 14px;
}

.item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.item-info {
  flex: 1 1 260px;
  min-width: 0;
}

.item strong {
  display: block;
  color: var(--white);
  overflow-wrap: anywhere;
}

.meta {
  display: block;
  color: var(--muted);
  font-size: 14px;
}

.item-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.item-actions select {
  width: auto;
  min-height: 40px;
  padding: 6px 10px;
  font-size: 14px;
}

.job-notes {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 14px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.search-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.search-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--accent-line);
  border-radius: 100px;
  font-weight: 700;
  text-decoration: none;
}

.search-links a:hover { background: rgba(167, 255, 120, 0.08); }

/* AI and instant check output */
.ai-output {
  margin-top: 16px;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--navy);
  overflow-wrap: anywhere;
}

.ai-output h3 {
  margin: 18px 0 6px;
  color: var(--accent);
  font-size: 16px;
}

.ai-output h3:first-child { margin-top: 0; }
.ai-output p { margin: 8px 0; }

.ai-output ul,
.ai-output ol {
  margin: 6px 0;
  padding-left: 22px;
}

.ai-output li { margin: 4px 0; }

.letter {
  line-height: 1.6;
  white-space: pre-wrap;
}

/* Chat */
.chat-log {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 460px;
  margin-bottom: 14px;
  overflow-y: auto;
}

.chat-message {
  max-width: 90%;
  padding: 10px 14px;
  border-radius: 14px;
  overflow-wrap: anywhere;
}

.chat-message.user {
  align-self: flex-end;
  border: 1px solid #466653;
  background: rgba(167, 255, 120, 0.1);
}

.chat-message.user .chat-body { white-space: pre-wrap; }

.chat-message.assistant {
  align-self: flex-start;
  border: 1px solid var(--line);
  background: var(--navy);
}

.chat-author {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.chat-body p { margin: 4px 0; }

.chat-body h3 {
  margin: 10px 0 4px;
  color: var(--accent);
  font-size: 15px;
}

.chat-body ul,
.chat-body ol {
  margin: 4px 0;
  padding-left: 20px;
}

/* Privacy policy and terms pages */
.legal {
  max-width: 760px;
  margin: 0 auto;
  padding: 40px 24px 60px;
}

.legal h2 {
  margin-top: 32px;
  color: var(--white);
}

.legal li { margin: 6px 0; }

/* Getting started checklist */
.checklist {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  border-top: 1px solid var(--line);
}

.checklist .mark {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 2px solid var(--muted);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}

.checklist li.done .mark {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.checklist li.done a { color: var(--muted); }

/* Job tracker extras */
.overdue {
  color: var(--danger);
  font-weight: 700;
}

.toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px 16px;
  margin-top: 16px;
}

.toolbar .field { margin: 0; }

.more-details {
  margin-top: 16px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

.more-details summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--accent);
  font-weight: 700;
  cursor: pointer;
}

.more-details[open] summary { margin-bottom: 8px; }

.panel .tool-group-title {
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Interview practice */
.timer-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.timer {
  min-width: 64px;
  font-size: 1.5em;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.timer.over { color: #ffb84d; }
.timer-row .hint { margin: 0; }

/* Tablets and phones (same breakpoint as lockincareers.com) */
@media (max-width: 720px) {
  .navlinks a { display: none; }
  .hero { padding: 75px 0 85px; }
  .hero h1 { letter-spacing: -2.5px; }
  .lead { font-size: 19px; }
  .cards,
  .steps { grid-template-columns: 1fr; }
  .cta {
    margin: 45px 0;
    padding: 32px 25px;
  }
  .section { padding: 65px 0; }
}

/* Phones */
@media (max-width: 600px) {
  .wrap,
  .dashboard {
    padding-right: 16px;
    padding-left: 16px;
  }
  .logo { font-size: 26px; }
  .dashboard-header { flex-wrap: nowrap; }
  .brand-block {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .panel { padding: 20px 16px; }
  .dash-card { padding: 22px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .ai-output { padding: 14px; }
  .chat-message { max-width: 100%; }
  .form-actions .btn { flex: 1 1 auto; }
  .actions .btn { flex: 1 1 100%; }
}

/* Direct employer job search */
.board-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.board-title{font-size:clamp(30px,4vw,50px);letter-spacing:-1.8px;margin:12px 0}.board-heading .btn{flex-shrink:0}.board-search{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:16px;margin-bottom:28px}.board-search .field{margin:0}.board-search .btn{min-height:48px}.board-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:24px;align-items:start}.board-filters.panel,.board-summary.panel{padding:22px;margin:0}.board-filters h3,.board-summary h3{margin-top:0;font-size:18px}.board-filters .field{margin:22px 0}.board-filters label{font-size:13px}.board-results{min-width:0}.board-results-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.board-results-heading>p{font-weight:750;font-size:20px;margin:0}.board-results-heading .field{margin:0;max-width:160px}.board-results-heading label{font-size:12px}.board-job{display:flex;gap:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:24px;margin-bottom:16px;overflow-wrap:anywhere}.board-monogram{width:48px;height:48px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:#23433c;color:var(--accent);font-weight:800;font-size:17px}.board-job-body{flex:1;min-width:0}.board-job-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.board-job h3{margin:0;font-size:20px}.btn.board-title-link{padding:0;background:none;border:0;color:var(--ink);text-align:left;font-size:inherit;line-height:1.25}.btn.board-title-link:hover{text-decoration:underline;background:none}.board-badge{font-size:11px;background:#233347;border-radius:99px;padding:3px 9px;color:#d2dfed;white-space:nowrap}.board-company{color:var(--muted);margin:7px 0}.board-meta{font-size:13px;color:var(--muted);margin:7px 0}.board-excerpt{font-size:14px;color:var(--muted);margin:12px 0}.board-date{font-size:11px;color:var(--muted);margin:12px 0 0}.board-job-actions{display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:100px}.board-stat{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--muted);font-size:14px}.board-stat strong{font-size:26px;color:var(--ink)}.board-empty{text-align:center;padding:48px 24px;border:1px dashed var(--line);border-radius:18px}.board-empty h3{font-size:24px}.board-empty .eyebrow{font-size:10px}.board-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:24px 0}.board-pagination span{font-size:13px;color:var(--muted)}.board-owned{padding:22px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.board-owned h4{margin:0 0 10px;font-size:18px}.board-owned label{display:block}.board-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:20px 0}.board-dialog{width:min(760px,calc(100% - 32px));max-height:85vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;color:var(--ink);padding:30px}.board-dialog::backdrop{background:#060c19d9}.board-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.board-dialog h2{font-size:30px;overflow-wrap:anywhere}.board-dialog .board-description{font-size:15px}
@media(max-width:1300px){.board-layout{grid-template-columns:200px minmax(0,1fr)}.board-summary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.board-summary h3,.board-summary>p{grid-column:1/-1}.board-job{padding:20px}.board-job-actions{min-width:90px}}
@media(max-width:800px){.board-heading{align-items:flex-start;flex-direction:column}.board-search{grid-template-columns:1fr 1fr}.board-search .btn{grid-column:1/-1}.board-layout{grid-template-columns:1fr}.board-filters.panel{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.board-filters h3{grid-column:1/-1}.board-filters .field{margin:0}.board-filters>.checkbox{align-self:center}.board-filters .spaced{margin:0}.board-job{flex-wrap:wrap}.board-job-body{flex-basis:calc(100% - 70px)}.board-job-actions{flex-direction:row;justify-content:flex-end;flex-basis:100%}.board-results-heading>p{font-size:18px}.board-dialog{padding:22px}.board-dialog h2{font-size:25px}}
@media(max-width:450px){.board-search{grid-template-columns:1fr}.board-filters.panel{grid-template-columns:1fr}.board-summary{display:block}.board-job{gap:12px;padding:18px}.board-monogram{width:38px;height:38px}.board-job-body{flex-basis:calc(100% - 50px)}.board-job h3{font-size:18px}.board-badge{font-size:10px}.board-results-heading{align-items:flex-start}.board-results-heading .field{max-width:135px}}

/* Homepage paths for job seekers and employers */
.entry-home.hero{padding:76px 0 64px;overflow:visible;text-align:center}
.entry-home.hero:after{display:none}
.entry-home.hero h1{font-size:clamp(40px,5.2vw,74px);letter-spacing:-2.8px;max-width:none;margin:22px auto;line-height:1.08}
.entry-home .lead{max-width:960px;margin:0 auto 38px;font-size:clamp(17px,1.8vw,21px)}
.entry-home>.eyebrow{color:var(--muted);font-size:12px;letter-spacing:3px}
.entry-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;text-align:left}
.entry-card{display:flex;flex-direction:column;background:linear-gradient(135deg,#17243b,#101a2c);border:1px solid #344d70;border-radius:18px;padding:32px;scroll-margin-top:24px;min-width:0}
.entry-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:#20334d;color:#aecfff;margin-bottom:22px;border:1px solid #344d70}
.entry-card .eyebrow{color:var(--muted);font-size:12px;letter-spacing:2px}
.entry-card h2{font-size:clamp(25px,2.8vw,38px);letter-spacing:-1.3px;line-height:1.15;margin:16px 0}
.entry-card>p{color:var(--muted);font-size:17px;margin:0 0 20px;line-height:1.65}
.entry-benefits{list-style:none;padding:0;margin:4px 0 30px;color:var(--ink);font-size:15px}
.entry-benefits li{display:flex;align-items:center;gap:14px;margin:14px 0}
.entry-benefits li:before{content:'✓';display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #3d6651;border-radius:50%;background:#223b32;color:var(--accent);font-weight:800}
.entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:auto}
.entry-actions .btn{min-width:165px;text-align:center;justify-content:center;font-size:16px}
.entry-actions .entry-employer{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.entry-signin{padding:4px 0;background:none;border:0;border-bottom:1px solid #66809f;color:#c3d5ef;font:inherit;font-size:14px;cursor:pointer;border-radius:0;text-decoration:none}
.entry-signin:hover{color:#fff;border-color:#fff}
.entry-home .small{margin-top:26px}
@media(max-width:760px){.entry-home.hero{padding:46px 0}.entry-paths{grid-template-columns:1fr;gap:20px}.entry-card{padding:26px}.entry-home.hero h1{letter-spacing:-1.7px}.entry-home .lead{margin-bottom:28px}.entry-card h2{font-size:32px}}
@media(max-width:400px){.entry-card{padding:22px}.entry-card h2{font-size:28px}.entry-actions{gap:16px}.entry-actions .btn{width:100%}}

/* Separate signed-in workspaces */
.workspace-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.workspace-shell>.tabs{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0;overflow:visible;background:var(--card);position:sticky;top:18px}
.workspace-shell>.tabs a{white-space:normal;padding:13px 14px;border-radius:10px;border:0;font-size:14px}
.workspace-shell>.tabs a.active{background:#243c37;color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.workspace-shell>.tabs a[hidden]{display:none}
.workspace-shell>#dashboard-main{min-width:0}
.workspace-label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin:8px 0 0}
.workspace-gate{width:min(700px,calc(100% - 40px));margin:70px auto;padding:36px}
.workspace-gate h1{font-size:32px;line-height:1.2;letter-spacing:-1px}
.workspace-options{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}
.workspace-gate .hint{line-height:1.8}
@media(max-width:800px){.workspace-shell{grid-template-columns:1fr;gap:22px}.workspace-shell>.tabs{position:static;flex-direction:row;overflow-x:auto;flex-wrap:nowrap}.workspace-shell>.tabs a{white-space:nowrap;flex-shrink:0}.workspace-gate{padding:26px;margin:40px auto}}

/* Applicant-only overview */
.applicant-overview>.eyebrow{color:var(--muted);font-size:11px;letter-spacing:2px}
.applicant-overview .overview-heading{font-size:clamp(32px,4.2vw,54px);letter-spacing:-1.8px;line-height:1.12;margin:16px 0}
.applicant-welcome{font-size:14px;color:var(--muted);margin:0 0 10px}
.applicant-overview .overview-intro{font-size:18px;max-width:900px;margin-bottom:22px}
.applicant-find{margin:0 0 28px;min-width:160px;justify-content:center}
.applicant-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 28px}
.applicant-stat{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:14px;padding:22px;background:linear-gradient(135deg,#17243a,#111b2c);color:var(--muted);font-size:13px}
.applicant-stat strong{display:block;font-size:32px;line-height:1.15;color:var(--ink);margin-top:8px}
.applicant-icon{flex-shrink:0;display:grid;place-items:center;background:#24334b;border-radius:50%;width:48px;height:48px;color:#d3e3fb;font-size:27px}
.applicant-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.applicant-tools .dash-card{display:flex;flex-direction:column;padding:28px;background:linear-gradient(135deg,#162238,#111b2c);min-width:0}
.applicant-tools h3{font-size:24px;margin:16px 0 12px}
.applicant-tools .dash-card>p:not(.card-stat){color:var(--muted);line-height:1.7;font-size:15px;margin:0 0 12px}
.applicant-card-link{color:var(--accent);font-size:15px;font-weight:700;margin-top:auto;padding-top:15px}
.applicant-checklist{margin-top:26px}.applicant-checklist summary{cursor:pointer;font-weight:700;font-size:16px}.applicant-checklist summary span{font-weight:400;margin-left:12px}
@media(max-width:1100px){.applicant-stat{padding:18px;gap:12px}.applicant-icon{width:38px;height:38px;font-size:23px}}
@media(max-width:650px){.applicant-stats{grid-template-columns:1fr;gap:12px}.applicant-stat{padding:18px}.applicant-stat>span:last-child{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px}.applicant-stat strong{margin:0;font-size:28px}.applicant-tools{grid-template-columns:1fr}.applicant-tools .dash-card{padding:24px}.applicant-overview .overview-heading{letter-spacing:-1px}.applicant-overview .overview-intro{font-size:16px}}

.entry-paths.applicant-entry{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto}

/* Personal interview conversion */
.applicant-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.applicant-stat{padding:20px;align-items:flex-start}
.interview-rate{border-color:var(--accent);background:linear-gradient(135deg,#1c3b34,#17243b)}
.interview-summary{margin-bottom:24px}
.interview-summary p{margin:0 0 10px}
@media(max-width:1100px){.applicant-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.applicant-stats{grid-template-columns:1fr}}
