#ti-jobs-root {
  font-family: -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color: #1a1a2e;
  line-height: 1.5;
}
#ti-jobs-root * { box-sizing: border-box; }

/* ==================== FILTERS ==================== */
#ti-jobs-root .ti-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
  align-items: center;
}
#ti-jobs-root .ti-search { flex: 1 1 200px; }
#ti-jobs-root .ti-search,
#ti-jobs-root .ti-cat-filter {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 14px !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  background: #ffffff !important;
}

/* ==================== TABLE ==================== */
#ti-jobs-root .ti-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}
#ti-jobs-root table.ti-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
#ti-jobs-root table.ti-table thead th {
  background: #1e3a5f !important;
  color: #ffffff !important;
  padding: 11px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* Column Width */
#ti-jobs-root .ti-col-vac-date {
  width: 170px;
  min-width: 150px;
}

/* Job Column */
#ti-jobs-root .ti-job-name a {
  font-weight: 600 !important;
  color: #1d4ed8 !important;
  display: block !important;
  font-size: 16px !important;
}

/* ==================== APPLICATION TYPE PILL ==================== */
#ti-jobs-root .ti-app-pill {
  display: inline-block !important;
  margin-top: 5px !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
#ti-jobs-root .ti-app-online {
  background: #dcfce7 !important;
  color: #15803d !important;
}
#ti-jobs-root .ti-app-offline {
  background: #fef3c7 !important;
  color: #92400e !important;
}

/* ==================== LAST DATE STYLES ==================== */
#ti-jobs-root .ti-deadline {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 4px 8px !important;
  border-radius: 5px !important;
  margin-top: 4px !important;
}
#ti-jobs-root .ti-deadline.urgent {
  color: #dc2626 !important;
  background: #fef2f2 !important;
}
#ti-jobs-root .ti-deadline.soon {
  color: #b45309 !important;
  background: #fffbeb !important;
}
#ti-jobs-root .ti-deadline.normal {
  color: #374151 !important;
  background: #f3f4f6 !important;
}
#ti-jobs-root .ti-deadline.expired {
  color: #8b8b8b;
  font-weight: 600;
}

/* Vacancies Badge */
#ti-jobs-root .ti-posts-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: #f0fdf4 !important;
  color: #166534 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  margin-bottom: 6px;
}

/* ==================== PAGINATION ==================== */
/* Pager uses <a href="?paged=N"> links (crawlable) + <span> for disabled */
#ti-jobs-root .ti-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}
#ti-jobs-root .ti-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
#ti-jobs-root .ti-pager a,
#ti-jobs-root .ti-pager .ti-pg-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border: 1.5px solid #d1d5db;
  border-radius: 7px;
  background: #fff;
  color: #374151;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background .13s, border-color .13s, color .13s;
}
#ti-jobs-root .ti-pager a:hover {
  background: #f0f6ff;
  border-color: #1d4ed8;
  color: #1d4ed8;
}
#ti-jobs-root .ti-pager a.active {
  background: #1e3a5f;
  border-color: #1e3a5f;
  color: #fff;
  font-weight: 700;
  cursor: default;
  pointer-events: none;
}
#ti-jobs-root .ti-pager .ti-pg-disabled {
  opacity: .4;
  cursor: not-allowed;
  pointer-events: none;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 560px) {
  #ti-jobs-root .ti-filters {
    flex-direction: column;
    align-items: stretch;
  }
  #ti-jobs-root .ti-search,
  #ti-jobs-root .ti-cat-filter {
    width: 100% !important;
    height: 42px !important;
  }
  #ti-jobs-root .ti-job-name a {
    font-size: 14px !important;
  }
  #ti-jobs-root .ti-col-vac-date {
    width: auto !important;
  }
  #ti-jobs-root .ti-pagination {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
}