/* =========================================================
   YORIAI — operations console (dense / functional)
   ========================================================= */
body.is-admin { background: var(--slate-050); }
body.is-admin .card { border-radius: var(--r-md); }

.a-app { display: flex; min-height: 100vh; }

/* ---------- sidebar ---------- */
.a-side {
  width: 238px; flex: none; position: sticky; top: 0; height: 100vh;
  background: var(--slate-900); color: rgba(255, 255, 255, .72);
  display: flex; flex-direction: column; z-index: 50;
  border-right: 1px solid rgba(255, 255, 255, .06);
}
.a-side__brand { display: flex; align-items: center; gap: 11px; padding: 20px 18px 18px; }
.a-side__mark {
  width: 34px; height: 34px; border-radius: 10px; flex: none;
  display: grid; place-items: center;
  background: linear-gradient(150deg, var(--sage-400), var(--sage-600));
  color: #10201A;
}
.a-side__mark svg { width: 22px; height: 22px; }
.a-side__brand b { display: block; color: #fff; font-size: 13.5px; letter-spacing: .04em; white-space: nowrap; }
.a-side__brand small { display: block; font-size: 10.5px; color: rgba(255, 255, 255, .42); letter-spacing: .06em; }

.a-nav { flex: 1; overflow-y: auto; padding: 6px 10px 16px; }
.a-nav__group { margin-bottom: 16px; }
.a-nav__glabel {
  font-size: 10px; font-weight: 800; letter-spacing: .14em;
  color: rgba(255, 255, 255, .3); padding: 6px 10px 7px;
}
.a-nav__link {
  display: flex; align-items: center; gap: 10px; padding: 9px 11px;
  border-radius: var(--r-sm); font-size: 13.5px; font-weight: 600;
  color: rgba(255, 255, 255, .68); margin-bottom: 2px;
  transition: background .14s var(--ease), color .14s var(--ease);
}
.a-nav__link:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.a-nav__link.is-active { background: var(--sage-600); color: #fff; box-shadow: 0 4px 12px -4px rgba(0, 0, 0, .5); }
.a-nav__link span { flex: 1; }
.a-nav__badge {
  font-style: normal; font-size: 11px; font-weight: 800; font-family: var(--font-num);
  background: var(--clay-500); color: #241F1B; border-radius: var(--r-pill); padding: 1px 7px;
}
.a-nav__link.is-active .a-nav__badge { background: rgba(255, 255, 255, .92); }

.a-side__foot { padding: 14px; border-top: 1px solid rgba(255, 255, 255, .08); }
.a-side__op { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.a-side__op b { display: block; font-size: 13px; color: #fff; }
.a-side__op small { display: block; font-size: 11px; color: rgba(255, 255, 255, .42); }
.a-side__switch {
  display: flex; align-items: center; gap: 7px; padding: 9px 11px;
  border-radius: var(--r-sm); font-size: 12.5px; font-weight: 600;
  background: rgba(255, 255, 255, .07); color: rgba(255, 255, 255, .8);
}
.a-side__switch:hover { background: rgba(255, 255, 255, .13); color: #fff; }

/* ---------- topbar ---------- */
.a-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.a-top {
  position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 20px;
  padding: 14px 26px; background: rgba(245, 247, 246, .92);
  backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);
}
.a-burger { display: none; background: none; border: 0; cursor: pointer; color: var(--ink-700); }
.a-top__title { flex: 1; min-width: 0; }
.a-top__title h1 { font-size: 19px; color: var(--ink-900); }
.a-top__title p { font-size: 12.5px; color: var(--ink-500); }
.a-top__right { display: flex; align-items: center; gap: 12px; }
.a-search {
  display: flex; align-items: center; gap: 8px; padding: 8px 13px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-pill);
  color: var(--ink-400); min-width: 268px;
}
.a-search input { border: 0; outline: none; background: none; font-size: 13px; width: 100%; color: var(--ink-800); }
.a-search--sm { min-width: 208px; padding: 6px 12px; }
.a-search:focus-within { border-color: var(--sage-400); box-shadow: 0 0 0 3px var(--sage-100); }
.a-dot {
  position: absolute; margin: -12px 0 0 12px; width: 7px; height: 7px;
  border-radius: 50%; background: var(--risk-600); border: 1.5px solid var(--white);
}
.a-clock { font-size: 12px; color: var(--ink-500); }

.a-main { flex: 1; padding: 22px 26px 80px; }
.a-stack { display: flex; flex-direction: column; gap: 18px; }
.a-grid { display: grid; gap: 18px; align-items: start; }
.a-grid--2-1 { grid-template-columns: 1.62fr 1fr; }
.a-grid--1-1 { grid-template-columns: 1fr 1fr; }

.a-crumb { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--ink-500); }
.a-crumb a { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; color: var(--ink-600); }
.a-crumb a:hover { color: var(--sage-700); }

/* ---------- KPI ---------- */
.kpigrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.kpigrid--4 { grid-template-columns: repeat(4, 1fr); }
.kpi {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 15px 17px; box-shadow: var(--sh-xs);
}
.kpi--alert { border-color: #EBC3BC; background: linear-gradient(180deg, #FEF7F5, var(--white) 60%); }
.kpi__top { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; }
.kpi__icon {
  width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
  background: var(--sage-050); color: var(--sage-700); flex: none;
}
.kpi--alert .kpi__icon { background: var(--risk-100); color: var(--risk-600); }
.kpi__label { font-size: 12px; color: var(--ink-500); font-weight: 700; }
.kpi__val { font-size: 27px; font-weight: 800; color: var(--ink-900); line-height: 1.1; }
.kpi__val small { font-size: 13px; font-weight: 700; margin-left: 2px; color: var(--ink-500); }
.kpi__foot { display: flex; align-items: center; gap: 8px; margin-top: 8px; min-height: 26px; }
.kpi__hint { font-size: 11px; color: var(--ink-400); flex: 1; }
.delta {
  display: inline-flex; align-items: center; gap: 2px; font-size: 11.5px; font-weight: 800;
  padding: 2px 6px; border-radius: var(--r-pill); font-family: var(--font-num);
}
.delta.is-good { background: var(--ok-100); color: var(--ok-600); }
.delta.is-bad { background: var(--risk-100); color: var(--risk-600); }

/* ---------- panel ---------- */
.apanel { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--sh-xs); }
.apanel__head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 14px;
  padding: 15px 18px; border-bottom: 1px solid var(--line);
}
.apanel__head h2 { font-size: 14.5px; color: var(--ink-900); }
.apanel__head p { font-size: 12px; color: var(--ink-500); margin-top: 2px; }
.apanel__body { padding: 18px; }
.apanel__note { font-size: 12.5px; color: var(--ink-600); line-height: 1.8; margin-bottom: 14px; }
.apanel--quiet { background: linear-gradient(180deg, var(--sage-050), var(--white) 55%); }
.minih { font-size: 12.5px; color: var(--ink-600); margin-bottom: 10px; letter-spacing: .02em; }

/* ---------- tables ---------- */
.atable-wrap { overflow-x: auto; margin: -18px; padding: 0; }
.apanel__body > .atable-wrap { margin: -18px; }
.a-stack > .atable-wrap {
  margin: 0; background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-md); box-shadow: var(--sh-xs);
}
.atable { width: 100%; border-collapse: collapse; font-size: 13px; }
.atable th {
  text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .04em;
  color: var(--ink-500); padding: 11px 12px; background: var(--slate-050);
  border-bottom: 1px solid var(--line); white-space: nowrap; position: sticky; top: 0;
}
.atable td { padding: 11px 12px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; }
.atable tbody tr:last-child td { border-bottom: 0; }
.atable tbody tr:hover { background: var(--sage-050); }
.atable--click tbody tr { cursor: pointer; }
.atable .is-right { text-align: right; }
.atable th.is-right { text-align: right; }
.atable .mono { font-size: 12px; color: var(--ink-600); white-space: nowrap; }
.atable tr.is-new { background: #FBF6EE; }
.atable-empty { padding: 34px; text-align: center; color: var(--ink-400); font-size: 13px; }
.newdot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--clay-500); margin-left: 6px; vertical-align: middle; }

