/* UI-only: fixed sidebar + stable candidate table columns */
:root{
  --side-w:284px;
  --side-collapsed:88px;
}

html,body{min-height:100%!important;overflow-x:hidden!important}
body{background:#f4f7fb!important}
.dashboard{display:block!important;min-height:100vh!important;background:radial-gradient(900px 420px at 78% -12%,rgba(31,115,224,.07),transparent 60%),var(--bg)!important}

.sidebar,
body.hiring-mode .sidebar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:var(--side-w)!important;
  min-width:var(--side-w)!important;
  height:100vh!important;
  min-height:100vh!important;
  flex:0 0 var(--side-w)!important;
  margin:0!important;
  padding:24px 18px 110px!important;
  background:linear-gradient(180deg,#edf4fc,#eaf1fa)!important;
  border:0!important;
  border-right:1px solid #dbe6f3!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:1000!important;
  transition:width .34s cubic-bezier(.2,.8,.2,1),min-width .34s cubic-bezier(.2,.8,.2,1),padding .34s cubic-bezier(.2,.8,.2,1)!important;
}
.sidebar.collapsed,
body.hiring-mode .sidebar.collapsed{
  width:var(--side-collapsed)!important;
  min-width:var(--side-collapsed)!important;
  flex-basis:var(--side-collapsed)!important;
  padding:24px 15px 108px!important;
}

.main,
body.hiring-mode .main{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  min-height:100vh!important;
  margin-left:var(--side-w)!important;
  padding:26px 32px 32px!important;
  transition:margin-left .34s cubic-bezier(.2,.8,.2,1)!important;
}
.sidebar.collapsed + .main,
body.hiring-mode .sidebar.collapsed + .main{margin-left:var(--side-collapsed)!important}

.sidebar-toggle,
body.hiring-mode .sidebar-toggle{
  position:fixed!important;
  left:calc(var(--side-w) - 18px)!important;
  right:auto!important;
  top:20px!important;
  transition:left .34s cubic-bezier(.2,.8,.2,1)!important;
}
.sidebar.collapsed .sidebar-toggle,
body.hiring-mode .sidebar.collapsed .sidebar-toggle{left:calc(var(--side-collapsed) - 18px)!important}

.sidebar .brand>div:not(.truck),
.sidebar .section-title,
.sidebar .nav-item b,
.sidebar .profile>div,
.sidebar .profile i,
.sidebar .badge.yellow,
body.hiring-mode .sidebar .brand>div:not(.truck),
body.hiring-mode .sidebar .section-title,
body.hiring-mode .sidebar .nav-item b,
body.hiring-mode .sidebar .profile>div,
body.hiring-mode .sidebar .profile i,
body.hiring-mode .sidebar .badge.yellow{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  max-width:190px!important;
  transform:translateX(0)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  transition:opacity .18s ease .20s,transform .18s ease .20s,max-width .01s linear .18s,visibility 0s linear .20s!important;
}
.sidebar.collapsed .brand>div:not(.truck),
.sidebar.collapsed .section-title,
.sidebar.collapsed .nav-item b,
.sidebar.collapsed .badge.yellow,
body.hiring-mode .sidebar.collapsed .brand>div:not(.truck),
body.hiring-mode .sidebar.collapsed .section-title,
body.hiring-mode .sidebar.collapsed .nav-item b,
body.hiring-mode .sidebar.collapsed .badge.yellow{
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  max-width:0!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-8px)!important;
  transition:opacity .08s ease,transform .08s ease,max-width .22s ease,visibility 0s linear .08s!important;
  pointer-events:none!important;
}
.sidebar.collapsed .profile>div,
.sidebar.collapsed .profile i,
body.hiring-mode .sidebar.collapsed .profile>div,
body.hiring-mode .sidebar.collapsed .profile i{display:none!important}

@media(max-width:1180px){
  .main,body.hiring-mode .main{margin-left:0!important;padding-left:24px!important;padding-right:24px!important}
  .sidebar:not(.expanded),body.hiring-mode .sidebar:not(.expanded){transform:translateX(-100%)!important}
  .sidebar.expanded,body.hiring-mode .sidebar.expanded{transform:translateX(0)!important}
  .sidebar-toggle,body.hiring-mode .sidebar-toggle{left:16px!important}
  .sidebar.expanded .sidebar-toggle,body.hiring-mode .sidebar.expanded .sidebar-toggle{left:calc(var(--side-w) - 18px)!important}
}

