/* ============================================================
   FP Invite Modal - full-screen talent browser (post-job wizard).
   Talent cards themselves are styled by talents-sdx.css (.ed-tpro*);
   this file styles the modal shell + selected panel + card add-ons
   (match badge, invite button, selected highlight). Loaded on
   post-job.html. Dialog carries `.sdx` so card CSS + tokens apply.
   ============================================================ */

.fp-ed.ed-inv-lock, body.ed-inv-lock { overflow: hidden; }

/* ---- backdrop (appended to body, not inside .sdx) ---- */
body.fp-ed .ed-inv-backdrop{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;padding:4vh 3vw;background:rgba(11,18,32,.6);-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2);opacity:0;transition:opacity .23s ease}
body.fp-ed .ed-inv-backdrop.is-open{opacity:1}

/* ---- dialog (.sdx) ---- */
body.fp-ed .ed-inv-dialog{position:relative;display:flex;flex-direction:column;width:88vw;max-width:1280px;height:90vh;background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--sdx-line);border-radius:22px;box-shadow:0 50px 120px -30px rgba(11,18,32,.6);overflow:hidden;transform:translateY(16px) scale(.985);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
body.fp-ed .ed-inv-backdrop.is-open .ed-inv-dialog{transform:none}
body.fp-ed .ed-inv-close{position:absolute;top:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid var(--sdx-line);background:var(--sdx-surface);color:var(--sdx-ink-600);display:grid;place-items:center;cursor:pointer;transition:.15s}
body.fp-ed .ed-inv-close:hover{border-color:var(--sdx-brand-300);color:var(--sdx-brand-600);transform:rotate(90deg)}

/* ---- head + toolbar ---- */
body.fp-ed .ed-inv-head{padding:24px 26px 14px;border-bottom:1px solid var(--sdx-line-soft)}
body.fp-ed .ed-inv-title{font-family:'Inter',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--sdx-ink-900);margin:0}
body.fp-ed .ed-inv-sub{font-size:13.5px;color:var(--sdx-ink-500);line-height:1.5;margin:6px 0 0;max-width:74ch;padding-right:44px}
body.fp-ed .ed-inv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 26px;border-bottom:1px solid var(--sdx-line-soft);background:var(--sdx-surface-2)}
body.fp-ed .ed-inv-search{display:flex;align-items:center;gap:9px;flex:1 1 320px;min-width:220px;height:44px;padding:0 15px;border:1px solid var(--sdx-line);border-radius:12px;background:var(--sdx-surface);color:var(--sdx-ink-400)}
body.fp-ed .ed-inv-search:focus-within{border-color:var(--sdx-brand-400);box-shadow:0 0 0 3.5px var(--sdx-brand-50)}
body.fp-ed .ed-inv-search input{flex:1;border:0;outline:none;background:transparent;font-family:'Inter',sans-serif;font-size:14px;color:var(--sdx-ink-900)}
body.fp-ed .ed-inv-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.fp-ed .ed-inv-fl{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 6px 0 13px;border:1px solid var(--sdx-line);border-radius:11px;background:var(--sdx-surface);font-size:12.5px;font-weight:600;color:var(--sdx-ink-500)}
body.fp-ed .ed-inv-fl select{border:0;outline:none;background:transparent;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--sdx-ink-800);cursor:pointer}
body.fp-ed .ed-inv-toggle{height:40px;padding:0 14px;border:1px solid var(--sdx-line);border-radius:11px;background:var(--sdx-surface);font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--sdx-ink-600);cursor:pointer;transition:.15s}
body.fp-ed .ed-inv-toggle:hover{border-color:var(--sdx-brand-300)}
body.fp-ed .ed-inv-toggle.is-on{background:var(--sdx-brand-50);border-color:var(--sdx-brand-300);color:var(--sdx-brand-700)}

/* ---- body: results + selected panel ---- */
body.fp-ed .ed-inv-body{flex:1;display:flex;min-height:0}
body.fp-ed .ed-inv-results{flex:1;min-width:0;overflow-y:auto;padding:18px 26px 30px}
body.fp-ed .ed-inv-count{font-size:13px;font-weight:600;color:var(--sdx-ink-500);margin:0 0 14px}
body.fp-ed .ed-inv-count b{color:var(--sdx-ink-900);font-weight:800}
body.fp-ed .ed-inv-grid{display:grid;grid-template-columns:1fr;gap:16px}
body.fp-ed .ed-inv-empty{grid-column:1/-1;padding:48px 20px;text-align:center;font-size:14px;color:var(--sdx-ink-400)}