.cellmain { font-weight: 700; color: var(--ink-900); }
.cellsub { font-size: 11.5px; color: var(--ink-500); }
.svc { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.svc__dot { width: 8px; height: 8px; border-radius: 3px; background: var(--sage-400); flex: none; display: inline-block; }
.svc__dot--clay { background: var(--clay-500); }
.svc__dot--info { background: #5B85A8; }
.svc__dot--violet { background: #7A6AA8; }
.svc__dot--ok { background: var(--ok-600); }
.svc__dot--outline { background: var(--ink-300); }
.skillcell { display: flex; gap: 4px; }

.pmini { display: inline-flex; align-items: center; gap: 9px; }
.pmini b { display: block; font-size: 13px; color: var(--ink-900); white-space: nowrap; }
.pmini small { display: block; font-size: 11px; color: var(--ink-500); }
a.pmini:hover b { color: var(--sage-700); text-decoration: underline; }

.score {
  display: inline-block; min-width: 38px; text-align: center; padding: 3px 8px;
  border-radius: var(--r-sm); font-size: 12.5px; font-weight: 800;
}
.score.is-hi { background: var(--ok-100); color: var(--ok-600); }
.score.is-mid { background: var(--sage-100); color: var(--sage-800); }
.score.is-lo { background: var(--warn-100); color: var(--warn-700); }
.score.is-bad { background: var(--risk-100); color: var(--risk-700); }
.score.is-none { background: var(--ink-100); color: var(--ink-400); }

.trainmini { width: 54px; height: 6px; background: var(--ink-100); border-radius: var(--r-pill); overflow: hidden; display: inline-block; vertical-align: middle; }
.trainmini i { display: block; height: 100%; background: var(--sage-400); border-radius: var(--r-pill); }
.trainmini--wide { width: 74px; }
.trainmini + small { font-size: 11px; color: var(--ink-500); margin-left: 6px; }

/* ---------- filters ---------- */
.filterbar {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  flex-wrap: wrap; background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-md); padding: 11px 14px; box-shadow: var(--sh-xs);
}
.chiprow { display: flex; gap: 6px; flex-wrap: wrap; }
.fchip {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 6px 12px; border-radius: var(--r-pill); font-size: 12.5px; font-weight: 700;
  background: var(--slate-050); border: 1px solid transparent; color: var(--ink-600);
  transition: all .14s var(--ease);
}
.fchip:hover { background: var(--sage-050); color: var(--sage-800); }
.fchip i {
  font-style: normal; font-family: var(--font-num); font-size: 11px;
  background: rgba(0, 0, 0, .06); border-radius: var(--r-pill); padding: 0 6px;
}
.fchip.is-on { background: var(--sage-700); color: #fff; }
.fchip.is-on i { background: rgba(255, 255, 255, .22); }

/* ---------- ops detail ---------- */
.ohero {
  display: grid; grid-template-columns: 1fr 232px; gap: 20px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 18px; box-shadow: var(--sh-xs);
}
.ohero h2 { font-size: 20px; }
.ofacts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 16px; }
.ofacts li { display: flex; flex-direction: column; gap: 1px; }
.ofacts span { font-size: 11px; color: var(--ink-500); font-weight: 700; }
.ofacts b { font-size: 13.5px; color: var(--ink-900); }
.ofacts--col { flex-direction: column; gap: 10px; }
.ohero__side { display: flex; flex-direction: column; gap: 8px; }

.obanner {
  display: flex; gap: 13px; padding: 15px 18px; border-radius: var(--r-md);
  background: var(--sage-050); border: 1px solid var(--sage-200);
}
.obanner svg { color: var(--sage-700); flex: none; margin-top: 2px; }
.obanner b { font-size: 13.5px; }
.obanner p { font-size: 12.5px; color: var(--ink-600); margin-top: 4px; line-height: 1.75; }
.obanner--risk { background: var(--risk-100); border-color: #EBC3BC; }
.obanner--risk svg { color: var(--risk-600); }
.obanner--risk b { color: var(--risk-700); }

.obody { font-size: 13.5px; color: var(--ink-700); line-height: 1.9; white-space: pre-wrap; }
.checkgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.checkgrid__item { padding: 10px 12px; border-radius: var(--r-sm); background: var(--slate-050); }
.checkgrid__item small { display: block; font-size: 10.5px; color: var(--ink-500); font-weight: 700; margin-bottom: 3px; }
.checkgrid__item b { display: flex; align-items: center; gap: 5px; font-size: 13px; }
.checkgrid__item.is-ok { background: var(--ok-100); color: var(--ok-600); }
.checkgrid__item.is-warn { background: var(--warn-100); color: var(--warn-700); }
.checkgrid__item.is-ok small, .checkgrid__item.is-warn small { color: inherit; opacity: .75; }

.onote {
  display: flex; gap: 11px; padding: 13px 15px; margin-top: 14px;
  background: var(--slate-050); border-radius: var(--r-sm); border: 1px solid var(--line);
  align-items: flex-start;
}
.onote > svg { color: var(--sage-600); flex: none; margin-top: 2px; }
.onote b { font-size: 12.5px; }
.onote p { font-size: 12px; color: var(--ink-600); margin-top: 3px; line-height: 1.7; }
.onote--action { align-items: center; background: var(--sage-050); border-color: var(--sage-200); }
.onote--action .btn { flex: none; }
.onote--warn { margin-top: 0; margin-bottom: 14px; background: var(--warn-100); border-color: #E8D3AA; }
.onote--warn > svg { color: var(--warn-700); }
.onote--warn b, .onote--warn p { color: var(--warn-700); }

.minidef { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.minidef div { display: grid; grid-template-columns: 44px 1fr; gap: 10px; }
.minidef dt { font-size: 11.5px; color: var(--ink-500); font-weight: 700; }
.minidef dd { margin: 0; font-size: 12.5px; color: var(--ink-700); line-height: 1.7; }

.ostep { display: flex; flex-direction: column; gap: 0; }
.ostep li { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ink-400); padding: 5px 0; position: relative; }
.ostep li i {
  width: 11px; height: 11px; border-radius: 50%; background: var(--ink-200); flex: none;
  box-shadow: 0 0 0 3px var(--white);
}
.ostep li:not(:last-child)::before {
  content: ""; position: absolute; left: 5px; top: 22px; height: 12px; width: 1.5px; background: var(--ink-200);
}
.ostep li.is-done { color: var(--ink-800); font-weight: 700; }
.ostep li.is-done i { background: var(--sage-600); }
.ostep li.is-done:not(:last-child)::before { background: var(--sage-300); }

.matchlist { display: flex; flex-direction: column; gap: 12px; }
.matchlist > li {
  display: grid; grid-template-columns: 26px 1fr 128px; gap: 10px 12px; align-items: center;
  padding: 13px; border: 1px solid var(--line); border-radius: var(--r-sm);
}
.matchlist__rank { font-weight: 800; color: var(--ink-400); text-align: center; }
.matchlist__p { display: flex; align-items: center; gap: 10px; }
.matchlist__p b { font-size: 13.5px; }
.matchlist__p b small { font-size: 11px; font-weight: 500; color: var(--ink-500); }
.matchlist__meta { font-size: 11.5px; color: var(--ink-500); display: block; }
.matchlist__score { display: flex; align-items: center; gap: 8px; }
.matchlist__score b { font-size: 13.5px; }
.matchlist__reasons { grid-column: 2 / 4; display: flex; flex-wrap: wrap; gap: 5px; }
.matchlist > li > .btn { grid-column: 3; justify-self: end; }
.matchbar { flex: 1; height: 7px; background: var(--ink-100); border-radius: var(--r-pill); overflow: hidden; }
.matchbar i { display: block; height: 100%; background: linear-gradient(90deg, var(--sage-500), var(--sage-400)); border-radius: var(--r-pill); }
.matchbar--lg { height: 9px; margin: 12px 0; }

.notes { display: flex; flex-direction: column; gap: 12px; }
.notes li { padding: 11px 13px; background: var(--slate-050); border-radius: var(--r-sm); }
.notes__meta { display: flex; justify-content: space-between; gap: 10px; font-size: 11.5px; color: var(--ink-500); }
.notes__meta b { color: var(--ink-800); }
.notes p { font-size: 12.5px; color: var(--ink-700); margin-top: 5px; line-height: 1.7; }
.notes__add { display: flex; gap: 8px; margin-top: 14px; }
.notes__add .field__input { padding: 9px 12px; font-size: 13px; }

/* ---------- matching page ---------- */
.matchlayout { display: grid; grid-template-columns: 268px 1fr 1.28fr; gap: 16px; align-items: start; }
.matchqueue {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--sh-xs); overflow: hidden;
}
.matchqueue__head { padding: 14px 16px; border-bottom: 1px solid var(--line); }
.matchqueue__head h2 { font-size: 14px; display: flex; align-items: center; gap: 8px; }
.matchqueue__head h2 i {
  font-style: normal; font-family: var(--font-num); font-size: 11px; font-weight: 800;
  background: var(--clay-500); color: #fff; border-radius: var(--r-pill); padding: 1px 7px;
}
.matchqueue__head p { font-size: 11.5px; color: var(--ink-500); margin-top: 2px; }
.matchqueue ul { max-height: 74vh; overflow-y: auto; padding: 8px; }
.qitemb {
  width: 100%; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 4px;
  padding: 11px 12px; border-radius: var(--r-sm); border: 1px solid transparent;
  background: var(--slate-050); margin-bottom: 6px; transition: all .14s var(--ease);
}
.qitemb:hover { background: var(--sage-050); }
.qitemb.is-sel { background: var(--white); border-color: var(--sage-500); box-shadow: 0 0 0 2px var(--sage-100); }
.qitemb .mono { font-size: 11px; color: var(--ink-500); }
.qitemb b { font-size: 13px; }
.qitemb small { font-size: 11px; color: var(--ink-500); }
.qitemb .tag { align-self: flex-start; margin-top: 3px; }
.matchinfo__title { font-size: 17px; margin-bottom: 12px; }

.cands { display: flex; flex-direction: column; gap: 12px; }
.cand { padding: 14px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--white); }
.cand.is-top { border-color: var(--sage-400); background: linear-gradient(180deg, var(--sage-050), var(--white) 70%); }
.cand__head { display: flex; align-items: center; gap: 11px; }
.cand__rank {
  width: 22px; height: 22px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: var(--ink-100); color: var(--ink-600); font-size: 11.5px; font-weight: 800;
}
.cand.is-top .cand__rank { background: var(--sage-600); color: #fff; }
.cand__name { display: block; font-size: 14.5px; font-weight: 700; color: var(--ink-900); }
.cand__name small { font-size: 11.5px; font-weight: 500; color: var(--ink-500); margin-left: 7px; }
.cand__name:hover { color: var(--sage-700); text-decoration: underline; }
.cand__meta { display: flex; align-items: center; gap: 10px; margin-top: 4px; font-size: 12px; color: var(--ink-600); flex-wrap: wrap; }
.cand__score { text-align: right; flex: none; }
.cand__score b { font-size: 22px; font-weight: 800; color: var(--sage-800); font-family: var(--font-num); }
.cand__score b small { font-size: 12px; }
.cand__score span { display: block; font-size: 10.5px; color: var(--ink-500); }
.cand__reasons { display: flex; flex-wrap: wrap; gap: 5px; }
.cand__actions { display: flex; gap: 8px; margin-top: 12px; }

.autolist { display: flex; flex-direction: column; gap: 10px; }
.autolist li { display: flex; gap: 12px; align-items: baseline; font-size: 12.5px; }
.autolist b { flex: none; width: 118px; color: var(--sage-800); }
.autolist span { color: var(--ink-600); }

/* ---------- provider detail ---------- */
.phero {
  display: grid; grid-template-columns: 1fr 200px; gap: 20px; align-items: center;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 20px; box-shadow: var(--sh-xs);
}
.phero__id { display: flex; gap: 18px; }
.phero__id h2 { font-size: 23px; }
.phero__id h2 small { font-size: 12px; font-weight: 500; color: var(--ink-400); margin-left: 9px; letter-spacing: .04em; }
.phero__sub { font-size: 12.5px; color: var(--ink-500); margin-top: 3px; }
.phero__bio { font-size: 13px; color: var(--ink-600); margin-top: 12px; max-width: 68ch; line-height: 1.85; }
.phero__score { text-align: center; }
.phero__scorelabel { display: flex; flex-direction: column; gap: 6px; align-items: center; margin-top: 6px; }
.phero__scorelabel b { font-size: 12px; color: var(--ink-500); }

.perfgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.perfcell { padding: 12px 14px; background: var(--slate-050); border-radius: var(--r-sm); }
.perfcell small { display: block; font-size: 11px; color: var(--ink-500); font-weight: 700; }
.perfcell b { display: block; font-size: 21px; font-weight: 800; color: var(--ink-900); line-height: 1.3; }
.perfcell span { display: block; font-size: 10.5px; color: var(--ink-400); }

.skilltags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.trainlist { display: flex; flex-direction: column; gap: 8px; }
.trainlist li { display: flex; align-items: center; gap: 11px; padding: 9px 11px; background: var(--slate-050); border-radius: var(--r-sm); }
.trainlist b { display: block; font-size: 13px; }
.trainlist small { display: block; font-size: 11px; color: var(--ink-500); }
.trainlist__ico { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--ink-100); color: var(--ink-400); }
.trainlist__ico.is-done { background: var(--ok-100); color: var(--ok-600); }
.trainlist__ico.is-progress { background: var(--info-100); color: var(--info-700); }

.ladder { display: flex; flex-direction: column; gap: 10px; }
.ladder > li {
  display: flex; gap: 12px; align-items: flex-start; padding: 13px;
  border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--white);
  position: relative;
}
.ladder > li:not(:last-child)::after {
  content: ""; position: absolute; left: 26px; bottom: -10px; height: 10px; width: 2px; background: var(--ink-200);
}
.ladder > li.is-current { border-color: var(--clay-400); background: #FDF7F2; }
.ladder > li.is-done { background: var(--sage-050); border-color: var(--sage-200); }
.ladder__badge {
  width: 28px; height: 28px; border-radius: 9px; flex: none; display: grid; place-items: center;
  background: var(--ink-100); color: var(--ink-500); font-size: 13px; font-weight: 800;
}
.ladder > li.is-current .ladder__badge { background: var(--clay-500); color: #fff; }
.ladder > li.is-done .ladder__badge { background: var(--sage-600); color: #fff; }
.ladder b { font-size: 13.5px; display: block; }
.ladder b small { font-size: 11px; font-weight: 500; color: var(--ink-400); letter-spacing: .03em; }
.ladder > li > .grow > small { font-size: 11.5px; color: var(--ink-500); display: block; }
.ladder__req { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.ladder__req span {
  font-size: 10.5px; padding: 2px 7px; border-radius: var(--r-pill);
  background: var(--ink-100); color: var(--ink-600);
}
.ladder__tasks { display: flex; gap: 6px; align-items: flex-start; margin-top: 8px; font-size: 11.5px; color: var(--sage-800); }
.ladder__tasks svg { flex: none; margin-top: 3px; }
.ladder__chk { color: var(--sage-600); flex: none; }
.ladder--lg > li { padding: 15px; }
.ladder__next { margin-top: 16px; padding: 14px; background: var(--slate-050); border-radius: var(--r-sm); }
.ladder__next > b { display: block; font-size: 12px; color: var(--ink-600); margin-bottom: 10px; }

.riskbox { padding: 13px 15px; border-radius: var(--r-sm); margin-bottom: 14px; }
.riskbox b { font-size: 13.5px; }
.riskbox p { font-size: 12px; margin-top: 5px; line-height: 1.7; }
.riskbox--ok { background: var(--ok-100); color: var(--ok-600); }
.riskbox--warn { background: var(--warn-100); color: var(--warn-700); }
.riskbox--risk { background: var(--risk-100); color: var(--risk-700); }
.flaglist { display: flex; flex-direction: column; gap: 7px; }
.flaglist li { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: var(--ink-700); }
.flaglist svg { color: var(--risk-600); flex: none; margin-top: 3px; }
.flagcell { display: flex; flex-direction: column; gap: 3px; }
.flagcell span { font-size: 11.5px; color: var(--ink-600); }

.fblist { display: flex; flex-direction: column; gap: 11px; }
.fblist li { padding: 11px 13px; background: var(--slate-050); border-radius: var(--r-sm); }
.fblist b { font-size: 12.5px; }
.fblist p { font-size: 12.5px; color: var(--ink-700); margin: 5px 0 4px; line-height: 1.7; }
.fblist small { font-size: 10.5px; color: var(--ink-400); }

.availrow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.availcell { text-align: center; }
.availcell small { display: block; font-size: 11px; color: var(--ink-500); margin-bottom: 5px; }
.availcell i { display: block; height: 26px; border-radius: var(--r-xs); background: var(--ink-100); }
.availcell.is-2 i { background: var(--sage-500); }
.availcell.is-1 i { background: var(--sage-300); }
.availlegend { display: flex; gap: 14px; margin-top: 10px; font-size: 11px; color: var(--ink-500); }
.availlegend span { display: inline-flex; align-items: center; gap: 5px; }
.availlegend i { width: 10px; height: 10px; border-radius: 3px; background: var(--ink-100); }
.availlegend i.is-2 { background: var(--sage-500); }
.availlegend i.is-1 { background: var(--sage-300); }

/* ---------- queue / overview extras ---------- */
.queue { display: flex; flex-direction: column; gap: 8px; }
.queue a {
  display: flex; align-items: center; gap: 12px; padding: 11px 13px;
  background: var(--slate-050); border-radius: var(--r-sm); border: 1px solid transparent;
  transition: all .14s var(--ease);
}
.queue a:hover { background: var(--white); border-color: var(--sage-300); box-shadow: var(--sh-xs); }
.queue__id { font-size: 11px; color: var(--ink-500); flex: none; }
.queue b { display: block; font-size: 13px; }
.queue small { display: block; font-size: 11px; color: var(--ink-500); }
.queue__wait { font-size: 11px; color: var(--risk-600); font-weight: 700; flex: none; }
.queue svg { color: var(--ink-300); flex: none; }

.donutrow { display: flex; align-items: center; gap: 20px; }
.donutrow .chart-legend { flex: 1; }
.donutrow--col { flex-direction: column; align-items: stretch; }

.actionlist { display: flex; flex-direction: column; gap: 8px; }
.actionlist li { display: flex; align-items: center; gap: 10px; }
.actionlist .tag { flex: none; width: 132px; justify-content: center; }
.actionlist small { font-size: 11.5px; color: var(--ink-600); }

/* ---------- incidents ---------- */
.inclist { display: flex; flex-direction: column; gap: 12px; }
.inc { border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.inc--medium { border-color: #EFD9A8; }
.inc__head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 11px 14px; background: var(--slate-050); flex-wrap: wrap;
}
.inc__head b { font-size: 13.5px; }
.inc__head span.num { font-size: 11.5px; }
.inc__body { padding: 14px; }
.inc__body p { font-size: 12.5px; color: var(--ink-700); line-height: 1.8; }
.inc__meta { display: flex; gap: 14px; margin-top: 10px; flex-wrap: wrap; }
.inc__meta a, .inc__meta span {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--ink-600);
}
.inc__meta a { font-weight: 700; color: var(--sage-700); }
.inc__meta a:hover { text-decoration: underline; }
.inc__action {
  display: flex; gap: 10px; margin-top: 12px; padding: 11px 13px;
  background: var(--sage-050); border-radius: var(--r-sm); align-items: flex-start;
}
.inc__action svg { color: var(--sage-600); flex: none; margin-top: 3px; }
.inc__action b { font-size: 12px; }
.inc__action p { font-size: 12px; margin-top: 3px; }

/* ---------- pipeline / flow ---------- */
.pipeline { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; align-items: end; height: 208px; }
.pipeline li { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; position: relative; }
.pipeline__bar {
  width: 100%; border-radius: var(--r-xs) var(--r-xs) 0 0; min-height: 8px;
  background: linear-gradient(180deg, var(--sage-400), var(--sage-600));
}
.pipeline li:last-child .pipeline__bar { background: linear-gradient(180deg, var(--clay-400), var(--clay-600)); }
.pipeline b { font-size: 14px; margin-top: 7px; }
.pipeline small { font-size: 10.5px; color: var(--ink-500); text-align: center; }
.pipeline__rate {
  position: absolute; top: -18px; right: -18px; font-size: 10px; color: var(--ink-400);
  background: var(--white); padding: 1px 5px; border-radius: var(--r-pill); border: 1px solid var(--line);
}

.flowline { display: flex; flex-direction: column; gap: 0; }
.flowline li { display: flex; align-items: center; gap: 11px; padding: 7px 0; position: relative; }
.flowline__n {
  width: 22px; height: 22px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: var(--sage-100); color: var(--sage-800); font-size: 11px; font-weight: 800;
  box-shadow: 0 0 0 3px var(--white);
}
.flowline li:not(:last-child)::before {
  content: ""; position: absolute; left: 10px; top: 27px; height: 12px; width: 2px; background: var(--sage-200);
}
.flowline b { font-size: 13px; }

/* ---------- employer detail ---------- */
.ehero {
  display: grid; grid-template-columns: 1fr 268px; gap: 22px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 20px; box-shadow: var(--sh-xs);
}
.ehero h2 { font-size: 21px; }
.ehero__sub { font-size: 12.5px; color: var(--ink-500); margin-top: 4px; }
.ehero__vp {
  padding: 16px 18px; border-radius: var(--r-md); text-align: center;
  background: linear-gradient(150deg, var(--sage-700), var(--sage-900)); color: #fff;
}
.ehero__vplabel { font-size: 11.5px; color: rgba(255, 255, 255, .7); font-weight: 700; }
.ehero__vp b { display: block; font-size: 38px; line-height: 1.2; margin: 4px 0 6px; }
.ehero__vp b small { font-size: 14px; margin-left: 3px; }
.ehero__vpsub { font-size: 10.5px; color: rgba(255, 255, 255, .6); line-height: 1.6; display: block; }

.vplist { display: flex; flex-direction: column; gap: 12px; }
.vplist li { display: flex; gap: 12px; align-items: flex-start; }
.vplist svg { color: var(--sage-600); flex: none; margin-top: 4px; }
.vplist b { display: block; font-size: 16px; color: var(--ink-900); }
.vplist span { display: block; font-size: 12px; color: var(--ink-600); }

.uelist { display: flex; flex-direction: column; gap: 9px; }
.uelist li { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: var(--ink-600); }
.uelist b { font-size: 14px; color: var(--ink-900); }
.uelist li.is-total { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 4px; }
.uelist li.is-total b { font-size: 17px; color: var(--sage-800); }
.uelist li.is-total b small { font-size: 12px; color: var(--ink-500); }

.dots--no li::before { background: var(--risk-500, var(--risk-600)); }

/* ---------- responsive ---------- */
@media (max-width: 1360px) {
  .matchlayout { grid-template-columns: 232px 1fr; }
  .matchcands { grid-column: 1 / -1; }
  .kpigrid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1180px) {
  .a-grid--2-1, .a-grid--1-1 { grid-template-columns: 1fr; }
  .kpigrid, .kpigrid--4 { grid-template-columns: repeat(2, 1fr); }
  .ohero, .phero, .ehero { grid-template-columns: 1fr; }
  .perfgrid { grid-template-columns: repeat(2, 1fr); }
  .pipeline { grid-template-columns: repeat(4, 1fr); height: auto; gap: 16px; }
  .pipeline li { height: 120px; }
  .pipeline__rate { display: none; }
}
@media (max-width: 900px) {
  .a-side {
    position: fixed; left: 0; top: 0; transform: translateX(-100%);
    transition: transform .24s var(--ease); box-shadow: var(--sh-lg);
  }
  .a-app.is-navopen .a-side { transform: none; }
  .a-burger { display: inline-flex; }
  .a-search { display: none; }
  .a-clock { display: none; }
  .a-main { padding: 16px 14px 90px; }
  .a-top { padding: 12px 14px; }
  .matchlayout { grid-template-columns: 1fr; }
  .checkgrid { grid-template-columns: 1fr; }
  .matchlist > li { grid-template-columns: 22px 1fr; }
  .matchlist__score, .matchlist__reasons { grid-column: 1 / -1; }
  .matchlist > li > .btn { grid-column: 1 / -1; justify-self: stretch; }
  .actionlist li { flex-direction: column; align-items: flex-start; gap: 3px; }
  .actionlist .tag { width: auto; }
}
@media (max-width: 620px) {
  .kpigrid, .kpigrid--4 { grid-template-columns: 1fr 1fr; }
  .kpi__val { font-size: 22px; }
  .perfgrid { grid-template-columns: 1fr 1fr; }
  .a-top__title h1 { font-size: 16px; }
  .a-top__title p { display: none; }
}
