/* Hiring console (/admin/hiring). Tokens and type come from careers/careers.css,
   which follows the homepage (home.css). */
body.hz { background: var(--paper); font-size: 15px }
.hz-top { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 18px; padding: 10px 22px; background: rgba(252, 250, 247, .94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--rule) }
.hz-top .brand-mark, .hz-top .brand-mark svg { width: 34px; height: 34px }
.hz-top .brand-word { font-size: 18px }
.hz-nav { display: flex; gap: 4px; flex-wrap: wrap; flex: 1 }
.hz-nav a { text-decoration: none; padding: 7px 12px; border-radius: 8px; color: var(--ink-2); font-weight: 500; font-size: .92rem }
.hz-nav a:hover { background: var(--panel) }
.hz-nav a.on { background: var(--accent); color: #fff }
.hz-me { font-size: .82rem; color: var(--muted); text-align: right; line-height: 1.3 }
.hz-me b { color: var(--ink); display: block; font-weight: 600 }
.hz-main { padding: 22px; max-width: 1500px; margin: 0 auto }
.hz h1 { font-size: 1.7rem; margin: 0 0 4px } .hz h2 { font-size: 1.25rem; margin: 0 0 10px } .hz h3 { font-family: var(--sans); font-size: 1rem; margin: 14px 0 6px }
.hz-sub { color: var(--muted); margin: 0 0 16px }
.hz-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px }
.hz-bar select, .hz-bar input, .hz-in { font: inherit; font-size: .9rem; padding: 7px 10px; border: 1px solid #d6d0d4; border-radius: 8px; background: #fff; color: var(--ink) }
.hz .btn { padding: 8px 14px; font-size: .88rem; box-shadow: none }
.hz .btn.sm { padding: 5px 10px; font-size: .8rem }
.hz .btn.ghost { background: #fff }
.hz .btn.danger { background: #fff; color: var(--err); border: 1px solid #f0c9c9 }
.hz .btn[disabled] { opacity: .5; cursor: not-allowed }
.hz-card { background: #fff; border: 1px solid var(--rule); border-radius: 14px; padding: 16px 18px; margin: 0 0 14px }
.hz-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px }
.hz-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px }
.hz-muted { color: var(--muted) } .hz-small { font-size: .82rem }
.hz-pill { display: inline-block; font-size: .75rem; font-weight: 600; border-radius: 99px; padding: 2px 9px; background: var(--panel); color: var(--purple); white-space: nowrap }
.hz-pill.g-offer, .hz-pill.g-joining { background: var(--sage); color: var(--ok) } .hz-pill.g-closed { background: #f1eeec; color: var(--muted) }
.hz-pill.g-interview { background: #FFF4EC; color: #8a4b08 } .hz-pill.flag { background: #fde8e8; color: var(--err) }
/* board */
.hz-board { display: grid; grid-template-columns: repeat(6, minmax(200px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 8px }
.hz-col { background: var(--panel); border-radius: 14px; padding: 10px; min-height: 200px }
.hz-col h3 { margin: 2px 4px 10px; display: flex; justify-content: space-between; font-size: .9rem }
.hz-c { display: block; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 10px; margin-bottom: 8px; text-decoration: none; color: inherit }
.hz-c:hover { border-color: var(--accent) }
.hz-c b { display: block; font-size: .92rem } .hz-c .m { color: var(--muted); font-size: .78rem; margin-top: 2px }
.hz-c .row { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; gap: 6px }
.hz-late { color: var(--err); font-weight: 600 }
/* tables */
.hz-table { width: 100%; border-collapse: collapse; font-size: .88rem; background: #fff; border: 1px solid var(--rule); border-radius: 12px; overflow: hidden }
.hz-table th { text-align: left; background: var(--panel); color: var(--purple); font-weight: 600; padding: 9px 10px; white-space: nowrap }
.hz-table td { padding: 9px 10px; border-top: 1px solid var(--rule); vertical-align: top }
.hz-table tr.click { cursor: pointer } .hz-table tr.click:hover td { background: #FDF8FA }
.hz-scroll { overflow-x: auto }
/* candidate */
.hz-cand-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: flex-start }
.hz-cand-head h1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap }
.hz-contact { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .9rem; margin-top: 6px } .hz-contact a { color: var(--accent) }
.hz-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center }
.hz-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--rule); margin: 16px 0 14px; overflow-x: auto }
.hz-tabs a { padding: 9px 14px; text-decoration: none; color: var(--muted); font-weight: 500; border-bottom: 2px solid transparent; white-space: nowrap }
.hz-tabs a.on { color: var(--accent); border-bottom-color: var(--accent) }
.hz-kv { display: grid; grid-template-columns: 160px 1fr; gap: 6px 12px; font-size: .9rem } .hz-kv dt { color: var(--muted) } .hz-kv dd { margin: 0 }
.hz-pre { white-space: pre-wrap; background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; padding: 10px; font-size: .9rem }
.hz-pre.mono { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .82rem }
.hz-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 14px }
.hz-form label { display: block; font-size: .82rem; font-weight: 500; color: var(--ink-2) }
.hz-form label > input, .hz-form label > select, .hz-form label > textarea { display: block; width: 100%; margin-top: 4px; font: inherit; font-size: .9rem; padding: 8px 10px; border: 1px solid #d6d0d4; border-radius: 8px; background: #fff }
.hz-form .full { grid-column: 1 / -1 } .hz-form textarea { min-height: 70px }
.hz-check { display: flex !important; gap: 8px; align-items: center } .hz-check input { width: auto !important; margin: 0 !important }
.hz-score { display: grid; gap: 8px } .hz-score .crit { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; border-bottom: 1px solid var(--rule); padding-bottom: 8px }
.hz-score .crit small { display: block; color: var(--muted) }
.hz-score .dots { display: flex; gap: 4px } .hz-score .dots label { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--rule); border-radius: 8px; cursor: pointer; font-weight: 600 }
.hz-score .dots input { display: none } .hz-score .dots input:checked + span { color: #fff } .hz-score .dots label:has(input:checked) { background: var(--accent); border-color: var(--accent); color: #fff }
.hz-timeline { list-style: none; padding: 0; margin: 0 } .hz-timeline li { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--rule); font-size: .88rem }
.hz-timeline .who { color: var(--muted); font-size: .78rem }
.hz-mcq li { margin-bottom: 8px } .pts3 { color: var(--ok) } .pts1 { color: #b45309 } .pts0 { color: var(--err) }
.hz-funnel td.n { text-align: right; font-variant-numeric: tabular-nums }
.hz-inc { display: grid; grid-template-columns: 1.2fr .8fr .6fr 1.6fr 1.4fr auto; gap: 6px; align-items: center; margin-bottom: 6px }
.hz-inc input, .hz-inc select { width: 100%; font: inherit; font-size: .85rem; padding: 6px 8px; border: 1px solid #d6d0d4; border-radius: 6px }
.hz-days { display: grid; gap: 6px } .hz-days .d { display: grid; grid-template-columns: 110px 1fr 1fr; gap: 8px; align-items: center }
/* modal + toast */
.hz-modal { position: fixed; inset: 0; z-index: 20; background: rgba(32, 32, 42, .45); display: grid; place-items: center; padding: 16px }
.hz-modal[hidden] { display: none }
.hz-modal-box { position: relative; background: #fff; border-radius: 16px; max-width: 760px; width: 100%; max-height: 90vh; overflow: auto; padding: 22px }
.hz-x { position: absolute; right: 12px; top: 8px; border: 0; background: none; font-size: 1.6rem; cursor: pointer; color: var(--muted) }
.hz-preview { border: 1px solid var(--rule); border-radius: 10px; height: 340px; width: 100%; background: var(--paper) }
.hz-toast { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; font-size: .9rem; opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 30; max-width: 90vw }
.hz-toast.on { opacity: 1 } .hz-toast.err { background: var(--err) }
@media (max-width: 900px) {
  .hz-top { flex-wrap: wrap; padding: 10px 12px } .hz-me { display: none } .hz-main { padding: 14px 12px }
  .hz-grid2, .hz-grid3, .hz-form { grid-template-columns: 1fr } .hz-kv { grid-template-columns: 1fr } .hz-timeline li { grid-template-columns: 1fr }
  .hz-inc { grid-template-columns: 1fr 1fr } .hz-board { grid-template-columns: repeat(6, 78vw) }
}

/* Letter previews in the console (careers/letter.css draws the A4 page) */
.hz-preview-box { background: #EDE8E3; border-radius: 12px; padding: 14px; overflow: auto; max-height: 720px; margin: 10px 0 }
.hz-preview-box .letter { transform: scale(.82); transform-origin: top center; margin-bottom: -18% }
.hz-review { border: 2px solid var(--accent); }
.hz-nav a .hz-count { display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 4px; border-radius: 99px; background: var(--accent); color: #fff; font-size: .72rem; text-align: center }
.hz-nav a.on .hz-count { background: #fff; color: var(--accent) }