/* card add-ons (invite mode only) */
body.fp-ed .sdx .ed-inv-grid .ed-tpro{position:relative}
body.fp-ed .sdx .ed-tpro-match{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;background:linear-gradient(135deg,var(--sdx-brand-500),var(--sdx-brand-700));color:#fff;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.01em;box-shadow:0 4px 12px -3px var(--sdx-brand-500)}
body.fp-ed .sdx .ed-tpro.is-selected{border-color:var(--sdx-brand-400);box-shadow:0 0 0 2px var(--sdx-brand-200),0 18px 40px -22px rgba(36,86,230,.4)}
body.fp-ed .sdx .ed-tpro-invite{cursor:pointer}
body.fp-ed .sdx .ed-tpro-invite.is-selected{background:var(--sdx-green-500)!important;border-color:var(--sdx-green-500)!important;color:#fff!important}
body.fp-ed .sdx .ed-tpro-invite.is-selected:hover{background:var(--sdx-green-600)!important}

/* selected panel */
body.fp-ed .ed-inv-panel{flex:0 0 340px;width:340px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--sdx-line);background:var(--sdx-surface)}
body.fp-ed .ed-inv-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--sdx-line-soft)}
body.fp-ed .ed-inv-panel-head strong{font-family:'Inter',sans-serif;font-size:15px;font-weight:800;color:var(--sdx-ink-900)}
body.fp-ed .ed-inv-panel-head span{font-size:12px;font-weight:600;color:var(--sdx-ink-400)}
body.fp-ed .ed-inv-panel-head span.is-flash{color:var(--sdx-red-500);animation:edInvShake .4s}
@keyframes edInvShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
body.fp-ed .ed-inv-selected{flex:1;overflow-y:auto;padding:12px 14px;min-height:80px}
body.fp-ed .ed-inv-sel-empty{padding:22px 12px;text-align:center;font-size:12.5px;color:var(--sdx-ink-400);line-height:1.6}
body.fp-ed .ed-inv-sel-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:11px;transition:.12s}
body.fp-ed .ed-inv-sel-row:hover{background:var(--sdx-surface-2)}
body.fp-ed .ed-inv-sel-row .ed-av{width:36px;height:36px;flex:none;font-size:13px}
body.fp-ed .ed-inv-sel-tx{flex:1;min-width:0;display:flex;flex-direction:column}
body.fp-ed .ed-inv-sel-tx strong{font-size:13.5px;font-weight:700;color:var(--sdx-ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.fp-ed .ed-inv-sel-tx small{font-size:11.5px;color:var(--sdx-ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.fp-ed .ed-inv-sel-match{flex:none;font-size:11px;font-weight:800;color:var(--sdx-brand-600);background:var(--sdx-brand-50);padding:2px 7px;border-radius:6px}
body.fp-ed .ed-inv-sel-x{flex:none;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--sdx-ink-400);font-size:18px;cursor:pointer;transition:.12s}
body.fp-ed .ed-inv-sel-x:hover{background:var(--sdx-red-50);color:var(--sdx-red-500)}

/* message editor + footer */
body.fp-ed .ed-inv-msg{padding:14px 16px;border-top:1px solid var(--sdx-line-soft)}
body.fp-ed .ed-inv-msg-label{display:block;font-size:12.5px;font-weight:700;color:var(--sdx-ink-800);margin:0 0 8px}
body.fp-ed .ed-inv-msg-label span{font-size:11px;font-weight:600;color:var(--sdx-ink-300);text-transform:uppercase;letter-spacing:.07em;margin-left:5px}
body.fp-ed .ed-inv-dialog .ed-inv-msg .pjx-rte-editor{min-height:82px;max-height:150px}
body.fp-ed .ed-inv-foot{padding:14px 16px;border-top:1px solid var(--sdx-line-soft);background:var(--sdx-surface-2)}
body.fp-ed .ed-inv-foot .ed-inv-save{width:100%}
body.fp-ed .ed-inv-foot-note{font-size:11.5px;color:var(--sdx-ink-400);line-height:1.5;margin:9px 0 0;text-align:center}

/* the .pjx-rte / .pjx-btn styles come from post-job-sdx.css (also loaded on this page). */

/* ---- responsive ---- */
@media (max-width:860px){
  body.fp-ed .ed-inv-backdrop{padding:0}
  body.fp-ed .ed-inv-dialog{width:100vw;max-width:none;height:100vh;height:100dvh;border-radius:0;border:0}
  body.fp-ed .ed-inv-head{padding:18px 18px 12px}
  body.fp-ed .ed-inv-sub{padding-right:44px}
  body.fp-ed .ed-inv-toolbar{padding:12px 16px}
  body.fp-ed .ed-inv-body{flex-direction:column}
  body.fp-ed .ed-inv-results{padding:14px 16px 20px}
  body.fp-ed .ed-inv-panel{flex:0 0 auto;width:100%;max-height:46vh;border-left:0;border-top:1px solid var(--sdx-line)}
}
@media (prefers-reduced-motion:reduce){
  body.fp-ed .ed-inv-backdrop,body.fp-ed .ed-inv-dialog{transition:none}
  body.fp-ed .ed-inv-close:hover{transform:none}
}
