/* Shared dashboard design tokens and UI primitives for Job50 bridges */
:root{
  --j50-red:#ed1c24;
  --j50-green:#22b573;
  --j50-orange:#f9922d;
  --j50-ink:#3a393d;
  --j50-muted:#67656f;
  --j50-line:#d8d7db;
  --j50-bg:#f3f3f7;
  --j50-card:#ffffff;
  --j50-radius-lg:22px;
  --j50-radius-md:18px;
}

.no-capitalize{
  text-transform:none !important;
}

.job50-dashboard-shell,
.job50-dashboard{
  display:grid;
  gap:24px;
  font-family:Inter, system-ui, sans-serif;
}

.job50-avatar{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:solid 1px #ececec;
}

.job50-avatar--circle{
  border-radius:9999em;
}

.job50-avatar--xl{
  width:112px;
  height:112px;
}

.job50-dashboard-avatar,
.job50-dashboard-logo,
.job50-dashboard-panel__join-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.job50-avatar-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  border-radius:9999em;
  background-color:var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
  color:#fff;
  text-transform:uppercase;
}

.job50-dashboard-card__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:20px;
}

.job50-overline{
  margin:0 0 6px;
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8f8f8f;
}

.job50-dashboard-badges,
.job50-dashboard-actions,
.job50-dashboard-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.job50-dashboard-quick-actions--two > *{
  flex:1 1 280px;
}

.job50-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:9999em;
  font-size:13px;
  font-weight:700;
  background-color:#f4f4f4;
  color:#333333;
}

.job50-badge--role{
  background-color:#ffecee;
  color:var(--wp--preset--color--accent-1, #ed1c24);
}

.job50-badge--success{
  background-color:#edf8f1;
  color:#1d7a3e;
}

.job50-badge--warning{
  background-color:#fff4e8;
  color:#b85a00;
}

.job50-dashboard-title{
  margin:16px 0 8px;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1;
  text-transform:none;
}

.job50-dashboard-subtitle{
  margin:0 0 18px;
  color:#5d5d5d;
}

.job50-action-tile{
  display:grid;
  gap:8px;
  padding:20px;
  border-radius:22px;
  border:solid 1px #ececec;
  background:#fff;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,0,0,.03);
}

.job50-action-tile.is-disabled{
  opacity:.82;
  cursor:default;
}

.job50-action-tile strong{
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:1rem;
  text-transform:uppercase;
}

.job50-action-tile span:last-child{
  font-size:14px;
  color:#666;
}

.job50-action-tile__eyebrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--wp--preset--color--accent-1, #ed1c24);
}

.job50-dashboard-meta-list{
  display:grid;
  gap:12px;
  margin:0;
}

.job50-dashboard-meta-list > div{
  display:grid;
  grid-template-columns:minmax(120px,150px) minmax(0,1fr);
  gap:12px;
  padding-bottom:12px;
  border-bottom:solid 1px #efefef;
}

.job50-dashboard-meta-list dt{
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  color:#8f8f8f;
}

.job50-dashboard-meta-list dd{
  margin:0;
  word-break:break-word;
}

.job50-dashboard-list{
  display:grid;
  gap:10px;
  margin:0;
  padding-left:18px;
}

.job50-toast{
  display:flex;
  gap:12px;
}

.job50-toast__message{
  line-height:1.4;
}

.job50-toast__close{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
}

@media (max-width: 781px){
  .job50-dashboard-actions .buttons{
    width:100%;
    justify-content:center;
  }

  .job50-dashboard-meta-list > div{
    grid-template-columns:1fr;
    gap:6px;
  }
}

