/* ===========================================================================
   Regal Career Job Manager Publisher — assets/frontend.css
   v1.2.13 — production card design with explicit Full Cycle stage status rail.

   Structure:
     article.rcjmp-card
       ├ aside.rcjmp-card__identity → .rcjmp-card__logo
       └ .rcjmp-card__body
           ├ .rcjmp-card__top       badge · advertisement · actions
           ├ .rcjmp-card__head      title + org | milestone / countdown
           ├ .rcjmp-card__meta      vacancies · qualification · age limit · location
           ├ .rcjmp-card__rail      Full Cycle only
           └ .rcjmp-card__foot      status note + CTAs
   =========================================================================== */

.rcjmp-job-cards{ display:grid; gap:14px; }
.rcjmp-article-anchor{ display:block; position:relative; top:-16px; visibility:hidden; }

/* ---------------------------------------------------------------- shell --- */
.rcjmp-card{
  --gold:#f0b429; --gold-deep:#d9930f; --navy:#0d1c38; --surface:#fff;
  --tile:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  --rule:#e4eaf3; --rule-soft:#eef3f9;
  --text:#0d1c38; --dim:#5a6f90; --dimmer:#8fa2bf;
  --sans:'IBM Plex Sans','Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',Consolas,monospace;
  /* default tone = applications open */
  --t:#00b368; --t-box:#009455; --t-ink:#fff; --t-sub:rgba(255,255,255,.8);
  --c-ink:#00794a; --c-soft:rgba(0,179,104,.10);

  position:relative; display:grid; grid-template-columns:82px minmax(0,1fr);
  font-family:var(--sans); color:var(--text); margin:0 0 14px; overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f8fbfe 100%);
  border:1px solid var(--rule); border-radius:13px;
  box-shadow:0 1px 2px rgba(13,28,56,.04), 0 14px 32px -28px rgba(13,28,56,.5);
  transition:transform .2s ease, box-shadow .2s ease;
}
.rcjmp-card:hover{ transform:translateY(-2px); box-shadow:0 1px 2px rgba(13,28,56,.05), 0 20px 40px -26px rgba(13,28,56,.55); }

/* state bar across the full width */
.rcjmp-card::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--t); z-index:4; }
.rcjmp-card > *{ position:relative; z-index:1; }

