.minejobs-loading-engine-enabled {
  --minejobs-skeleton-bg: #eef3fb;
  --minejobs-skeleton-line: #e4ebf6;
  --minejobs-skeleton-shine: rgba(255,255,255,.68);
  --minejobs-loader-ring: rgba(37,99,235,.12);
  --minejobs-loader-brand: #2563eb;
}

.minejobs-skeleton-wrap {
  display: grid;
  gap: 14px;
  width: 100%;
}
.minejobs-skeleton-wrap.is-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  padding: 16px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(2px);
  border-radius: inherit;
}
.minejobs-skeleton-wrap:not(.is-overlay) {
  position: relative;
}

.minejobs-skeleton-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
  background: #f8fbff;
  border: 1px solid #e7eef8;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.minejobs-skeleton-card--compact { padding: 18px; border-radius: 18px; }
.minejobs-skeleton-media {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--minejobs-skeleton-bg);
  overflow: hidden;
  position: relative;
}
.minejobs-skeleton-content { min-width: 0; }
.minejobs-skeleton-line,
.minejobs-skeleton-chip,
.minejobs-skeleton-avatar,
.minejobs-skeleton-circle,
.minejobs-skeleton-button,
.minejobs-skeleton-chat-row b {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, var(--minejobs-skeleton-bg) 0%, var(--minejobs-skeleton-line) 50%, var(--minejobs-skeleton-bg) 100%);
}
.minejobs-skeleton-line::after,
.minejobs-skeleton-chip::after,
.minejobs-skeleton-avatar::after,
.minejobs-skeleton-circle::after,
.minejobs-skeleton-button::after,
.minejobs-skeleton-media::after,
.minejobs-skeleton-chat-row b::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent 0%, var(--minejobs-skeleton-shine) 50%, transparent 100%);
  animation: minejobsSkeletonShimmer 1.55s infinite;
}
.minejobs-skeleton-line {
  height: 14px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.minejobs-skeleton-line:last-child { margin-bottom: 0; }
.minejobs-skeleton-line.w-95 { width: 95%; }
.minejobs-skeleton-line.w-80 { width: 80%; }
.minejobs-skeleton-line.w-70 { width: 70%; }
.minejobs-skeleton-line.w-55 { width: 55%; }
.minejobs-skeleton-chip {
  display: inline-block;
  width: 84px;
  height: 28px;
  border-radius: 999px;
  margin-inline-start: 10px;
}
.minejobs-skeleton-circle,
.minejobs-skeleton-avatar,
.minejobs-skeleton-media { border-radius: 50%; }
.minejobs-skeleton-circle { width: 72px; height: 72px; }
.minejobs-skeleton-avatar { width: 42px; height: 42px; display: block; }
.minejobs-skeleton-button { width: 132px; height: 42px; border-radius: 14px; }
.minejobs-skeleton-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.minejobs-skeleton-grid .minejobs-skeleton-card { min-height: 110px; }
.minejobs-skeleton-inline { display: inline-flex; gap: 10px; align-items: center; margin-bottom: 12px; }
.minejobs-skeleton-loader {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--minejobs-loader-ring);
  border-top-color: var(--minejobs-loader-brand);
  animation: minejobsSpin .7s linear infinite;
}
.minejobs-skeleton-table { display: grid; gap: 10px; }
.minejobs-skeleton-row {
  display: grid;
  grid-template-columns: 46px 1fr 100px 120px;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f8fbff;
  border: 1px solid #e7eef8;
}
.minejobs-skeleton-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.minejobs-skeleton-chat { display: grid; gap: 10px; }
.minejobs-skeleton-chat-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 74px;
  padding: 14px;
  border-radius: 22px;
  background: #f8fbff;
  border: 1px solid #e7eef8;
}
.minejobs-skeleton-chat-row.is-alt { grid-template-columns: 1fr 48px; }
.minejobs-skeleton-chat-row.is-alt .minejobs-skeleton-avatar { order: 2; }
.minejobs-skeleton-chat-row b { display: block; width: 44%; height: 12px; border-radius: 999px; margin-bottom: 10px; }
.minejobs-busy,
.minejobs-busy[disabled] { pointer-events: none !important; opacity: .92 !important; }
.minejobs-busy .minejobs-busy__text,
.minejobs-busy__label { vertical-align: middle; }
.minejobs-busy .minejobs-loader-inline {
  display: inline-flex;
  width: 18px;
  height: 18px;
  margin-inline-start: 8px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.38);
  border-top-color: #fff;
  animation: minejobsSpin .7s linear infinite;
}
.minejobs-section-fade { opacity: 0; transform: translateY(6px); transition: opacity .28s ease, transform .28s ease; }
.minejobs-section-fade.is-ready { opacity: 1; transform: translateY(0); }
.minejobs-page-transition-skeleton {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(239,246,255,.72);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.minejobs-page-transition-skeleton.is-visible { opacity: 1; pointer-events: auto; }
.minejobs-page-transition-skeleton__panel {
  width: min(760px, calc(100vw - 28px));
  max-height: min(820px, calc(100vh - 48px));
  overflow: hidden;
  padding: 18px;
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(219,231,251,.95);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .16);
}
.minejobs-page-transition-skeleton__head { display: flex; gap: 10px; justify-content: flex-end; margin-bottom: 14px; }
.minejobs-page-transition-skeleton__head span {
  width: 88px;
  height: 38px;
  border-radius: 999px;
  background: var(--minejobs-skeleton-bg);
  position: relative;
  overflow: hidden;
}
.minejobs-page-transition-skeleton__head span::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--minejobs-skeleton-shine), transparent);
  animation: minejobsSkeletonShimmer 1.55s infinite;
}