.job50-seeker-dashboard .job50-dashboard-card{
  max-width:none;
  margin:0;
  padding:28px;
  background:#fff;
  border:1px solid #dedede;
  border-radius:16px;
  background:linear-gradient(180deg,#FFF 0%, #FFF 80%, #F5F5F5 100%);
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.job50-dashboard-panel{
  background: rgba(255,255,255,.78);
  border: 1px solid var(--j50-line);
  border-radius: var(--j50-radius-lg);
  padding: 0;
  overflow:hidden;
}

.job50-dashboard-panel--jobs,
.job50-dashboard-panel--matches,
.job50-dashboard-panel--extra{
  padding: 30px 30px 24px;
}

.job50-dashboard-panel__heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.job50-dashboard-panel__title-wrap{
  display:grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 16px;
  align-items:start;
}

.job50-dashboard-v2__extras .job50-dashboard-panel__title-wrap{
  display: block;
}

.job50-dashboard-panel__title-wrap--stacked{
  grid-template-columns: 1fr;
  gap: 10px;
}

.job50-dashboard-panel__icon{
  width: 36px;
  height: 36px;
  display:block;
}

.job50-dashboard-panel__icon--match{
  width: 54px;
  height: 54px;
}

.job50-dashboard-panel__heading p{
  margin: 4px 0 0;
  color: #4d4b53;
  font-size: 1rem;
}

.job50-dashboard-counter{
  min-width: 36px;
  height: 36px;
  border-radius:999px;
  background:var(--j50-red);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.job50-dashboard-members{
  display:grid;
  gap: 14px;
}

.job50-dashboard-member{
  display:grid;
  grid-template-columns: 52px minmax(0,1fr);
  gap: 14px;
  align-items:center;
  padding: 12px 14px;
  border:1px solid var(--j50-line);
  border-radius: 16px;
  background:#fbfbfd;
}

.job50-dashboard-member__avatar{
  width:52px;
  height:52px;
}



/* Hero / identity / heading systems */
.job50-dashboard-v2__hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:36px;
  align-items:start;
}

.job50-dashboard-v2__identity{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:22px;
  align-items:center;
}

.job50-dashboard-v2__avatar{
  width:92px;
  height:92px;
  overflow:hidden;
  border-radius:999px;
}

.job50-dashboard-v2__copy{
  display:grid;
  align-content:center;
  gap:5px;
}

.job50-dashboard-v2__title{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:14px;
  line-height:.9;
  flex-wrap:wrap;
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
}

.job50-dashboard-v2__title-light{
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:clamp(2.45rem, 4.35vw, 3.7rem);
  font-weight:300;
  font-variation-settings:"wght" 300;
  letter-spacing:-.045em;
}

.job50-dashboard-v2__title-strong{
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:clamp(2.45rem, 4.35vw, 3.7rem);
  font-weight:700;
  letter-spacing:-.045em;
}

.job50-dashboard-v2__email{
  margin:0;
  font-size:1.05rem;
  line-height:1.15;
  color:var(--j50-ink);
}

.job50-dashboard-v2__status-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  margin-top:1px;
}

.job50-dashboard-v2__status{
  font-size:.98rem;
  line-height:1.2;
}

.job50-dashboard-v2__status--role{ color:var(--j50-red); }
.job50-dashboard-v2__status--ok{ color:var(--j50-green); }
.job50-dashboard-v2__status--warn{ color:var(--j50-orange); }

.job50-dashboard-v2__hero-side{
  display:flex;
  justify-content:flex-end;
}

.job50-dashboard-v2__logo-box{
  width:170px;
  height:145px;
  border:1px solid var(--j50-line);
  background:rgba(255,255,255,.72);
  border-radius:18px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.job50-dashboard-v2__logo-box .job50-dashboard-logo{
  object-fit:contain;
}

.job50-dashboard-v2__section-heading{
  margin-bottom:18px;
}

.job50-dashboard-v2__eyebrow{
  margin:0 0 4px;
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:#8a888f;
  font-weight:700;
}

.job50-dashboard-v2__section-heading h2,
.job50-dashboard-panel__heading h2{
  margin:0;
  font-family:"Google Sans Flex", "Google Sans", Inter, system-ui, sans-serif;
  font-size:clamp(1.85rem, 2vw, 2.3rem);
  line-height:1;
  letter-spacing:-.03em;
  text-transform:uppercase;
  font-weight:800;
}

.job50-dashboard__hero--simple,
.job50-dashboard__identity,
.job50-dashboard__main{
  display:grid;
  gap:24px;
}

.job50-dashboard__identity{
  grid-template-columns:112px minmax(0,1fr);
  align-items:start;
}

.job50-dashboard__main--simple{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
}

@media (max-width:1100px){
  .job50-dashboard-v2{
    width:min(100%, 96vw);
  }
}

@media (max-width:980px){
  .job50-dashboard-v2__hero,
  .job50-dashboard-v2__actions-grid,
  .job50-dashboard-v2__bottom-grid,
  .job50-dashboard-v2__extras,
  .job50-dashboard-panel--join,
  .job50-dashboard-v2__identity{
    grid-template-columns:1fr;
  }

  .job50-dashboard-v2__hero-side{
    justify-content:flex-start;
  }

  .job50-dashboard-v2__logo-box{
    width:140px;
    height:120px;
  }

  .job50-dashboard__main--simple{
    grid-template-columns:1fr;
  }
}

@media (max-width:781px){
  .job50-dashboard__identity{
    grid-template-columns:1fr;
  }
}


/* Shared recruiter offer cards ------------------------------------------------ */
:root{
  --job50-text-muted:#666666;
  --job50-card-width:360px;
  --job50-helper-bubble-bg:rgba(255,255,255,.96);
  --job50-helper-bubble-border:#e6e6e6;
  --job50-helper-bubble-shadow:0 8px 20px rgba(0,0,0,.08);
  --job50-helper-bubble-text:#333333;
}

.job50-org-job-cards,
.job50-match-offer-list--cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--job50-card-width), var(--job50-card-width)));
  justify-content:center;
  gap:24px;
}