/* Candidate table: explicit columns, fixed row height, vertical centering */
body.hiring-mode .table-scroll{width:100%!important;overflow-x:auto!important;background:#fff!important}
body.hiring-mode .candidates-table{
  width:100%!important;
  min-width:1680px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  font-size:14px!important;
  color:#071326!important;
}
body.hiring-mode .candidates-table .col-candidate{width:230px!important}
body.hiring-mode .candidates-table .col-phone{width:145px!important}
body.hiring-mode .candidates-table .col-source{width:95px!important}
body.hiring-mode .candidates-table .col-action{width:160px!important}
body.hiring-mode .candidates-table .col-date{width:125px!important}
body.hiring-mode .candidates-table .col-status{width:135px!important}
body.hiring-mode .candidates-table .col-vacancy{width:260px!important}
body.hiring-mode .candidates-table .col-category{width:90px!important}
body.hiring-mode .candidates-table .col-experience{width:130px!important}
body.hiring-mode .candidates-table .col-message{width:330px!important}
body.hiring-mode .candidates-table .col-open{width:155px!important}
body.hiring-mode .candidates-table .col-responsible{width:125px!important}

body.hiring-mode .candidates-table th,
body.hiring-mode .candidates-table td{
  padding:12px 16px!important;
  border-bottom:1px solid #e7edf5!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
}
body.hiring-mode .candidates-table th{
  height:42px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#7a8aa3!important;
  text-align:left!important;
  background:#f8fafd!important;
  white-space:nowrap!important;
}
body.hiring-mode .candidates-table tbody tr{height:78px!important;border-bottom:1px solid #eef2f7!important}
body.hiring-mode .candidates-table td{height:78px!important;overflow:hidden!important;background:#fff!important}
body.hiring-mode .cell,
body.hiring-mode .candidate-cell{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  line-height:18px!important;
  width:100%!important;
  min-width:0!important;
}
body.hiring-mode .candidate-name-cell{gap:12px!important}
body.hiring-mode .candidate-name-cell .initials{flex:0 0 30px!important;width:30px!important;height:30px!important;border-radius:9px!important}
body.hiring-mode .candidate-name-cell b{font-weight:800!important;line-height:18px!important;white-space:normal!important;overflow-wrap:break-word!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-height:36px!important}
body.hiring-mode .phone-cell,
body.hiring-mode .responsible-value{white-space:nowrap!important;font-weight:700!important}
body.hiring-mode .src,
body.hiring-mode .source-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:22px!important;padding:0 10px!important;border-radius:999px!important;white-space:nowrap!important;font-size:12px!important;font-weight:800!important;font-style:normal!important}
body.hiring-mode .action-cell,
body.hiring-mode .date-cell,
body.hiring-mode .experience-cell{flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;font-weight:700!important;line-height:18px!important;white-space:normal!important}
body.hiring-mode .candidates-table th:nth-child(4),
body.hiring-mode .candidates-table td:nth-child(4){padding-right:28px!important}
body.hiring-mode .candidates-table th:nth-child(5),
body.hiring-mode .candidates-table td:nth-child(5){padding-left:28px!important}
body.hiring-mode .hire-tag,
body.hiring-mode .status-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:110px!important;min-height:24px!important;padding:4px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important;line-height:14px!important;text-align:center!important;white-space:normal!important}
body.hiring-mode .vacancy-cell{white-space:normal!important;overflow-wrap:break-word!important;font-weight:700!important}
body.hiring-mode .category-cell{justify-content:center!important;text-align:center!important;font-weight:700!important;white-space:nowrap!important}
body.hiring-mode .candidates-table th:nth-child(8){text-align:center!important}
body.hiring-mode .message-column{white-space:normal!important;max-width:none!important;width:auto!important}
body.hiring-mode .message-cell,
body.hiring-mode .last-message{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:18px!important;
  max-height:36px!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  font-weight:700!important;
}
body.hiring-mode .table-action-link,
body.hiring-mode .open-link{display:inline-flex!important;align-items:center!important;color:#0057ff!important;font-weight:800!important;line-height:18px!important;white-space:normal!important;text-decoration:none!important}
body.hiring-mode .table-action-link:hover,
body.hiring-mode .open-link:hover{text-decoration:underline!important}