@media (max-width: 767px) {
  .minejobs-skeleton-grid { grid-template-columns: 1fr; }
  .minejobs-skeleton-card { padding: 18px; gap: 14px; }
  .minejobs-skeleton-circle { width: 58px; height: 58px; }
  .minejobs-skeleton-row { grid-template-columns: 38px 1fr; }
  .minejobs-skeleton-row .minejobs-skeleton-chip,
  .minejobs-skeleton-row .minejobs-skeleton-button { display: none; }
  .minejobs-page-transition-skeleton { padding: 12px; }
}
@keyframes minejobsSkeletonShimmer { 100% { transform: translateX(100%); } }
@keyframes minejobsSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .minejobs-skeleton-line::after,
  .minejobs-skeleton-chip::after,
  .minejobs-skeleton-avatar::after,
  .minejobs-skeleton-circle::after,
  .minejobs-skeleton-button::after,
  .minejobs-skeleton-media::after,
  .minejobs-skeleton-chat-row b::after,
  .minejobs-page-transition-skeleton__head span::after,
  .minejobs-busy .minejobs-loader-inline,
  .minejobs-skeleton-loader { animation: none !important; }
}

/* Dashboard content-bound transition loader: never render as centered popup. */
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas {
  position: absolute;
  inset: 0;
  z-index: 120;
  display: block;
  padding: 0;
  background: rgba(244,248,255,.78);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-page-transition-skeleton__panel {
  width: 100%;
  max-width: none;
  max-height: none;
  min-height: 100%;
  overflow: hidden;
  padding: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-page-transition-skeleton__head {
  margin-bottom: 18px;
}
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-skeleton-wrap {
  gap: 12px;
}
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-skeleton-wrap--chat {
  max-width: 980px;
}
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-skeleton-chat-row,
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-skeleton-row,
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-skeleton-card {
  background: rgba(248,251,255,.88);
}
@media (max-width: 1024px) {
  body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas {
    position: fixed;
    inset: 0;
    z-index: 2147482000;
    padding: 12px;
  }
  body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas .minejobs-page-transition-skeleton__panel {
    min-height: auto;
    border-radius: 22px;
    background: rgba(255,255,255,.72);
  }
}

/* v8: Layout-aware inline loaders for dashboard pages.
   Dashboard loading must sit inside real page sections, not over the whole UI. */
body.minejobs-dashboard-pro .minejobs-loading-container {
  position: relative;
}
body.minejobs-dashboard-pro .minejobs-skeleton-wrap.is-overlay {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}
body.minejobs-dashboard-pro .minejobs-loading-inline {
  position: relative !important;
  overflow: hidden !important;
}
body.minejobs-dashboard-pro .minejobs-loading-inline > [data-mj-generated-skeleton="1"] {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: inherit !important;
}
body.minejobs-dashboard-pro .minejobs-loading-inline > :not([data-mj-generated-skeleton="1"]) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.minejobs-dashboard-pro.minejobs-route-loading-inline .minejobs-page-transition-skeleton,
body.minejobs-dashboard-pro .minejobs-page-transition-skeleton.is-in-canvas {
  display: none !important;
}
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-wrap--compact {
  gap: 10px;
}
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-wrap--chat .minejobs-skeleton-chat,
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-wrap--table .minejobs-skeleton-table,
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-wrap--list {
  width: 100%;
}
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-card,
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-row,
body.minejobs-dashboard-pro .minejobs-loading-inline .minejobs-skeleton-chat-row {
  box-shadow: none;
}

/* v10: component-level dashboard skeletons. The shell stays stable; only content cards load. */
body.minejobs-dashboard-pro .minejobs-loading-inline > [data-mj-generated-skeleton="1"] {
  grid-column: 1 / -1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}
body.minejobs-dashboard-pro .minejobs-skeleton-wrap--hero,
body.minejobs-dashboard-pro .minejobs-skeleton-wrap--stats,
body.minejobs-dashboard-pro .minejobs-skeleton-wrap--sidebar {
  width: 100%;
}
.minejobs-skeleton-hero {
  min-height: 150px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  padding: 28px;
  border-radius: 28px;
  background: rgba(248,251,255,.92);
  border: 1px solid #e7eef8;
}
.minejobs-skeleton-hero__content { min-width: 0; }
.minejobs-skeleton-hero__content .minejobs-skeleton-chip { margin-bottom: 20px; }
.minejobs-skeleton-hero__actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.minejobs-skeleton-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}
.minejobs-skeleton-stat {
  min-height: 104px;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(248,251,255,.92);
  border: 1px solid #e7eef8;
}
.minejobs-skeleton-sidebar {
  display: grid;
  gap: 10px;
  padding: 8px;
}
.minejobs-skeleton-sidebar__profile,
.minejobs-skeleton-sidebar__item {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
}

@media (max-width: 1024px) {
  .minejobs-skeleton-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .minejobs-skeleton-hero { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 640px) {
  .minejobs-skeleton-stats { grid-template-columns: 1fr; }
  .minejobs-skeleton-hero { padding: 20px; border-radius: 22px; }
  .minejobs-skeleton-stat { min-height: 88px; }
}


/* ===== v99: silent busy buttons - no visible "processing" text jump ===== */
.minejobs-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.minejobs-busy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
}
.minejobs-busy .minejobs-busy__label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}
.minejobs-busy .minejobs-loader-inline{
  margin-inline-start:0!important;
  margin-inline-end:0!important;
}