.job50-shared-offer-card, .job50-org-job-card, .job50-match-offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: min(100%, var(--job50-card-width));
  max-width: var(--job50-card-width);
  min-height: 232px;
  margin: 0 auto;
  padding: 20px 22px;
  border: 1px solid #dedede;
  border-radius: 8px;
  background: #FFF;
  box-shadow: 0 8px 16px rgba(0, 0, 0, .03);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
  overflow: visible;
}

.job50-shared-offer-card:hover,
.job50-shared-offer-card:focus-within,
.job50-org-job-card:hover,
.job50-org-job-card:focus-within,
.job50-match-offer-card:hover,
.job50-match-offer-card:focus-within{
  border-color:#cfcfcf;
  box-shadow:0 10px 18px rgba(0,0,0,.06);
  transform:translateY(-2px) scale(1.04);
}

.job50-org-job-cards > .job50-shared-offer-card,
.job50-org-job-cards > .job50-org-job-card,
.job50-match-offer-list--cards > .job50-shared-offer-card,
.job50-match-offer-list--cards > .job50-match-offer-card{
  opacity:0;
  transform:translateY(18px) scale(.92);
  animation:job50ParallelBounceIn 560ms cubic-bezier(.2,.9,.25,1.1) forwards;
}

.job50-org-job-cards > *:nth-child(1),
.job50-match-offer-list--cards > *:nth-child(1){ animation-delay:140ms; }
.job50-org-job-cards > *:nth-child(2),
.job50-match-offer-list--cards > *:nth-child(2){ animation-delay:220ms; }
.job50-org-job-cards > *:nth-child(3),
.job50-match-offer-list--cards > *:nth-child(3){ animation-delay:300ms; }
.job50-org-job-cards > *:nth-child(4),
.job50-match-offer-list--cards > *:nth-child(4){ animation-delay:380ms; }
.job50-org-job-cards > *:nth-child(5),
.job50-match-offer-list--cards > *:nth-child(5){ animation-delay:460ms; }
.job50-org-job-cards > *:nth-child(n+6),
.job50-match-offer-list--cards > *:nth-child(n+6){ animation-delay:540ms; }