/* --------------------------------------------------------------- tones --- */
.rcjmp-card[data-tone="soon"]{     --t:#7b5ce0; --t-box:#6544c6; --c-ink:#5b3cb8; --c-soft:rgba(123,92,224,.12); }
.rcjmp-card[data-tone="warn"]{     --t:#ff6b00; --t-box:#e05c00; --c-ink:#c24f00; --c-soft:rgba(255,107,0,.11); }
.rcjmp-card[data-tone="crit"]{     --t:#ff2d3f; --t-box:#dc1c2f; --c-ink:#c8172a; --c-soft:rgba(255,45,63,.10); }
.rcjmp-card[data-tone="hold"]{     --t:#5b6b9e; --t-box:#4a5883; --c-ink:#44528a; --c-soft:rgba(91,107,158,.12); }
.rcjmp-card[data-tone="syllabus"]{ --t:#6b62d6; --t-box:#574fc0; --c-ink:#4f47b5; --c-soft:rgba(107,98,214,.11); }
.rcjmp-card[data-tone="exam"]{     --t:#c08a20; --t-box:#a77413; --c-ink:#94650e; --c-soft:rgba(192,138,32,.11); }
.rcjmp-card[data-tone="admit"]{    --t:#2b7fff; --t-box:#1f66d8; --c-ink:#1a5ec9; --c-soft:rgba(43,127,255,.10); }
.rcjmp-card[data-tone="key"]{      --t:#00a6b8; --t-box:#008b9b; --c-ink:#007785; --c-soft:rgba(0,166,184,.11); }
.rcjmp-card[data-tone="result"]{   --t:#00b368; --t-box:#009455; --c-ink:#00794a; --c-soft:rgba(0,179,104,.11); }

/* ------------------------------------------------------- identity rail --- */
.rcjmp-card__identity{
  display:flex; align-items:center; justify-content:center; padding:10px;
  background:var(--navy);
  background-image:radial-gradient(120% 90% at 80% 0%, rgba(240,180,41,.15) 0%, transparent 62%);
}
.rcjmp-card__logo{
  width:50px; height:50px; border-radius:11px; display:grid; place-items:center; overflow:hidden;
  background:#fff; color:var(--navy); font-family:var(--mono); font-size:13px; font-weight:500;
  letter-spacing:.02em; box-shadow:0 6px 14px rgba(0,0,0,.28);
}
.rcjmp-card__logo img{ width:100%; height:100%; object-fit:contain; background:#fff; padding:4px; }

/* ---------------------------------------------------------------- body --- */
.rcjmp-card__body{ min-width:0; padding:10px 16px 0; }

.rcjmp-card__top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:28px; margin-bottom:9px; }
.rcjmp-card__badge{
  display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:0 11px;
  border-radius:999px; background:var(--t); color:var(--t-ink);
  font-family:var(--mono); font-size:8.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; line-height:1;
}
.rcjmp-card__badge i{ width:5px; height:5px; border-radius:50%; background:currentColor; animation:rcjmp-pulse 2s ease-in-out infinite; }
.rcjmp-card__syllabus-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  padding:0 9px;
  border:1px solid #cfe7dc;
  border-radius:999px;
  background:#f5fbf8;
  color:#277052;
  font-family:var(--mono);
  font-size:8.5px;
  font-weight:500;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
.rcjmp-card__syllabus-chip i{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#12a36d;
}
@keyframes rcjmp-pulse{ 0%,100%{opacity:1} 50%{opacity:.3} }
.rcjmp-card__advt{
  display:inline-flex; align-items:center; min-height:24px; padding:0 11px;
  border-radius:999px; background:var(--surface); border:1px solid var(--rule); color:var(--dim);
  font-family:var(--mono); font-size:9.5px; font-weight:500; letter-spacing:.03em; line-height:1.2;
}
.rcjmp-card__advt b{ color:var(--text); font-weight:500; margin-left:5px; }
.rcjmp-card__acts{ margin-left:auto; display:flex; gap:6px; }
.rcjmp-card__act{
  width:28px; height:28px; display:grid; place-items:center; cursor:pointer;
  border:1px solid var(--rule); border-radius:50%; background:var(--surface); color:var(--dimmer);
  text-decoration:none; transition:color .16s, background .16s, transform .16s, border-color .16s;
}
.rcjmp-card__act svg{ width:13px; height:13px; }
.rcjmp-card__act:hover{ transform:translateY(-1px); color:#fff; border-color:transparent; }
/* official brand marks are solid fills */
.rcjmp-card__act.wa svg,.rcjmp-card__act.tg svg{ fill:currentColor; stroke:none; }
.rcjmp-card__act.wa:hover,.rcjmp-card__act.wa:focus-visible{ background:#25D366; border-color:#25D366; color:#fff; }
.rcjmp-card__act.tg:hover,.rcjmp-card__act.tg:focus-visible{ background:#229ED9; border-color:#229ED9; color:#fff; }
.rcjmp-card__act.sv:hover,.rcjmp-card__act.sv.on{ background:var(--gold); border-color:var(--gold); color:#20160a; }
.rcjmp-card__act.sv.on svg{ fill:currentColor; }
.rcjmp-card__act.bl:hover,.rcjmp-card__act.bl.on{ background:var(--t); border-color:var(--t); color:#fff; }
.rcjmp-card__act:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* -------------------------------------------------- headline + milestone --- */
.rcjmp-card__head{ display:grid; grid-template-columns:minmax(0,1fr) 188px; gap:10px; align-items:center; }
.rcjmp-card__headcopy{ min-width:0; }
.rcjmp-card__title{ margin:0; font-size:17px; line-height:1.3; font-weight:500; letter-spacing:-.022em; }
.rcjmp-card__title a{ color:inherit; text-decoration:none; }
.rcjmp-card__title a:hover{ color:var(--c-ink); }
.rcjmp-card__org{ margin:5px 0 0; font-family:var(--mono); font-size:10px; line-height:1.4; color:var(--dim); }

.rcjmp-card__milestone{
  position:relative; padding:7px 10px; border-radius:9px; overflow:hidden;
  background:var(--c-soft); border:1px solid var(--rule-soft);
}
.rcjmp-card__milestone::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--t); }
.rcjmp-card__milestone > span{
  display:block; font-family:var(--mono); font-size:8px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:var(--c-ink);
}
.rcjmp-card__milestone strong{
  display:block; margin-top:3px; font-family:var(--mono); font-size:13px; font-weight:500;
  letter-spacing:-.02em; color:var(--text); font-variant-numeric:tabular-nums;
}
.rcjmp-card__milestone small{ display:block; margin-top:3px; font-size:10px; line-height:1.3; color:var(--dim); }

/* ---------------------------------------------------------------- tiles --- */
.rcjmp-card__meta{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:8px; }
.rcjmp-card__tile{
  display:flex; align-items:center; gap:7px; min-width:0; padding:6px 8px;
  background:var(--tile); border:1px solid var(--rule-soft); border-radius:9px;
}
.rcjmp-card__ic{
  flex:none; width:24px; height:24px; border-radius:7px; display:grid; place-items:center;
  background:linear-gradient(145deg,#fff8e8,#ffeec6); border:1px solid #f3dda6; color:#b07d0c;
}
.rcjmp-card__ic svg{ width:12px; height:12px; stroke:currentColor; }
.rcjmp-card__tile.hot .rcjmp-card__ic{ background:var(--c-soft); border-color:var(--t); color:var(--c-ink); }
.rcjmp-card__tile div{ min-width:0; }
.rcjmp-card__tile small{
  display:block; font-family:var(--mono); font-size:7.5px; font-weight:500;
  letter-spacing:.10em; text-transform:uppercase; color:var(--dimmer); margin-bottom:2px;
}
.rcjmp-card__tile b{ display:block; font-size:12.5px; font-weight:500; line-height:1.2; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rcjmp-card__tile b.fig{ font-family:var(--mono); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.rcjmp-card__tile b.dates{ font-family:var(--mono); font-size:11px; line-height:1.35; white-space:normal; }

/* ----------------------------------------------------------------- rail --- */
.rcjmp-card__rail{
  margin-top:11px;
  padding:13px 14px 11px;
  overflow-x:auto;
  border:1px solid #dde5ef;
  border-radius:11px;
  background:linear-gradient(180deg,#fff 0%,#fafcff 100%);
}
.rcjmp-card__rail::-webkit-scrollbar{ height:4px; }
.rcjmp-card__rail::-webkit-scrollbar-thumb{ background:var(--rule); border-radius:4px; }

.rcjmp-card__rail-grid{
  position:relative;
  min-width:760px;
  display:grid;
  grid-template-columns:repeat(6,minmax(105px,1fr));
  align-items:start;
}

/* Single neutral connector. Green is used only inside completed stage dots. */
.rcjmp-card__rail-grid::before{
  content:"";
  position:absolute;
  left:7.5%;
  right:7.5%;
  top:13px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#bfc9d6 0%,#cbd4df 50%,#d5dde7 100%);
  z-index:0;
}

.rcjmp-card__stage{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  text-align:center;
  white-space:nowrap;
}

.rcjmp-card__stage-index{
  position:absolute;
  top:-5px;
  right:calc(50% - 22px);
  width:14px;
  height:14px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid #e1e7ef;
  font-family:var(--mono);
  font-size:6.8px;
  font-weight:500;
  color:#9aa7b7;
}

.rcjmp-card__stage-dot{
  width:26px;
  height:26px;
  flex:none;
  display:grid;
  place-items:center;
  margin-bottom:7px;
  border-radius:50%;
  background:#fff;
  border:2px solid #b9c4d1;
  box-shadow:0 0 0 4px #fff;
}
.rcjmp-card__stage-dot::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c2ccd8;
}

.rcjmp-card__stage-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:4px 7px 5px;
  border-radius:9px;
}

.rcjmp-card__stage-label{
  display:block;
  font-family:var(--mono);
  font-size:10.8px;
  line-height:1.05;
  font-weight:500;
  letter-spacing:.018em;
  text-transform:uppercase;
  color:#30435e;
  white-space:nowrap;
}

.rcjmp-card__stage-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:17px;
  margin-top:4px;
  padding:2px 6px;
  border:1px solid #e0e6ee;
  border-radius:999px;
  background:#fff;
  font-family:var(--sans);
  font-size:8.5px;
  line-height:1;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#6f7e92;
  white-space:nowrap;
}

/* Completed: green only on the stage dot. */
.rcjmp-card__stage.done .rcjmp-card__stage-dot{
  border-color:#0d8f60;
  background:#fff;
}
.rcjmp-card__stage.done .rcjmp-card__stage-dot::after{
  width:10px;
  height:10px;
  background:#12a36d;
  box-shadow:0 0 0 3px rgba(18,163,109,.10);
}
.rcjmp-card__stage.done .rcjmp-card__stage-label{ color:#30435e; }
.rcjmp-card__stage.done .rcjmp-card__stage-status{ color:#66768c; }

/* Current stage: blue ring and soft blue copy block. */
.rcjmp-card__stage.current .rcjmp-card__stage-dot{
  border-color:#2b7fff;
  background:#fff;
  box-shadow:0 0 0 4px rgba(43,127,255,.10),0 0 0 7px #fff;
}
.rcjmp-card__stage.current .rcjmp-card__stage-dot::after{
  width:10px;
  height:10px;
  background:#2b7fff;
}
.rcjmp-card__stage.current .rcjmp-card__stage-copy{
  padding:5px 9px 6px;
  border:1px solid #a9caff;
  background:#eef5ff;
}
.rcjmp-card__stage.current .rcjmp-card__stage-label{
  color:#195ba4;
  font-weight:600;
}
.rcjmp-card__stage.current .rcjmp-card__stage-status{
  color:#1d67bb;
  border-color:#c9ddfb;
  background:#fff;
}
.rcjmp-card__stage.current .rcjmp-card__stage-index{
  border-color:#bdd5fa;
  color:#2b7fff;
}

/* Future stages remain neutral. */
.rcjmp-card__stage.future .rcjmp-card__stage-dot::after{ background:#aab6c5; }
.rcjmp-card__stage.future .rcjmp-card__stage-label{ color:#63728a; }
.rcjmp-card__stage.future .rcjmp-card__stage-status{ color:#8d9aab; }


/* ----------------------------------------------------------------- foot --- */
.rcjmp-card__foot{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px -16px 0;
  padding:6px 12px 7px;
  background:linear-gradient(180deg,#f8fafc 0%,#f3f7fb 100%);
  border-top:1px solid var(--rule-soft);
}
.rcjmp-card__foot-countdown{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.rcjmp-card__foot-countdown-label{
  font-family:var(--mono);
  font-size:8px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--c-ink);
  white-space:nowrap;
}
.rcjmp-card__foot-countdown-digits{
  display:flex;
  align-items:center;
  gap:3px;
}
.rcjmp-card__foot-countdown-digits u{
  display:inline-flex;
  align-items:baseline;
  gap:2px;
  min-width:31px;
  justify-content:center;
  padding:4px 5px;
  text-decoration:none;
  border-radius:6px;
  background:var(--t);
}
.rcjmp-card__foot-countdown-digits b{
  font-family:var(--mono);
  font-size:11px;
  line-height:1;
  font-weight:600;
  color:var(--t-ink);
  font-variant-numeric:tabular-nums;
}
.rcjmp-card__foot-countdown-digits i{
  font-family:var(--mono);
  font-style:normal;
  font-size:6.5px;
  font-weight:600;
  color:var(--t-sub);
}
.rcjmp-card__foot-state{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:10.5px;
  line-height:1.2;
  font-weight:500;
  color:#53647b;
}
.rcjmp-card__foot-state-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--t);
}
.rcjmp-card__foot-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.rcjmp-card__cta-secondary{
  text-decoration:none;
  font-size:11px;
  font-weight:500;
  padding:8px 12px;
  border-radius:7px;
  color:var(--navy);
  white-space:nowrap;
  background:#fff;
  border:1px solid #d9e1eb;
  transition:transform .16s,background .16s,border-color .16s;
}
.rcjmp-card__cta-secondary:hover{
  transform:translateY(-1px);
  background:#f8fafc;
  border-color:#c9d4e2;
}
.rcjmp-card__cta{
  text-decoration:none;
  font-size:11.5px;
  font-weight:500;
  padding:9px 16px;
  border-radius:7px;
  color:#20160a!important;
  white-space:nowrap;
  background:linear-gradient(135deg,#f7c54a 0%,var(--gold) 45%,var(--gold-deep) 100%);
  box-shadow:0 7px 14px -11px var(--gold-deep), inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .16s;
}
.rcjmp-card__cta:hover{ transform:translateY(-1px); color:#20160a!important; }
.rcjmp-card__cta:focus-visible,.rcjmp-card__cta-secondary:focus-visible{ outline:2px solid var(--navy); outline-offset:2px; }

/* ----------------------------------------------------------- responsive --- */
@media(max-width:900px){
  .rcjmp-card__head{ grid-template-columns:1fr; }
  .rcjmp-card__meta{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .rcjmp-card{ grid-template-columns:1fr; }
  .rcjmp-card__identity{ padding:8px 12px; }
  .rcjmp-card__logo{ width:40px; height:40px; border-radius:10px; font-size:12px; }
  .rcjmp-card__body{ padding:9px 12px 0; }
  .rcjmp-card__meta{ grid-template-columns:1fr; }
  .rcjmp-card__title{ font-size:15.5px; }
  .rcjmp-card__foot{ margin:8px -12px 0; padding:7px 10px 8px; flex-wrap:wrap; }
  .rcjmp-card__foot-actions{ width:100%; margin-left:0; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .rcjmp-card__foot-actions .rcjmp-card__cta,.rcjmp-card__foot-actions .rcjmp-card__cta-secondary{ width:100%; text-align:center; padding:8px 7px; }
  .rcjmp-card__acts{ margin-left:0; }
}
@media(prefers-reduced-motion:reduce){
  .rcjmp-card__badge i{ animation:none; }
  .rcjmp-card,.rcjmp-card__cta,.rcjmp-card__cta-secondary,.rcjmp-card__act{ transition:none; }
}
