PageSourceSearch

https://careerplatform.io/assets/salary-DwY3WeKa.js

js careerplatform.io collected 2026-09-24 15:05:43 UTC 47,143 bytes, 8 lines download raw bytes

1import{c as Ht,r as s,j as e,P as Kt,O as de,M as Jt,W as lt,Q as et,U as Qt,J as tt,p as me,a7 as ue,q as xe,a as oe,ab as Xt,B as q,b as ie,b6 as Zt,L as es,E as st,G as ot,t as p}from"./index-DNidg_Qc.js";import{T as ts}from"./tool-shell-Ca_pGYsK.js";import{W as ss}from"./DemoVideo-CwAl5Odk.js";import{I as g}from"./input-70YvsUaZ.js";import{L as m}from"./label-Bhudjdxi.js";import{S as $,a as F,b as M,c as O,d as b}from"./select-C7qVj4jZ.js";import{u as as}from"./index-IQCvXwi3.js";import{u as rs}from"./index-CPuSwFTH.js";import{C as ns}from"./check-DWkmcDeA.js";import{S as ls}from"./SaveRunButton-0c_mMq5I.js";import{L as os}from"./LoadSavedResume-NpzK-0VW.js";import{u as is,U as cs}from"./UseResumeProfileButton-B9aqLXeo.js";import{U as ds}from"./UseTailoredVersionButton-XBoihEM_.js";import{M as ms,a as us}from"./MicroTip-BclhUOIG.js";import{P as xs}from"./PlanGate-Dn5rCudQ.js";import{S as hs}from"./PremiumToolPreviews-Cg7USIaG.js";import{P as at}from"./ai-processing-notice-DjDAPzb1.js";import{I as ps}from"./info-DBwFhE5P.js";import{S as gs}from"./sparkles-BLWsg7Fk.js";import{C as fs}from"./chevron-down-CPsmHmNT.js";import{C as Z}from"./copy-o5wQvCLO.js";import"./calendar-range-DtWa0rnV.js";import"./dollar-sign-DLC6ZiSK.js";import"./camera-CYuBMNZh.js";import"./mic-UwRtLMQn.js";import"./message-square-tEJuq6-U.js";import"./linkedin-DeuNArME.js";import"./mail-DIM7-Uur.js";import"./file-text-BlHcyHb-.js";import"./target-BIU4lc4B.js";import"./ToolAllowanceChip-DpV-q-mI.js";import"./usage.functions-EBSqWXJF.js";import"./tool-demos-DgraiMJb.js";import"./dialog-B1BXKzKU.js";import"./index-D324aKeF.js";import"./index-Bk7P141l.js";import"./index-D-fQwQV1.js";import"./index-IAXwTvsN.js";import"./chevron-up-GmuFuLDl.js";import"./career.functions-CPuccMWX.js";import"./bookmark-DLDUEavq.js";import"./folder-open-CvvqG1yO.js";import"./resume-profile.functions-Ce4qxuzL.js";import"./extension-auth-B_JeSTLN.js";import"./resume-tailor-versions.functions-CuykLTlY.js";import"./resume-tailor-version-arJFjEhY.js";import"./resume-source-hygiene-BnELtta6.js";import"./lightbulb-5U240Hvw.js";import"./useSubscription-C5ij1Ie9.js";import"./stripe-BL9TlFig.js";import"./useIsAdmin-_vVIyJqR.js";import"./lock-DY_q9bUw.js";import"./circle-check-big-DjEcvWDG.js";import"./circle-alert-Bw878CKd.js";import"./video-DWkt9FxH.js";import"./shield-check-DVO32LZ7.js";const bs=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],ee=Ht("shield-alert",bs);var te="Checkbox",[js]=Qt(te),[vs,he]=js(te);function ys(n){const{__scopeCheckbox:l,checked:c,children:d,defaultChecked:x,disabled:i,form:j,name:h,onCheckedChange:w,required:k,value:C="on",internal_do_not_use_render:y}=n,[S,N]=Jt({prop:c,defaultProp:x??!1,onChange:w,caller:te}),[R,P]=s.useState(null),[T,o]=s.useState(null),f=s.useRef(!1),B=R?!!j||!!R.closest("form"):!0,A={checked:S,disabled:i,setChecked:N,control:R,setControl:P,name:h,form:j,value:C,hasConsumerStoppedPropagationRef:f,required:k,defaultChecked:I(x)?!1:x,isFormControl:B,bubbleInput:T,setBubbleInput:o};return e.jsx(vs,{scope:l,...A,children:Ns(y)?y(A):d})}var it="CheckboxTrigger",ct=s.forwardRef(({__scopeCheckbox:n,onKeyDown:l,onClick:c,...d},x)=>{const{control:i,value:j,disabled:h,checked:w,required:k,setControl:C,setChecked:y,hasConsumerStoppedPropagationRef:S,isFormControl:N,bubbleInput:R}=he(it,n),P=lt(x,C),T=s.useRef(w);return s.useEffect(()=>{const o=i?.form;if(o){const f=()=>y(T.current);return o.addEventListener("reset",f),()=>o.removeEventListener("reset",f)}},[i,y]),e.jsx(de.button,{type:"button",role:"checkbox","aria-checked":I(w)?"mixed":w,"aria-required":k,"data-state":ht(w),"data-disabled":h?"":void 0,disabled:h,value:j,...d,ref:P,onKeyDown:et(l,o=>{o.key==="Enter"&&o.preventDefault()}),onClick:et(c,o=>{y(f=>I(f)?!0:!f),R&&N&&(S.current=o.isPropagationStopped(),S.current||o.stopPropagation())})})});ct.displayName=it;var pe=s.forwardRef((n,l)=>{const{__scopeCheckbox:c,name:d,checked:x,defaultChecked:i,required:j,disabled:h,value:w,onCheckedChange:k,form:C,...y}=n;return e.jsx(ys,{__scopeCheckbox:c,checked:x,defaultChecked:i,disabled:h,required:j,onCheckedChange:k,name:d,form:C,value:w,internal_do_not_use_render:({isFormControl:S})=>e.jsxs(e.Fragment,{children:[e.jsx(ct,{...y,ref:l,__scopeCheckbox:c}),S&&e.jsx(xt,{__scopeCheckbox:c})]})})});pe.displayName=te;var dt="CheckboxIndicator",mt=s.forwardRef((n,l)=>{const{__scopeCheckbox:c,forceMount:d,...x}=n,i=he(dt,c);return e.jsx(Kt,{present:d||I(i.checked)||i.checked===!0,children:e.jsx(de.span,{"data-state":ht(i.checked),"data-disabled":i.disabled?"":void 0,...x,ref:l,style:{pointerEvents:"none",...n.style}})})});mt.displayName=dt;var ut="CheckboxBubbleInput",xt=s.forwardRef(({__scopeCheckbox:n,...l},c)=>{const{control:d,hasConsumerStoppedPropagationRef:x,checked:i,defaultChecked:j,required:h,disabled:w,name:k,value:C,form:y,bubbleInput:S,setBubbleInput:N}=he(ut,n),R=lt(c,N),P=as(i),T=rs(d);s.useEffect(()=>{const f=S;if(!f)return;const B=window.HTMLInputElement.prototype,V=Object.getOwnPropertyDescriptor(B,"checked").set,se=!x.current;if(P!==i&&V){const G=new Event("click",{bubbles:se});f.indeterminate=I(i),V.call(f,I(i)?!1:i),f.dispatchEvent(G)}},[S,P,i,x]);const o=s.useRef(I(i)?!1:i);return e.jsx(de.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??o.current,required:h,disabled:w,name:k,value:C,form:y,...l,tabIndex:-1,ref:R,style:{...l.style,...T,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});xt.displayName=ut;function Ns(n){return typeof n=="function"}function I(n){return n==="indeterminate"}function ht(n){return I(n)?"indeterminate":n?"checked":"unchecked"}const pt=s.forwardRef(({className:n,...l},c)=>e.jsx(pe,{ref:c,className:tt("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",n),...l,children:e.jsx(mt,{className:tt("grid place-content-center text-current"),children:e.jsx(ns,{className:"h-4 w-4"})})}));pt.displayName=pe.displayName;
1const ws=["base","bonus","equity","signing","pto","remote","title","start_date","learning"],ks={base:"base salary",bonus:"annual bonus target",equity:"equity / RSUs",signing:"signing bonus",pto:"paid time off",remote:"remote or flexible work",title:"title / level",start_date:"start date",learning:"learning and development budget"},Ss=me({method:"POST"}).middleware([ue]).handler(xe("af1ef7c2f2bbf0f7d005f3addc403ee05e94253c5b61855d414221ff10a2581e")),Cs=me({method:"POST"}).middleware([ue]).handler(xe("4d4fb31d48f54a91caf9766c3f9f8320ebc00a9d013355aca015df8b17d8cb78")),Rs=me({method:"POST"}).middleware([ue]).handler(xe("fd2910983586eb33d5e1a35aa344d734fb3ad1abe313a588fa56ca32d5304331"));function Ps(n){return n.trim().replace(/^["\u201C\u201D'\u2018\u2019]+|["\u201C\u201D'\u2018\u2019]+$/g,"").trim()}const Es=["Software / Tech","Telecommunications","Media / Entertainment","Finance / Banking","Insurance","Real Estate","Legal","Consulting","Accounting / Audit","Healthcare","Pharma / Biotech","Education","Marketing / Advertising","Sales","Manufacturing","Construction","Energy / Utilities","Transportation / Logistics","Aerospace / Defense","Automotive","Agriculture","Retail / E-commerce","Hospitality / Travel","Food & Beverage","Government / Public Sector","Nonprofit / NGO","Arts & Design","Other"],rt=["0-2","3-5","6-10","10+"];function _(n,l){try{return new Intl.NumberFormat(void 0,{style:"currency",currency:l,maximumFractionDigits:0}).format(n)}catch{return`${l} ${n.toLocaleString()}`}}function Ia(){const n=oe(Ss),l=oe(Cs),c=oe(Rs),{user:d,loading:x}=is(),[i,j]=s.useState(""),[h,w]=s.useState(""),[k,C]=s.useState(""),[y,S]=s.useState(""),[N,R]=s.useState(""),[P,T]=s.useState(!1),[o,f]=s.useState(null),[B,A]=s.useState(null),[V,se]=s.useState(""),[G,gt]=s.useState(""),[ge,ft]=s.useState(""),[H,fe]=s.useState(""),[E,be]=s.useState("new_offer"),[D,je]=s.useState(""),[W,ve]=s.useState(""),[ye,bt]=s.useState(""),[Ne,jt]=s.useState(""),[we,vt]=s.useState(""),[ke,yt]=s.useState(!1),[Se,Nt]=s.useState(!1),[Ce,wt]=s.useState(!1),[Re,kt]=s.useState(!1),[Pe,St]=s.useState(!1),[Ee,Ct]=s.useState(!1),[ae,Rt]=s.useState(""),[_e,Pt]=s.useState(""),[Te,Et]=s.useState(""),[re,_t]=s.useState(""),[Le,Tt]=s.useState(""),[Ie,Lt]=s.useState(""),[Ae,It]=s.useState(""),[qe,At]=s.useState(""),[Be,qt]=s.useState(""),[$e,Bt]=s.useState(""),[Fe,$t]=s.useState(""),[Me,Ft]=s.useState([]),[Oe,Mt]=s.useState(""),[K,J]=s.useState(null),Ot=t=>Ft(r=>r.includes(t)?r.filter(u=>u!==t):r.length>=3?r:[...r,t]),[De,Dt]=s.useState(!1),[Q,We]=s.useState(!1),[a,ze]=s.useState(null),Ue=s.useRef(null);s.useEffect(()=>{a&&Ue.current?.scrollIntoView({behavior:"smooth",block:"start"})},[a]);const[Ye,Ve]=s.useState(null),[X,Ge]=s.useState(!1),[He,Ke]=s.useState(null),[Je,Qe]=s.useState(null);s.useEffect(()=>{N&&!H&&fe(N)},[N,H]);const Xe=Xt({select:t=>t.location.hash});s.useEffect(()=>{if(typeof window>"u")return;const t=(Xe||window.location.hash||"").replace(/^#/,"");if(!t)return;let r=!1,u=0;const v=()=>{if(r)return;const L=document.getElementById(t);if(L){L.scrollIntoView({behavior:"smooth",block:"start"});return}u++<40&&window.setTimeout(v,50)};return v(),()=>{r=!0}},[Xe]),s.useEffect(()=>{h&&!D&&je(h)},[h,D]),s.useEffect(()=>{i&&!W&&ve(i)},[i,W]);const Wt=async t=>{if(t.preventDefault(),!i.trim()){p.error("Add a job title");return}T(!0),A(null),f(null);try{const r=[`Job title: ${i.trim()}.`,h.trim()?`Location: ${h.trim()}.`:"",(()=>{const v=k==="Other"?y.trim():k;return v?`Industry: ${v}.`:""})(),N?`Experience: ${N} years.`:"","Standard responsibilities, requirements, and qualifications for this role."].filter(Boolean).join(" ").padEnd(60," "),u=await n({data:{jobTitle:i.trim(),jobDescription:r}});f(u),se(i.trim()),u||A("We couldn't pull a salary range for this role / location. Try a broader job title or a different city.")}catch(r){A(ce(r,"The salary lookup"))}finally{T(!1)}},zt=async t=>{if(t.preventDefault(),Q)return;if(!d){p.error("Sign in to run the negotiator (1 credit).");return}if(!W.trim()){p.error("Enter the position you are negotiating for, like Senior Project Manager.");return}const r=Y(G,"The offer",{required:!0});if(r.error){p.error(r.error);return}const u=Y(ge,"Current salary",{required:!1});if(u.error){p.error(u.error);return}const v=Y(ye,"The competing offer",{required:!1});if(v.error){p.error(v.error);return}const L=Y(Ie,"The signing bonus",{required:!1});if(L.error){p.error(L.error);return}const ne=Y(Oe,"Your floor",{required:!1});if(ne.error){p.error(ne.error);return}const U=re.trim()?Number(re.replace(/[^0-9.]/g,"")):void 0;if(U!==void 0&&(Number.isNaN(U)||U<0||U>200)){p.error("Bonus target must be a percentage between 0 and 200, like 15.");return}const Yt=r.value,Vt=u.value??void 0,Gt=v.value??void 0;We(!0),Ve(null),ze(null);try{const le=await l({data:{jobTitle:W.trim(),location:(D||h).trim(),offer:Yt,currentSalary:Vt,currency:o?.currency??"USD",yearsExperience:H||N,conversationContext:E,leverage:{competingOffer:Gt,recentWin:Ne.trim(),scopeChange:we.trim()},company:{name:_e.trim(),stage:Te||void 0},package:{bonusPercent:U,equity:Le.trim(),signingBonus:L.value??void 0,benefitsNotes:Ae.trim()},process:{stage:E==="raise"?"raise":qe||void 0,contact:Be||void 0,deadline:$e.trim(),theySaid:Fe.trim()},priorities:Me,walkAway:ne.value??void 0,resumeText:K?.text??"",additionalAsks:{signingBonus:ke,equity:Se,pto:Ce,remote:Re,learningBudget:Pe,startDate:Ee},market:o?{p25:o.p25,median:o.median,p75:o.p75,currency:o.currency,source:o.source,sampleSize:o.sampleSize}:null}});ze(le),p.success("Your negotiation package is ready!")}catch(le){const Ze=ce(le,"The negotiation package");Ve(Ze),p.error(Ze)}finally{We(!1)}},z=(t,r)=>{navigator.clipboard.writeText(t).then(()=>p.success(`${r} copied`),()=>p.error("Copy failed"))},Ut=async t=>{if(t.preventDefault(),X)return;if(!d){p.error("Sign in to run the contract review (1 credit).");return}const r=ae.trim();if(r.length<40){p.error("Paste at least a few sentences of your offer letter or contract.");return}Ge(!0),Qe(null),Ke(null);try{const u=await c({data:{jobTitle:i.trim(),offerDocument:r}});Ke(u),u.red_flags.length?p.success("Contract review is ready!"):p.success("Review complete - no notable clauses flagged.")}catch(u){const v=ce(u,"The contract review");Qe(v),p.error(v)}finally{Ge(!1)}};return e.jsx(ts,{toolKey:"salary",title:"Salary Negotiator",description:"Look up live market salary data for any role, then generate a counter-offer, phone script, email draft, and talking points calibrated to that data.",whatYouGet:["Live salary range from Adzuna + BLS","Calibrated counter-offer range","Phone script & recruiter email","Key talking points"],children:e.jsxs("div",{className:"max-w-5xl mx-auto",children:[e.jsx("p",{className:"text-xs text-slate-400 mb-4",children:"AI-generated estimates only. Not financial or career advice."}),e.jsxs("section",{className:"rounded-2xl border border-slate-200 bg-white shadow-sm p-6 md:p-8 mb-8",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-5 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-slate-900",children:"1. Salary Research"}),e.jsx("p",{className:"text-sm text-slate-500 mt-0.5",children:"Live data from Adzuna + BLS - Free, no credits used."})]}),e.jsx("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 px-3 py-1 text-xs font-semibold",children:"Free - no credits"})]}),e.jsxs("form",{onSubmit:Wt,className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs(m,{htmlFor:"sal-title",children:["Job title",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx(g,{id:"sal-title",value:i,onChange:t=>j(t.target.value),placeholder:"e.g. Operations Manager",required:!0})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"sal-loc",children:"Location (city, state)"}),e.jsx(g,{id:"sal-loc",value:h,onChange:t=>w(t.target.value),placeholder:"e.g. Austin, TX"})]}),e.jsxs("div",{children:[e.jsx(m,{children:"Industry"}),e.jsxs($,{value:k,onValueChange:C,children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select industry"})}),e.jsx(O,{children:Es.map(t=>e.jsx(b,{value:t,children:t},t))})]}),k==="Other"&&e.jsx(g,{className:"mt-2",value:y,onChange:t=>S(t.target.value),placeholder:"Please specify your industry",maxLength:80})]}),e.jsxs("div",{children:[e.jsx(m,{children:"Years of experience"}),e.jsxs($,{value:N,onValueChange:R,children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select experience"})}),e.jsx(O,{children:rt.map(t=>e.jsxs(b,{value:t,children:[t," years"]},t))})]})]}),e.jsx("div",{className:"md:col-span-2",children:e.jsx(q,{type:"submit",disabled:P,className:"w-full md:w-auto",children:P?e.jsxs(e.Fragment,{children:[e.jsx(ie,{className:"w-4 h-4 mr-2 animate-spin"})," Looking up market data…"]}):e.jsx(e.Fragment,{children:"Show salary range"})})})]}),B&&e.jsx("div",{className:"mt-5 rounded-lg border border-amber-200 bg-amber-50 text-amber-800 text-sm p-3",children:B}),o&&e.jsxs("div",{className:"mt-6 rounded-xl border border-slate-200 bg-slate-50/60 p-5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3 flex-wrap",children:[e.jsxs("h3",{className:"text-sm font-semibold text-slate-900",children:["Estimated salary range - ",V]}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] text-slate-500",children:[e.jsx(ps,{className:"w-3 h-3"})," Estimates vary by company, level, and location."]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 mb-3",children:[e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white border border-slate-200 px-3 py-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-500",children:"25th"}),e.jsx("span",{className:"font-semibold text-slate-900",children:_(o.p25,o.currency)})]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-blue-600/10 text-blue-800 px-3 py-1.5 text-sm",children:[e.jsx("span",{className:"opacity-70",children:"Median"}),e.jsx("span",{className:"font-semibold",children:_(o.median,o.currency)})]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-white border border-slate-200 px-3 py-1.5 text-sm",children:[e.jsx("span",{className:"text-slate-500",children:"75th"}),e.jsx("span",{className:"font-semibold text-slate-900",children:_(o.p75,o.currency)})]})]}),e.jsx("p",{className:"text-xs text-slate-600",children:o.source==="adzuna"?`Based on ${o.sampleSize??0} listings for ${o.jobTitle}${o.location?` in ${o.location}`:""}.`:`Based on BLS occupational wage data for ${o.occupationLabel??"this role"}.`}),e.jsxs("a",{href:o.moreUrl,target:"_blank",rel:"noopener noreferrer",className:"mt-2 inline-flex items-center gap-1 text-xs font-medium text-blue-700 hover:underline",children:["View more salary data ",e.jsx(Zt,{className:"w-3 h-3"})]}),e.jsx("p",{className:"mt-3 text-xs text-slate-400",children:"Salary ranges are estimates based on third-party data from Adzuna and BLS and may not reflect actual compensation for this specific role, company, or location. Use as a general reference only."})]})]}),e.jsxs(xs,{tool:"salary_negotiate",preview:e.jsx(hs,{}),children:[e.jsx("form",{onSubmit:zt,className:"mb-8",children:e.jsxs("section",{className:"rounded-2xl border border-slate-200 bg-white shadow-sm p-6 md:p-8",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-5 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-slate-900",children:"2. Salary Negotiator"}),e.jsx("p",{className:"text-sm text-slate-500 mt-0.5",children:"Counter-offer range, phone script, recruiter email, and talking points."})]}),e.jsx("span",{className:"inline-flex items-center gap-1 rounded-full bg-violet-50 text-violet-700 border border-violet-200 px-3 py-1 text-xs font-semibold",children:"1 credit"})]}),!x&&!d&&e.jsxs("div",{className:"mb-5 rounded-lg border border-slate-200 bg-slate-50 text-sm text-slate-700 p-3 flex items-center justify-between gap-3 flex-wrap",children:[e.jsx("span",{children:"Sign in to run the negotiator. Salary research above stays free."}),e.jsx(es,{to:"/login",className:"text-blue-700 font-semibold hover:underline",children:"Sign in"})]}),e.jsxs("div",{children:[e.jsx(m,{className:"mb-2 block",children:"What are you negotiating?"}),e.jsxs("div",{className:"inline-flex rounded-lg border border-slate-200 bg-slate-50 p-1",children:[e.jsx("button",{type:"button",onClick:()=>be("new_offer"),className:`px-3 py-1.5 text-sm rounded-md font-medium transition-colors ${E==="new_offer"?"bg-white text-slate-900 shadow-sm":"text-slate-600 hover:text-slate-900"}`,children:"New job offer"}),e.jsx("button",{type:"button",onClick:()=>be("raise"),className:`px-3 py-1.5 text-sm rounded-md font-medium transition-colors ${E==="raise"?"bg-white text-slate-900 shadow-sm":"text-slate-600 hover:text-slate-900"}`,children:"Raise / promotion"})]}),e.jsx("p",{className:"mt-1.5 text-xs text-slate-500",children:E==="raise"?"We'll frame the script as a 1:1 conversation with your current manager.":"We'll frame the script as a reply to a recruiter or hiring manager."})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"md:col-span-2",children:[e.jsxs(m,{htmlFor:"neg-title",children:[E==="raise"?"Your position (title and level)":"Position offered (title and level)",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx(g,{id:"neg-title",value:W,onChange:t=>ve(t.target.value),placeholder:"e.g. Senior Project Manager, or Project Manager II",required:!0}),e.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"The number and the argument depend on it: the market range, the level the scope fits, and what a band exception looks like."})]}),e.jsxs("div",{children:[e.jsxs(m,{htmlFor:"neg-offer",children:[E==="raise"?"Target new comp":"Offer received",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx(g,{id:"neg-offer",value:G,onChange:t=>gt(t.target.value),placeholder:"e.g. 145000",inputMode:"numeric",required:!0})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"neg-current",children:"Current salary (optional)"}),e.jsx(g,{id:"neg-current",value:ge,onChange:t=>ft(t.target.value),placeholder:"e.g. 125000",inputMode:"numeric"})]}),e.jsxs("div",{children:[e.jsx(m,{children:"Years of experience"}),e.jsxs($,{value:H,onValueChange:fe,children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select experience"})}),e.jsx(O,{children:rt.map(t=>e.jsxs(b,{value:t,children:[t," years"]},t))})]})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"neg-loc",children:"Location"}),e.jsx(g,{id:"neg-loc",value:D,onChange:t=>je(t.target.value),placeholder:h||"e.g. Austin, TX"}),h&&D===h&&e.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"Auto-filled from Salary Research above."})]})]}),e.jsxs("fieldset",{className:"rounded-lg border border-slate-200 bg-slate-50/60 p-4",children:[e.jsxs("legend",{className:"px-2 text-sm font-semibold text-slate-800",children:["Your leverage ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(optional)"})]}),e.jsx("p",{className:"text-xs text-slate-500 mb-3",children:"The more specific you are, the stronger the counter. Everything below is optional."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx(m,{htmlFor:"lev-comp",className:"text-xs",children:"Competing offer amount"}),e.jsx(g,{id:"lev-comp",value:ye,onChange:t=>bt(t.target.value),placeholder:"e.g. 160000",inputMode:"numeric"})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"lev-win",className:"text-xs",children:"Recent win / achievement"}),e.jsx(g,{id:"lev-win",value:Ne,onChange:t=>jt(t.target.value),placeholder:"e.g. Led migration that cut infra spend 30%"})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsx(m,{htmlFor:"lev-scope",className:"text-xs",children:"Scope change / expanded responsibilities"}),e.jsx(g,{id:"lev-scope",value:we,onChange:t=>vt(t.target.value),placeholder:"e.g. Now managing 3 additional direct reports and the vendor budget"})]})]})]}),e.jsxs("fieldset",{className:"rounded-lg border border-slate-200 p-4",children:[e.jsxs("legend",{className:"px-2 text-sm font-semibold text-slate-800",children:["The resume you sent for this job ",e.jsx("span",{className:"text-slate-500 font-n
1ormal",children:"(recommended)"})]}),e.jsx("p",{className:"text-xs text-slate-500 mb-3",children:"The talking points cite achievements from this resume, the one the employer has seen. Load the tailored version or saved resume you applied with; if you load nothing, your Resume Profile is used."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(ds,{onLoad:t=>J({text:t,label:"a tailored version"})}),e.jsx(os,{onLoad:t=>J({text:t,label:"a saved resume"})}),e.jsx(cs,{onLoad:t=>J({text:t,label:"your Resume Profile"})})]}),e.jsx("p",{className:"mt-2 text-xs","data-testid":"evidence-source",children:K?e.jsxs("span",{className:"text-emerald-700",children:["Using ",K.label,". ",e.jsx("button",{type:"button",className:"underline underline-offset-2",onClick:()=>J(null),children:"Clear"})]}):e.jsx("span",{className:"text-slate-500",children:"Nothing loaded: your Resume Profile will be used."})})]}),e.jsxs("fieldset",{className:"rounded-lg border border-slate-200 bg-slate-50/60 p-4",children:[e.jsxs("legend",{className:"px-2 text-sm font-semibold text-slate-800",children:["The whole offer and the employer ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(optional, recommended)"})]}),e.jsx("p",{className:"text-xs text-slate-500 mb-3",children:"Most of the room to move is outside base salary, and the playbook differs by employer. The more of this you give, the more specific the package."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx(m,{htmlFor:"co-name",className:"text-xs",children:"Company"}),e.jsx(g,{id:"co-name",value:_e,onChange:t=>Pt(t.target.value),placeholder:"e.g. Brightline Analytics",maxLength:120})]}),e.jsxs("div",{children:[e.jsx(m,{className:"text-xs",children:"Company stage"}),e.jsxs($,{value:Te,onValueChange:t=>Et(t),children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select"})}),e.jsxs(O,{children:[e.jsx(b,{value:"startup",children:"Early-stage startup"}),e.jsx(b,{value:"growth",children:"Growth-stage, funded"}),e.jsx(b,{value:"established",children:"Established private company"}),e.jsx(b,{value:"public",children:"Public company"}),e.jsx(b,{value:"public_sector",children:"Public sector, non-profit or academic"}),e.jsx(b,{value:"unknown",children:"Not sure"})]})]})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pk-bonus",className:"text-xs",children:"Annual bonus target (% of base)"}),e.jsx(g,{id:"pk-bonus",value:re,onChange:t=>_t(t.target.value),placeholder:"e.g. 15",inputMode:"decimal"})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pk-signing",className:"text-xs",children:"Signing bonus offered"}),e.jsx(g,{id:"pk-signing",value:Ie,onChange:t=>Lt(t.target.value),placeholder:"e.g. 10000",inputMode:"numeric"})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pk-equity",className:"text-xs",children:"Equity / RSUs offered"}),e.jsx(g,{id:"pk-equity",value:Le,onChange:t=>Tt(t.target.value),placeholder:"e.g. $60,000 RSUs over 4 years, or 0.1%",maxLength:300})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pk-benefits",className:"text-xs",children:"Benefits or anything else in the offer"}),e.jsx(g,{id:"pk-benefits",value:Ae,onChange:t=>It(t.target.value),placeholder:"e.g. 15 days PTO, 3 days in office, no relocation",maxLength:500})]})]})]}),e.jsxs("fieldset",{className:"rounded-lg border border-slate-200 p-4",children:[e.jsxs("legend",{className:"px-2 text-sm font-semibold text-slate-800",children:["Where you are and what matters to you ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(optional, recommended)"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[E!=="raise"&&e.jsxs("div",{children:[e.jsx(m,{className:"text-xs",children:"Offer stage"}),e.jsxs($,{value:qe,onValueChange:t=>At(t),children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select"})}),e.jsxs(O,{children:[e.jsx(b,{value:"verbal",children:"Verbal offer, nothing in writing yet"}),e.jsx(b,{value:"written",children:"Written offer in hand"})]})]})]}),e.jsxs("div",{children:[e.jsx(m,{className:"text-xs",children:"Who you're talking to"}),e.jsxs($,{value:Be,onValueChange:t=>qt(t),children:[e.jsx(F,{children:e.jsx(M,{placeholder:"Select"})}),e.jsxs(O,{children:[E==="raise"?e.jsx(b,{value:"my_manager",children:"My manager"}):e.jsxs(e.Fragment,{children:[e.jsx(b,{value:"recruiter",children:"A recruiter"}),e.jsx(b,{value:"hiring_manager",children:"The hiring manager"})]}),e.jsx(b,{value:"hr",children:"HR / compensation"})]})]})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pr-deadline",className:"text-xs",children:"Deadline they gave you"}),e.jsx(g,{id:"pr-deadline",value:$e,onChange:t=>Bt(t.target.value),placeholder:"e.g. Friday, or none",maxLength:60})]}),e.jsxs("div",{children:[e.jsx(m,{htmlFor:"pr-floor",className:"text-xs",children:"Your floor - the base you'd decline below"}),e.jsx(g,{id:"pr-floor",value:Oe,onChange:t=>Mt(t.target.value),placeholder:"e.g. 150000",inputMode:"numeric"})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsx(m,{htmlFor:"pr-said",className:"text-xs",children:"What they've already said about the number"}
1),e.jsx(st,{id:"pr-said",value:Fe,onChange:t=>$t(t.target.value),placeholder:`e.g. "The band tops out at 150." or "We don't do signing bonuses."`,rows:2,maxLength:1500})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsxs(m,{className:"text-xs",children:["What matters most to you ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(pick up to three, in order)"})]}),e.jsx("div",{className:"mt-1.5 flex flex-wrap gap-2",children:ws.map(t=>{const r=Me.indexOf(t),u=r>=0;return e.jsxs("button",{type:"button",onClick:()=>Ot(t),className:`rounded-full border px-3 py-1 text-xs transition-colors ${u?"border-blue-600 bg-blue-600 text-white":"border-slate-300 bg-white text-slate-700 hover:border-slate-400"}`,children:[u?`${r+1}. `:"",ks[t]]},t)})})]})]}),e.jsx("p",{className:"mt-3 text-xs text-slate-500",children:"Everything here is optional; each answer makes the package more specific to your situation."})]}),e.jsxs("fieldset",{className:"rounded-lg border border-slate-200 p-4",children:[e.jsxs("legend",{className:"px-2 text-sm font-semibold text-slate-800",children:["Beyond base salary ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(optional)"})]}),e.jsx("p",{className:"text-xs text-slate-500 mb-3",children:"Pick anything else you want to negotiate. We'll add specific asks and rationale for each."}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:[{key:"sign",label:"Signing bonus",checked:ke,setter:yt},{key:"equity",label:"Equity / RSUs",checked:Se,setter:Nt},{key:"pto",label:"Additional PTO",checked:Ce,setter:wt},{key:"remote",label:"Remote / flexible work",checked:Re,setter:kt},{key:"learn",label:"Learning & development budget",checked:Pe,setter:St},{key:"start",label:"Flexible start date",checked:Ee,setter:Ct}].map(t=>e.jsxs("label",{className:"flex items-center gap-2 text-sm text-slate-700 rounded-md px-2 py-1.5 hover:bg-slate-50 cursor-pointer",children:[e.jsx(pt,{checked:t.checked,onCheckedChange:r=>t.setter(r===!0)}),t.label]},t.key))})]}),e.jsxs("div",{className:"mt-6",children:[e.jsx(q,{type:"submit",disabled:Q||!x&&!d,className:"w-full md:w-auto bg-blue-600 hover:bg-blue-700 text-white font-semibold",children:Q?e.jsxs(e.Fragment,{children:[e.jsx(ie,{className:"w-4 h-4 mr-2 animate-spin"})," Building your negotiation…"]}):e.jsxs(e.Fragment,{children:[e.jsx(gs,{className:"w-4 h-4 mr-2"})," Generate counter-offer (1 credit)"]})}),!o&&e.jsx("p",{className:"mt-2 text-xs text-slate-500",children:"The market range for this position and location is looked up for you when you run it."}),e.jsx("p",{className:"mt-3 text-xs text-slate-400 max-w-3xl",children:"The counter-offer script and talking points are designed to guide you through your negotiation and do not guarantee any specific outcome. Negotiation results depend on many factors outside CareerPlatform's control. CareerPlatform is not responsible for any employment decisions, offer changes, or outcomes resulting from use of this tool."})]})]})}),a&&e.jsx("div",{ref:Ue,className:"scroll-mt-24",children:e.jsxs("div",{className:"mt-8 space-y-6",children:[e.jsx(ls,{kind:"salary_negotiate",id:a.historyId??null}),a.position&&e.jsxs("div",{className:`rounded-xl border p-5 ${a.position.strength==="strong"?"border-emerald-200 bg-emerald-50/50":a.position.strength==="weak"?"border-amber-200 bg-amber-50/50":"border-slate-200 bg-white"}`,children:[e.jsxs("h3",{className:"text-sm font-semibold text-slate-900 uppercase tracking-wider mb-1",children:["Your position: ",e.jsx("span",{className:a.position.strength==="strong"?"text-emerald-700":a.position.strength==="weak"?"text-amber-700":"text-slate-700",children:a.position.strength})]}),e.jsx("p",{className:"text-sm text-slate-700",children:a.position.why}),e.jsx("p",{className:"mt-2 text-xs text-slate-500",children:a.evidenceSource==="resume"?`Achievements cited from ${K?.label??"the resume you loaded"}.`:a.evidenceSource==="profile"?"Achievements cited from your Resume Profile - load the resume you sent for a closer package.":"No resume or profile on file, so the talking points rest on the role, the market and your leverage. Load a resume for a stronger package."})]}),e.jsxs("div",{className:"rounded-xl border border-violet-200 bg-vi
1olet-50/40 p-5",children:[e.jsx("h3",{className:"text-sm font-semibold text-violet-900 uppercase tracking-wider mb-3",children:"Recommended counter-offer"}),e.jsxs("div",{className:"flex flex-wrap items-end gap-3 mb-3",children:[e.jsx("div",{className:"text-3xl font-bold text-slate-900",children:_(a.counter_target,a.currency)}),e.jsxs("div",{className:"text-sm text-slate-600 pb-1",children:["Range: ",_(a.counter_low,a.currency)," –"," ",_(a.counter_high,a.currency)]})]}),e.jsxs("button",{type:"button",onClick:()=>Dt(t=>!t),className:"inline-flex items-center gap-1 text-xs font-semibold text-violet-800 hover:text-violet-900",children:["Why this range?",e.jsx(fs,{className:`w-3.5 h-3.5 transition-transform ${De?"rotate-180":""}`})]}),De&&e.jsxs("div",{className:"mt-3 space-y-3",children:[(()=>{const t=o??a.market??null;return t?e.jsxs("div",{className:"rounded-md bg-white/60 border border-violet-100 p-3 text-xs text-slate-700",children:[e.jsx("div",{className:"font-semibold text-slate-900 mb-1",children:"Market anchor"}),e.jsxs("div",{children:[t.source==="adzuna"?"Adzuna":"BLS"," - 25th"," ",_(t.p25,t.currency)," · median"," ",_(t.median,t.currency)," · 75th"," ",_(t.p75,t.currency),t.sampleSize?` (n=${t.sampleSize})`:""]}),"label"in t&&t.label?e.jsxs("div",{className:"mt-1 text-slate-500",children:["Priced as ",t.label,". Postings for a title are often broader than the position; when the offer already beats them, the package argues from scope and evidence instead."]}):null]}):e.jsxs("div",{className:"rounded-md bg-white/60 border border-violet-100 p-3 text-xs text-slate-700",children:[e.jsx("div",{className:"font-semibold text-slate-900 mb-1",children:"Market anchor"}),e.jsx("div",{children:"No market data was found for this position and location, so the number rests on the offer, your evidence and your leverage."})]})})(),e.jsx("p",{className:"text-sm text-slate-700 whitespace-pre-wrap leading-relaxed",children:a.justification})]})]}),e.jsx(nt,{title:"Phone / in-person script",body:a.script,onCopy:()=>z(a.script,"Script")}),e.jsx(nt,{title:"Email to recruiter / hiring manager",subtitle:`Subject: ${a.email_subject}`,body:a.email_body,onCopy:()=>z(`Subject: ${a.email_subject}
2
3${a.email_body}`,"Email")}),a.additional_asks&&a.additional_asks.length>0&&e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-3",children:"Beyond base salary"}),e.jsx("ul",{className:"space-y-3",children:a.additional_asks.map((t,r)=>e.jsxs("li",{className:"border-l-2 border-violet-300 pl-3",children:[e.jsx("div",{className:"text-sm font-semibold text-slate-900",children:t.item}),e.jsx("div",{className:"text-sm text-violet-800 font-medium mt-0.5",children:t.ask}),e.jsx("div",{className:"text-xs text-slate-600 mt-1 leading-relaxed",children:t.rationale})]},r))})]}),a.objection_responses&&a.objection_responses.length>0&&e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900",children:"If they push back"}),e.jsxs(q,{type:"button",variant:"ghost",size:"sm",onClick:()=>z(a.objection_responses.map(t=>`Q: ${t.objection}
4A: ${t.response}`).join(`
5
6`),"Objection responses"),children:[e.jsx(Z,{className:"w-3.5 h-3.5 mr-1"})," Copy"]})]}),e.jsx("ul",{className:"space-y-4",children:a.objection_responses.map((t,r)=>e.jsxs("li",{children:[e.jsxs("div",{className:"text-sm font-medium text-slate-900",children:['"',Ps(t.objection),'"']}),e.jsxs("div",{className:"mt-1 text-sm text-slate-700 leading-relaxed",children:[e.jsx("span",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mr-1",children:"You:"}),t.response]})]},r))})]}),a.red_flags&&a.red_flags.length>0&&e.jsxs("div",{className:"rounded-xl border-2 border-amber-300 bg-amber-50/60 p-5",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[e.jsx(ee,{className:"w-5 h-5 text-amber-700 flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-bold text-amber-900 uppercase tracking-wider",children:"Things worth asking about"}),e.jsx("p",{className:"text-xs text-amber-800 mt-0.5",children:"Informational flagging based on the offer document you pasted - not legal advice. We recommend a qualified employment lawyer review anything flagged here as a real concern before you sign."})]})]}),e.jsx("ul",{className:"space-y-4",children:a.red_flags.map((t,r)=>{const u=t.severity,v=u==="high"?"bg-rose-100 text-rose-800 border-rose-200":u==="review"?"bg-amber-100 text-amber-800 border-amber-200":"bg-slate-100 text-slate-700 border-slate-200",L=u==="high"?"High":u==="review"?"Review":"Info";return e.jsxs("li",{className:"rounded-lg border border-amber-200 bg-white p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1.5",children:[e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-semibold ${v}`,children:[e.jsx(ot,{className:"w-3 h-3"}),L]}),e.jsx("span",{className:"text-sm font-semibold text-slate-900",children:t.clause}),e.jsx("span",{className:"text-[11px] text-slate-500 uppercase tracking-wider",children:t.category.replace(/_/g," ")})]}),t.quote&&e.jsxs("blockquote",{className:"mt-2 border-l-2 border-amber-300 pl-3 text-xs text-slate-600 italic",children:['"',t.quote,'"']}),e.jsx("div",{className:"mt-2 text-sm text-slate-700 leading-relaxed",children:t.why_it_matters}),e.jsxs("div",{className:"mt-2 text-sm text-slate-800",children:[e.jsx("span",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mr-1",children:"Ask:"}),t.question_to_ask]})]},r)})})]}),a.plan&&a.plan.length>0&&e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900",children:"Your plan, in order"}),e.jsxs(q,{type:"button",variant:"ghost",size:"sm",onClick:()=>z(a.plan.map((t,r)=>`${r+1}. ${t}`).join(`
7`),"Plan"),children:[e.jsx(Z,{className:"w-3.5 h-3.5 mr-1"})," Copy"]})]}),e.jsx("ol",{className:"space-y-2 text-sm text-slate-800 list-decimal pl-5",children:a.plan.map((t,r)=>e.jsx("li",{children:t},r))})]}),a.concessions&&a.concessions.length>0&&e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-1",children:"If base is firm, ask for this instead"}),e.jsx("p",{className:"text-xs text-slate-500 mb-3",children:"In the order you said matters. Get whatever they agree to into the written offer."}),e.jsx("ul",{className:"space-y-2 text-sm text-slate-800 list-disc pl-5",children:a.concessions.map((t,r)=>e.jsx("li",{children:t},r))})]}),e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900",children:"Key talking points"}),e.jsxs(q,{type:"button",variant:"ghost",size:"sm",onClick:()=>z(a.talking_points.map(t=>`• ${t}`).join(`
8`),"Talking points"),children:[e.jsx(Z,{className:"w-3.5 h-3.5 mr-1"})," Copy"]})]}),e.jsx("ul",{className:"space-y-2",children:a.talking_points.map((t,r)=>e.jsxs("li",{className:"flex gap-2 text-sm text-slate-700",children:[e.jsxs("span",{className:"text-violet-600 font-bold flex-shrink-0",children:[r+1,"."]}),e.jsx("span",{children:t})]},r))})]}),e.jsx(ms,{toolKey:"salary",tips:[...us.salary],resultKey:a.talking_points.length})]})}),e.jsx("form",{onSubmit:Ut,className:"mb-8",children:e.jsxs("section",{id:"contract-red-flags",className:"scroll-mt-24 rounded-2xl border border-slate-200 bg-white shadow-sm p-6 md:p-8",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-5 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-slate-900",children:"3. Contract Red Flag Review"}),e.jsx("p",{className:"text-sm text-slate-500 mt-0.5",children:"Paste your offer letter or contract to flag clauses worth asking about."}),e.jsx(ss,{demo:"contract",className:"mt-1"})]}),e.jsx("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-50 text-amber-700 border border-amber-200 px-3 py-1 text-xs font-semibold",children:"1 credit"})]}),e.jsxs("div",{className:"mb-4 rounded-lg border border-violet-200 bg-vi
8olet-50/70 text-sm text-violet-900 p-3",children:["This review uses ",e.jsx("strong",{children:"1 credit from your Salary Negotiator pool"})," - the same pool that powers section 2. Running the contract review is a separate charge from generating a counter-offer."]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-xs text-slate-500",children:'Get a "Things worth asking about" section flagging clauses like non-competes, long probation, vague equity vesting, or mandatory arbitration.'}),e.jsx(st,{value:ae,onChange:t=>Rt(t.target.value),placeholder:"Paste the full offer letter or employment agreement here…",rows:8,maxLength:6e4,className:"text-sm"}),e.jsx("p",{className:"text-[11px] text-slate-400",children:"Informational flagging only - not legal advice. We recommend a lawyer review anything flagged as a real concern."})]}),e.jsx("div",{className:"mt-6",children:e.jsx(q,{type:"submit",disabled:X||!x&&!d||ae.trim().length<40,className:"w-full md:w-auto bg-blue-600 hover:bg-blue-700 text-white font-semibold",children:X?e.jsxs(e.Fragment,{children:[e.jsx(ie,{className:"w-4 h-4 mr-2 animate-spin"})," Reviewing your contract…"]}):e.jsxs(e.Fragment,{children:[e.jsx(ee,{className:"w-4 h-4 mr-2"})," Review contract (1 credit)"]})})})]})}),e.jsx(at,{loading:Q,defaultMessage:"Building your counter-offer…",steps:[{label:"Analyzing your offer and market data",estimate:"~10 sec"},{label:"Building your counter-offer range",estimate:"~15 sec"},{label:"Writing your scripts and talking points",estimate:"~30 sec"},{label:"Finalizing objection responses",estimate:"~15 sec"}]}),e.jsx(at,{loading:X,defaultMessage:"Reviewing your contract…",steps:[{label:"Scanning the offer document",estimate:"~10 sec"},{label:"Flagging clauses worth asking about",estimate:"~20 sec"},{label:"Drafting questions to ask",estimate:"~10 sec"}]}),Ye&&e.jsx("div",{className:"mt-5 rounded-lg border border-rose-200 bg-rose-50 text-rose-800 text-sm p-3",children:Ye}),Je&&e.jsx("div",{className:"mt-5 rounded-lg border border-rose-200 bg-rose-50 text-rose-800 text-sm p-3",children:Je}),He&&e.jsx("div",{className:"mt-8",children:e.jsx(_s,{flags:He.red_flags})})]})]})})}function nt({title:n,subtitle:l,body:c,onCopy:d}){return e.jsxs("div",{className:"rounded-xl border border-slate-200 bg-white p-5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900",children:n}),l&&e.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:l})]}),e.jsxs(q,{type:"button",variant:"ghost",size:"sm",onClick:d,children:[e.jsx(Z,{className:"w-3.5 h-3.5 mr-1"})," Copy"]})]}),e.jsx("div",{className:"text-sm text-slate-700 whitespace-pre-wrap leading-relaxed",children:c})]})}function _s({flags:n}){return!n||n.length===0?e.jsx("div",{className:"rounded-xl border border-emerald-200 bg-emerald-50/70 p-5 text-sm text-emerald-900",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(ee,{className:"w-5 h-5 text-emerald-700 flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold",children:"No notable clauses flagged"}),e.jsx("div",{className:"text-xs text-emerald-800 mt-1",children:"We didn't find concerning patterns in the pasted document. This is informational flagging only - not legal advice."})]})]})}):e.jsxs("div",{className:"rounded-xl border-2 border-amber-300 bg-amber-50/60 p-5",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[e.jsx(ee,{className:"w-5 h-5 text-amber-700 flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-bold text-amber-900 uppercase tracking-wider",children:"Things worth asking about"}),e.jsx("p",{className:"text-xs text-amber-800 mt-0.5",children:"Informational flagging based on the offer document you pasted - not legal advice. We recommend a qualified employment lawyer review anything flagged here as a real concern before you sign."})]})]}),e.jsx("ul",{className:"space-y-4",children:n.map((l,c)=>{const d=l.severity,x=d==="high"?"bg-rose-100 text-rose-800 border-rose-200":d==="review"?"bg-amber-100 text-amber-800 border-amber-200":"bg-slate-100 text-slate-700 border-slate-200",i=d==="high"?"High":d==="review"?"Review":"Info";return e.jsxs("li",{className:"rounded-lg border border-amber-200 bg-white p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1.5",children:[e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-semibold ${x}`,children:[e.jsx(ot,{className:"w-3 h-3"}),i]}),e.jsx("span",{className:"text-sm font-semibold text-slate-900",children:l.clause}),e.jsx("span",{className:"text-[11px] text-slate-500 uppercase tracking-wider",children:l.category.replace(/_/g," ")})]}),l.quote&&e.jsxs("blockquote",{className:"mt-2 border-l-2 border-amber-300 pl-3 text-xs text-slate-600 italic",children:['"',l.quote,'"']}),e.jsx("div",{className:"mt-2 text-sm text-slate-700 leading-relaxed",children:l.why_it_matters}),e.jsxs("div",{className:"mt-2 text-sm text-slate-800",children:[e.jsx("span",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mr-1",children:"Ask:"}),l.question_to_ask]})]},c)})})]})}function Y(n,l,c){const d=n.trim();if(!d)return c.required?{value:null,error:`${l} is required - enter the amount you were offered.`}:{value:null};if(/-/.test(d))return{value:null,error:`${l} can't be negative.`};const x=/k$/i.test(d.replace(/[\s,$]/g,"")),i=d.replace(/[^0-9.]/g,"");if(!i||Number.isNaN(Number(i)))return{value:null,error:`${l} must be a number, like 85000.`};const j=Math.round(Number(i)*(x?1e3:1));return j<=0?c.required?{value:null,error:`${l} must be more than 0.`}:{value:null,error:`${l} must be more than 0 - or leave it blank.`}:j>1e8?{value:null,error:`${l} is larger than we can work with - check the amount.`}:{value:j}}function ce(n,l){const c=n instanceof Error?n.message:String(n??"");return/ZodError|Expected|Invalid|"code"|\[\s*\{/.test(c)?"Please check the amounts you entered and try again.":/JSON|token|stream|status \d{3}|fetch|network|at \w+\./i.test(c)||c.length>200?`${l} couldn't be completed this time. Please try again in a moment - if a credit was charged, it has been returned.`:c||`${l} couldn't be completed this time. Please try again in a moment.`}export{Ia as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.