@keyframes job50ParallelBounceIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.92);
  }
  55% {
    opacity: 1;
    transform: translateY(-4px) scale(1.03);
  }
  72% {
    transform: translateY(2px) scale(.992);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  .job50-org-job-cards > .job50-shared-offer-card,
  .job50-org-job-cards > .job50-org-job-card,
  .job50-match-offer-list--cards > .job50-shared-offer-card,
  .job50-match-offer-list--cards > .job50-match-offer-card{
    opacity:1;
    transform:none;
    animation:none;
  }
}

.job50-org-job-card__actions,
.job50-match-offer-card__actions,
.job50-org-job-card__metrics,
.job50-match-offer-card__metrics,
.job50-org-job-card__header,
.job50-match-offer-card__header{
  overflow:visible;
}

.job50-org-job-card__status,
.job50-match-offer-card__status{
  position:absolute;
  top:22px;
  right:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.job50-org-job-card__status-dot,
.job50-match-offer-card__status-dot{
  display:inline-flex;
  width:18px;
  height:18px;
  border-radius:9999px;
  background:#22b573;
}

.job50-org-job-card__status-dot--pending,
.job50-match-offer-card__status-dot--pending{ background:#f59e0b; }
.job50-org-job-card__status-dot--rejected,
.job50-org-job-card__status-dot--draft,
.job50-org-job-card__status-dot--neutral,
.job50-match-offer-card__status-dot--rejected,
.job50-match-offer-card__status-dot--draft,
.job50-match-offer-card__status-dot--neutral{ background:#d1d5db; }
.job50-org-job-card__status-dot--approved,
.job50-match-offer-card__status-dot--approved{ background:#22b573; }

.job50-org-job-card__header,
.job50-match-offer-card__header{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.job50-org-job-card__icon,
.job50-org-job-card__icon.material-symbols-outlined,
.job50-match-offer-card__icon,
.job50-match-offer-card__icon.material-symbols-outlined{
  color:var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
  font-size:40px;
  line-height:1;
}

.job50-org-job-card__header-main,
.job50-match-offer-card__header-main{
  display:grid;
  gap:4px;
  min-width:0;
  padding-right:36px;
}

.job50-org-job-card__title,
.job50-match-offer-card__title{
  margin:0;
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif) !important;
  font-size:24px;
  font-weight:700;
  line-height:.95;
  color:#333333;
  word-break:break-word;
  max-width:calc(100% - 4px);
}

.job50-org-job-card__region,
.job50-org-job-card__meta,
.job50-org-job-card__by,
.job50-org-job-card__updated,
.job50-match-offer-card__region,
.job50-match-offer-card__meta,
.job50-match-offer-card__by,
.job50-match-offer-card__updated{
  color:var(--job50-text-muted);
  font-size:14px;
  line-height:1.2;
}

.job50-org-job-card__region,
.job50-org-job-card__meta,
.job50-match-offer-card__region,
.job50-match-offer-card__meta{
  margin:0;
}

.job50-org-job-card__metrics,
.job50-match-offer-card__metrics{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-left:58px;
}

.job50-org-job-card__metric,
.job50-match-offer-card__metric{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  border: solid 1px #e1e1e1;
  padding: 4px 8px 4px 16px;
  border-radius: 999em;
  background-color: #FFF;
  box-shadow: 0 4px 8px rgba(0, 0, 0, .03);
}

.job50-org-job-card__metric-label,
.job50-match-offer-card__metric-label{
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif) !important;
  font-weight:700;
  font-size:14px;
  line-height:1;
  color:#333333;
}

.job50-org-job-card__metric-badge,
.job50-match-offer-card__metric-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  background:var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
  color:#fff;
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif) !important;
  font-weight:700;
  font-size:14px;
  line-height:1;
}

.job50-org-job-card__actions,
.job50-match-offer-card__actions{
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  min-height:24px;
}

.job50-org-job-card__action,
.job50-org-job-card__actions a,
.job50-org-job-card__actions button,
.job50-match-offer-card__action,
.job50-match-offer-card__actions a,
.job50-match-offer-card__actions button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px;
  height:24px;
  min-height:24px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24)) !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.job50-org-job-card__action .material-symbols-outlined,
.job50-org-job-card__actions .material-symbols-outlined,
.job50-match-offer-card__action .material-symbols-outlined,
.job50-match-offer-card__actions .material-symbols-outlined{
  font-size:22px;
  line-height:1;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
}

.job50-org-job-card__action:hover,
.job50-org-job-card__action:focus-visible,
.job50-org-job-card__actions a:hover,
.job50-org-job-card__actions button:hover,
.job50-match-offer-card__action:hover,
.job50-match-offer-card__action:focus-visible{
  opacity:.82;
  outline:none;
}

.job50-shared-offer-card [data-job50-tooltip],
.job50-org-job-card [data-job50-tooltip],
.job50-match-offer-card [data-job50-tooltip],
.job50-profile-editor [data-job50-tooltip]{
  position:relative;
  overflow:visible;
  -webkit-tap-highlight-color:transparent;
}

.job50-shared-offer-card [data-job50-tooltip]:focus,
.job50-shared-offer-card [data-job50-tooltip]:focus-visible,
.job50-shared-offer-card [data-job50-tooltip]:active,
.job50-org-job-card [data-job50-tooltip]:focus,
.job50-org-job-card [data-job50-tooltip]:focus-visible,
.job50-org-job-card [data-job50-tooltip]:active,
.job50-match-offer-card [data-job50-tooltip]:focus,
.job50-match-offer-card [data-job50-tooltip]:focus-visible,
.job50-match-offer-card [data-job50-tooltip]:active,
.job50-profile-editor [data-job50-tooltip]:focus,
.job50-profile-editor [data-job50-tooltip]:focus-visible,
.job50-profile-editor [data-job50-tooltip]:active,
.job50-org-job-card__actions button:focus,
.job50-org-job-card__actions button:focus-visible,
.job50-org-job-card__actions button:active,
.job50-profile-editor__actions button:focus,
.job50-profile-editor__actions button:focus-visible,
.job50-profile-editor__actions button:active,
.job50-match-offer-card__actions button:focus,
.job50-match-offer-card__actions button:focus-visible,
.job50-match-offer-card__actions button:active{
  outline:none !important;
  box-shadow:none !important;
}

.job50-org-job-card__actions button::-moz-focus-inner,
.job50-profile-editor__actions button::-moz-focus-inner,
.job50-match-offer-card__actions button::-moz-focus-inner{
  border:0;
}

.job50-shared-offer-card [data-job50-tooltip]::after,
.job50-org-job-card [data-job50-tooltip]::after,
.job50-match-offer-card [data-job50-tooltip]::after,
.job50-profile-editor [data-job50-tooltip]::after{
  content:attr(data-job50-tooltip);
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%) translateY(-4px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:999px;
  background:var(--job50-helper-bubble-bg);
  border:1px solid var(--job50-helper-bubble-border);
  box-shadow:var(--job50-helper-bubble-shadow);
  font-size:11px;
  line-height:1;
  font-weight:600;
  color:var(--job50-helper-bubble-text);
  transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  z-index:40;
}

.job50-shared-offer-card [data-job50-tooltip]::before,
.job50-org-job-card [data-job50-tooltip]::before,
.job50-match-offer-card [data-job50-tooltip]::before,
.job50-profile-editor [data-job50-tooltip]::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 3px);
  width:8px;
  height:8px;
  transform:translateX(-50%) rotate(45deg) translateY(-4px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:var(--job50-helper-bubble-bg);
  border-left:1px solid var(--job50-helper-bubble-border);
  border-top:1px solid var(--job50-helper-bubble-border);
  transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  z-index:41;
}

.job50-shared-offer-card [data-job50-tooltip]:hover::after,
.job50-shared-offer-card [data-job50-tooltip]:focus-visible::after,
.job50-org-job-card [data-job50-tooltip]:hover::after,
.job50-org-job-card [data-job50-tooltip]:focus-visible::after,
.job50-match-offer-card [data-job50-tooltip]:hover::after,
.job50-match-offer-card [data-job50-tooltip]:focus-visible::after,
.job50-profile-editor [data-job50-tooltip]:hover::after,
.job50-profile-editor [data-job50-tooltip]:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

.job50-shared-offer-card [data-job50-tooltip]:hover::before,
.job50-shared-offer-card [data-job50-tooltip]:focus-visible::before,
.job50-org-job-card [data-job50-tooltip]:hover::before,
.job50-org-job-card [data-job50-tooltip]:focus-visible::before,
.job50-match-offer-card [data-job50-tooltip]:hover::before,
.job50-match-offer-card [data-job50-tooltip]:focus-visible::before,
.job50-profile-editor [data-job50-tooltip]:hover::before,
.job50-profile-editor [data-job50-tooltip]:focus-visible::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) rotate(45deg) translateY(0);
}

@media (max-width: 781px){
  .job50-org-job-cards,
  .job50-match-offer-list--cards{
    grid-template-columns:1fr;
  }

  .job50-shared-offer-card,
  .job50-org-job-card,
  .job50-match-offer-card{
    width:min(100%, var(--job50-card-width));
    max-width:none;
  }
}

/* Shared parallel dashboard styles for recruiter + seeker bridges */
.job50-dashboard-parallel {
  --job50-parallel-hello-duration: 420ms;
  --job50-parallel-name-duration: 420ms;
  --job50-parallel-subtitle-duration: 340ms;
  --job50-parallel-logo-duration: 1000ms;
  --job50-parallel-button-duration: 680ms;
  --job50-parallel-button-gap: 18px;
  --job50-parallel-shell-bg: transparent;
  --job50-parallel-button-bg: #ffffff;
  --job50-parallel-button-border: #d9d9d9;
  --job50-parallel-button-text: #2f2f2f;
  --job50-parallel-subtitle: #8f8f8f;
  --job50-parallel-hello-delay: 0ms;
  --job50-parallel-name-delay: calc(var(--job50-parallel-hello-delay) + var(--job50-parallel-hello-duration));
  --job50-parallel-subtitle-delay: calc(var(--job50-parallel-name-delay) + var(--job50-parallel-name-duration));
  --job50-parallel-button-1-delay: calc(var(--job50-parallel-subtitle-delay) + var(--job50-parallel-subtitle-duration) + 90ms);
  --job50-parallel-button-2-delay: calc(var(--job50-parallel-button-1-delay) + 170ms);
  --job50-parallel-button-3-delay: calc(var(--job50-parallel-button-2-delay) + 170ms);
  --job50-parallel-button-4-delay: calc(var(--job50-parallel-button-3-delay) + 170ms);
  --job50-parallel-button-5-delay: calc(var(--job50-parallel-button-4-delay) + 170ms);
  --job50-parallel-logo-delay: calc(var(--job50-parallel-button-3-delay) + var(--job50-parallel-button-duration) + 120ms);
  width: 100%;
  min-height: calc(100svh - 132px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 24px 48px;
  background: var(--job50-parallel-shell-bg);
}

.job50-dashboard-parallel__stage {
  width: 100%;
  max-width: 1040px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.job50-dashboard-parallel__hero,
.job50-dashboard-parallel__actions {
  width: 100%;
}

.job50-dashboard-parallel__intro {
  display: inline-grid;
  justify-items: center;
  row-gap: 12px;
  max-width: 100%;
}

.job50-dashboard-parallel__logo-wrap {
  width: 100%;
  display: flex;
  justify-content: center;

}

.job50-dashboard-parallel__logo-shell {
  opacity: 0;
  transform: translateY(10px);
  animation: job50ParallelFadeSoft var(--job50-parallel-logo-duration) cubic-bezier(.2, .72, .19, 1) forwards;
  animation-delay: var(--job50-parallel-logo-delay);
  display: block;
  padding: 7px 14px;
  border: 1px solid #dfdfdf;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
}

.job50-dashboard-parallel__logo {
  display: block;
  max-width: 146px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.job50-dashboard-parallel__title {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 0.18em;
  font-family: var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size: clamp(3rem, 7vw, 72px);
  line-height: .98;
  letter-spacing: -0.05em;
  text-transform: none !important;
}

.job50-dashboard-parallel__hello,
.job50-dashboard-parallel__firstname,
.job50-dashboard-parallel__subtitle {
  opacity: 0;
  transform: translateY(12px);
  will-change: opacity, transform;
}

.job50-dashboard-parallel__hello {
  font-weight: 300;
  font-variation-settings: "wght" 120;
  text-transform: none !important;
  animation: job50ParallelFadeSoft var(--job50-parallel-hello-duration) cubic-bezier(.2, .72, .19, 1) forwards;
  animation-delay: var(--job50-parallel-hello-delay);
}

.job50-dashboard-parallel__firstname {
  font-weight: 700;
  font-variation-settings: "wght" 700;
  text-transform: none !important;
  animation: job50ParallelFadeSoft var(--job50-parallel-name-duration) cubic-bezier(.2, .72, .19, 1) forwards;
  animation-delay: var(--job50-parallel-name-delay);
}

.job50-dashboard-parallel__subtitle {
  margin: 16px 0 0;
  font-family: var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.25;
  font-weight: 700;
  font-variation-settings: "wght" 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  animation: job50ParallelFadeSoft var(--job50-parallel-subtitle-duration) cubic-bezier(.2, .72, .19, 1) forwards;
  animation-delay: var(--job50-parallel-subtitle-delay);
}

.job50-dashboard-parallel__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--job50-parallel-button-gap);
  margin-top: 34px;
}

.job50-dashboard-parallel__action {
  position: relative;
  display: inline-flex;
  overflow: visible;
  opacity: 0;
  min-width: 198px;
  min-height: 54px;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid var(--job50-parallel-button-border);
  border-radius: 8px;
  background: var(--job50-parallel-button-bg);
  color: var(--job50-parallel-button-text);
  font-family: var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transform: translateY(10px) scale(.96);
  animation: job50ParallelBounceIn var(--job50-parallel-button-duration) cubic-bezier(.2, .9, .25, 1.1) forwards;
}


.job50-dashboard-parallel .job50-dashboard-parallel__action.buttons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  vertical-align: middle;
  min-width: 198px !important;
  min-height: 54px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--job50-parallel-button-border) !important;
  border-radius: 8px !important;
  background: var(--job50-parallel-button-bg) !important;
  color: var(--job50-parallel-button-text) !important;
  font-family: var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.job50-dashboard-parallel__action.is-delay-1 {
  animation-delay: var(--job50-parallel-button-1-delay);
}

.job50-dashboard-parallel__action.is-delay-2 {
  animation-delay: var(--job50-parallel-button-2-delay);
}

.job50-dashboard-parallel__action.is-delay-3 {
  animation-delay: var(--job50-parallel-button-3-delay);
}

.job50-dashboard-parallel__action.is-delay-4 {
  animation-delay: var(--job50-parallel-button-4-delay);
}

.job50-dashboard-parallel__action.is-delay-5 {
  animation-delay: var(--job50-parallel-button-5-delay);
}

.job50-dashboard-parallel__action-icon {
  color: var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
  font-size: 22px;
  line-height: 1;
  flex: 0 0 auto;
}

.job50-dashboard-parallel__action.is-matches .job50-dashboard-parallel__action-icon {
  font-variation-settings:
    'FILL' 1,
    'wght' 700,
    'GRAD' 0,
    'opsz' 24;
  transform-origin: center;
  animation: job50ParallelMatchHeartbeat 1.8s ease-in-out infinite;
}

.job50-dashboard-parallel__action-label {
  display: inline-block;
  flex: 0 1 auto;
  min-width: 0;
  text-align: left;
}

.job50-dashboard-parallel__action-metrics {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex: 0 0 auto;
}


.job50-dashboard-parallel__action.is-priority {
  border-color: rgba(237, 28, 36, 0.18);
  box-shadow: 0 10px 24px rgba(237, 28, 36, 0.08);
}

.job50-dashboard-parallel__action-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}


@keyframes job50ParallelMatchHeartbeat {
  0%,
  100% {
    transform: scale(1);
  }
  18% {
    transform: scale(1.08);
  }
  32% {
    transform: scale(0.98);
  }
  48% {
    transform: scale(1.12);
  }
  64% {
    transform: scale(1);
  }
}

.job50-dashboard-parallel--has-smart-action {
  --job50-parallel-logo-delay: calc(var(--job50-parallel-button-4-delay) + var(--job50-parallel-button-duration) + 120ms);
}

.job50-dashboard-parallel--has-match-action {
  --job50-parallel-logo-delay: calc(var(--job50-parallel-button-5-delay) + var(--job50-parallel-button-duration) + 120ms);
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}

.job50-dashboard-parallel__action:hover,
.job50-dashboard-parallel__action:focus-visible,
.job50-dashboard-parallel .job50-dashboard-parallel__action.buttons:hover,
.job50-dashboard-parallel .job50-dashboard-parallel__action.buttons:focus-visible {
  color: var(--job50-parallel-button-text) !important;
  border-color: #cfcfcf !important;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.06) !important;
  transform: translateY(-2px) scale(1.04) !important;
}

.job50-dashboard-parallel__action.is-disabled {
  opacity: 0;
  cursor: default;
  pointer-events: none;
  color: #9f9f9f;
  background: #f7f7f7;
}

.job50-dashboard-parallel--no-logo {
  --job50-parallel-logo-duration: 0ms;
}

.job50-dashboard-parallel--no-logo .job50-dashboard-parallel__logo-wrap {
  display: none;
}

@keyframes job50ParallelFadeSoft {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes job50ParallelBounceIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.92);
  }
  55% {
    opacity: 1;
    transform: translateY(-4px) scale(1.03);
  }
  72% {
    transform: translateY(2px) scale(.992);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 781px) {
  .job50-dashboard-parallel {
    min-height: calc(100svh - 112px);
    padding: 20px 18px 40px;
  }

  .job50-dashboard-parallel__stage {
    margin-top: -42px;
  }

  .job50-dashboard-parallel__intro {
    row-gap: 10px;
  }

  .job50-dashboard-parallel__logo-wrap {
    justify-content: center;
    padding-left: 0;
  }

  .job50-dashboard-parallel__logo-shell {
    padding: 7px 12px;
  }

  .job50-dashboard-parallel__logo {
    max-width: 130px;
    max-height: 38px;
  }

  .job50-dashboard-parallel__actions {
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
  }

  .job50-dashboard-parallel__action {
    min-width: min(100%, 320px);
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .job50-dashboard-parallel__logo-shell,
  .job50-dashboard-parallel__hello,
  .job50-dashboard-parallel__firstname,
  .job50-dashboard-parallel__subtitle,
  .job50-dashboard-parallel__action {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}


