1import{r as o,j as e,t as _e,i as Be,J as Oe,V as Ve,W as qe,k as S,L as T,f as Le}from"./index-DwjA3E1S.js";const Me="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit";let _=null;function Ke(){return typeof window<"u"&&window.turnstile?Promise.resolve():_||(_=new Promise((l,x)=>{const u=document.createElement("script");u.src=Me,u.async=!0,u.defer=!0,u.onload=()=>l(),u.onerror=()=>x(new Error("Failed to load Turnstile")),document.head.appendChild(u)}),_)}function Ye({siteKey:l,onToken:x,theme:u="auto"}){const d=o.useRef(null),y=o.useRef(null),c=o.useRef(x);return c.current=x,o.useEffect(()=>{let m=!1;return Ke().then(()=>{m||!d.current||!window.turnstile||(y.current=window.turnstile.render(d.current,{sitekey:l,callback:w=>c.current(w),"expired-callback":()=>c.current(""),"error-callback":()=>c.current(""),theme:u}))}).catch(()=>{}),()=>{if(m=!0,y.current&&window.turnstile){try{window.turnstile.remove(y.current)}catch{}y.current=null}}},[l,u]),e.jsx("div",{ref:d})}const Je="0x4AAAAAADX9dwHqgAbfguQY",$e=["signal_pro","solo","pro"],he="cs_signup_age_block",ye="cs_checkout_interval",He=1440*60*1e3;function Ue(){try{const l=Number(localStorage.getItem(he)||0);return l>0&&Date.now()-l<He}catch{return!1}}function Ge(){const l=new Date;return`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`}function Xe(){const{register:l,setSession:x}=_e(),u=Be(),[d]=Oe(),y=d.get("plan"),c=(()=>{if(!y)return null;const r=Ve(y);return $e.includes(r)?r:null})(),m=(()=>{const r=d.get("interval");if(r==="annual"||r==="monthly")return r;try{return localStorage.getItem(ye)==="annual"?"annual":"monthly"}catch{return"monthly"}})(),w=c?qe[c].displayName:null,k=d.get("notice");function b(){const r=d.get("mode");return r==="register"||r==="forgot"||r==="reset"||r==="verify"?r:"login"}const[i,B]=o.useState(b),E=d.get("token")??"",O=d.get("token")??"",[V,z]=o.useState("pending"),[H,D]=o.useState(""),[U,a]=o.useState(""),[G,R]=o.useState(""),[Q,P]=o.useState(()=>k==="verify-required"?"Verify your email before accessing your workspace.":""),[s,g]=o.useState(!1),[v,X]=o.useState(!1),[q,I]=o.useState(""),[p,Z]=o.useState(""),[L,ee]=o.useState(""),[re,M]=o.useState(!1),[j,K]=o.useState(""),[h,xe]=o.useState(""),[te,me]=o.useState(""),[W,Y]=o.useState(""),[oe,J]=o.useState(""),[$,ne]=o.useState(""),[ie,be]=o.useState(!1),[ae,ve]=o.useState(Ue),se=o.useId(),[we,le]=o.useState(""),[Se,ke]=o.useState(0),[de,je]=o.useState(""),[ce,Fe]=o.useState(!1),[A,Ce]=o.useState(""),[ue,Ee]=o.useState(""),[ge,Re]=o.useState(!1);function F(r){B(r),a(""),R("")}async function Pe(r){if(!c)return!1;const t=await S("/api/billing/checkout",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({plan:c,interval:m})}),n=await t.json().catch(()=>({}));if(!t.ok||!n.url)throw new Error(n.error??"Unable to start checkout.");return window.location.href=n.url,!0}async function pe(r,t){if(x(r,t),c&&t.planId==="free"){await Pe(r);return}const n=d.get("next"),C=n&&n.startsWith("/")&&!n.startsWith("//")?n:null,Ne=t.signupSource==="extension"?"/account":"/home";u(C||Ne,{replace:!0})}async function N(r){const t=(r==null?void 0:r.emailOverride)||q||p||h;if(!t){a("Enter your email first so we know where to resend the verification link.");return}a(""),R(""),P(""),X(!0);try{const n=await S("/api/auth/resend-verification",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:t})}),C=await n.json().catch(()=>({}));if(!n.ok)throw new Error(C.error??"Unable to resend verification email.");I(t),C.emailDelivered===!1?R(C.message??"We generated a new verification link, but email delivery is currently unavailable. Please contact support."):P(C.message??(r!=null&&r.auto?`We sent a fresh verification link to ${t}. Check your inbox (and spam folder) to finish signing in.`:"Verification email sent."))}catch(n){a(n instanceof Error?n.message:"Unable to resend verification email.")}finally{X(!1)}}o.useEffect(()=>{B(b())},[d]),o.useEffect(()=>{k==="verify-required"&&P("Verify your email before accessing your workspace.")},[k]),o.useEffect(()=>{if(i!=="verify")return;if(!O){z("error"),D("Missing verification token.");return}let r=!1;return(async()=>{try{const t=await S("/api/auth/verify-email",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:O})}),n=await t.json();if(r)return;t.ok?(z("success"),D(n.message??"Email verified.")):(z("error"),D(n.error??"Verification failed."))}catch(t){if(r)return;z("error"),D(t instanceof Error?t.message:"Verification failed.")}})(),()=>{r=!0}},[i,O]);async function Te(r){r.preventDefault(),a(""),g(!0);try{const t=await S("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:p,password:L})}),n=await t.json();if(!t.ok){if(n.code==="EMAIL_NOT_VERIFIED"){I(p),await N({auto:!0,emailOverride:p});return}throw new Error(n.error??"Login failed")}if(n.mfaRequired){M(!0);return}n.token&&n.user&&await pe(n.token,n.user)}catch(t){a(t instanceof Error?t.message:"Something went wrong")}finally{g(!1)}}async function fe(){a(""),g(!0);try{const r=await S("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:p,password:L,mfaCode:j})}),t=await r.json();if(!r.ok){if(t.code==="EMAIL_NOT_VERIFIED"){I(p),M(!1),K(""),await N({auto:!0,emailOverride:p});return}throw new Error(t.error??"Verification failed")}if(!t.token||!t.user)throw new Error("Verification succeeded but no session was returned");await pe(t.token,t.user)}catch(r){a(r instanceof Error?r.message:"Invalid code. Please try again.")}finally{g(!1)}}async function ze(r){if(r.preventDefault(),W!==oe){a("Passwords do not match");return}if(W.length<12){a("Password must be at least 12 characters");return}if(!$){a("Enter your date of birth.");return}if(!ie){a("Please agree to the Terms of Service and Privacy Policy to continue.");return}a(""),R(""),P(""),g(!0);try{const t=d.get("next")==="/connect-extension"||c==="signal_pro";if(c)try{localStorage.setItem(ye,m)}catch{}const n=await l(h,te,W,{turnstileToken:we,birthDate:$,acceptTerms:!0,source:t?"extension":"workspace"});I(h),Z(h),ee(""),Y(""),J(""),n.emailDelivered?P(`Check ${h} for your verification link. Youâll need to verify your email before starting ${w??"your workspace"} checkout.`):R(`Your account was created, but we couldnât deliver the verification email to ${h}. Email delivery is currently unavailable on the server â please contact support to finish verifying your account.`),B("login")}catch(t){if(t.code==="age_requirement"){try{localStorage.setItem(he,String(Date.now()))}catch{}ve(!0),ne(""),Y(""),J("");return}a(t instanceof Error?t.message:"Registration failed"),le(""),ke(n=>n+1)}finally{g(!1)}}async function De(r){r.preventDefault(),a(""),g(!0);try{const t=await S("/api/auth/forgot-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:de})});if(!t.ok){const n=await t.json();throw new Error(n.error??"Something went wrong")}Fe(!0)}catch(t){a(t instanceof Error?t.message:"Something went wrong")}finally{g(!1)}}async function Ie(r){if(r.preventDefault(),A!==ue){a("Passwords do not match");return}if(A.length<12){a("Password must be at least 12 characters");return}a(""),g(!0);try{const t=await S("/api/auth/reset-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:E,newPassword:A})}),n=await t.json();if(!t.ok)throw new Error(n.error??"Reset failed");Re(!0)}catch(t){a(t instanceof Error?t.message:"Reset failed")}finally{g(!1)}}const We=i==="login"?"Welcome back":i==="register"?"Create your account":i==="forgot"?"Reset your password":i==="verify"?"Email verification":"Set new password",Ae=i==="login"?"Sign in to your communications hub":i==="register"?"Get started with Clutterstrike":i==="forgot"?"Enter your email and we'll send a reset link":i==="verify"?"Confirming your email address":"Enter your new password below";return e.jsxs("div",{style:{minHeight:"100vh",background:"var(--bg-base)",display:"flex",flexDirection:"column"},children:[e.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"24px"},children:e.jsxs("div",{style:{width:"100%",maxWidth:400,background:"var(--bg-surface)",borderRadius:"var(--radius-lg)",border:"1px solid var(--border)",padding:"36px 32px",display:"flex",flexDirection:"column",gap:"22px"},children:[e.jsx(T,{to:"/",style:{alignSelf:"flex-start",fontSize:11,color:"var(--text-tertiary)",textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",marginBottom:"-6px"},children:"<- Home"}),e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx("img",{src:"/clutter-logo.svg",alt:"Clutterstrike",height:40,loading:"eager",decoding:"async",style:{height:40,width:"auto",display:"block"}})}),e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("h1",{style:{fontSize:20,fontWeight:600,color:"var(--text-primary)",margin:0},children:We}),e.jsx("p",{style:{fontSize:13,color:"var(--text-secondary)",marginTop:6,marginBottom:0},children:Ae})]}),(i==="login"||i==="register")&&e.jsx("div",{style:{display:"flex",background:"rgba(255,255,255,0.04)",borderRadius:"var(--radius-md)",padding:3,gap:2},children:["login","register"].map(r=>e.jsx("button",{onClick:()=>F(r),style:{flex:1,padding:"7px 12px",borderRadius:"6px",background:i===r?"rgba(255,255,255,0.1)":"transparent",border:i===r?"1px solid rgba(255,255,255,0.15)":"1px solid transparent",color:i===r?"var(--text-primary)":"var(--text-secondary)",fontSize:12,fontWeight:i===r?600:400,cursor:"pointer",transition:"all 0.12s ease",fontFamily:"inherit"},children:r==="login"?"Sign in":"Create account"},r))}),U&&e.jsx("div",{role:"alert",style:{padding:"10px 12px",background:"rgba(255, 80, 80, 0.1)",border:"1px solid rgba(255, 80, 80, 0.3)",borderRadius:"var(--radius-md)",fontSize:13,color:"#FF6B6B"},children:U}),Q&&e.jsxs("div",{role:"status",style:{padding:"10px 12px",background:"rgba(76, 175, 118, 0.1)",border:"1px solid rgba(76, 175, 118, 0.3)",borderRadius:"var(--radius-md)",fontSize:13,color:"#7fd7a2",display:"flex",flexDirection:"column",gap:10},children:[e.jsx("span",{children:Q}),(q||p||h)&&e.jsx("button",{type:"button",onClick:()=>void N(),disabled:v,style:{alignSelf:"flex-start",padding:"6px 10px",borderRadius:"var(--radius-md)",border:"1px solid rgba(127,215,162,0.35)",background:"transparent",color:"#b5f0cb",fontSize:12,cursor:v?"not-allowed":"pointer",opacity:v?.7:1,fontFamily:"inherit"},children:v?"Sending...":"Resend verification email"})]}),G&&e.jsxs("div",{role:"alert",style:{padding:"10px 12px",background:"rgba(245, 180, 60, 0.1)",border:"1px solid rgba(245, 180, 60, 0.35)",borderRadius:"var(--radius-md)",fontSize:13,color:"#f5c977",display:"flex",flexDirection:"column",gap:10},children:[e.jsx("span",{children:G}),(q||p||h)&&e.jsx("button",{type:"button",onClick:()=>void N(),disabled:v,style:{alignSelf:"flex-start",padding:"6px 10px",borderRadius:"var(--radius-md)",border:"1px solid rgba(245,180,60,0.45)",background:"transparent",color:"#ffd98a",fontSize:12,cursor:v?"not-allowed":"pointer",opacity:v?.7:1,fontFamily:"inherit"},children:v?"Sending...":"Try resending"})]}),w&&(i==="login"||i==="register")&&e.jsxs("div",{style:{padding:"10px 12px",background:"rgba(255,255,255,0.04)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",fontSize:12,color:"var(--text-secondary)"},children:["Selected plan: ",e.jsx("span",{style:{color:"var(--text-primary)",fontWeight:600},children:w})," (",m==="annual"?"annual billing":"monthly billing","). Weâll send you to secure checkout after sign-in."]}),i==="login"&&!re&&e.jsxs("form",{onSubmit:r=>void Te(r),style:{display:"flex",flexDirection:"column",gap:14},children:[e.jsx(f,{label:"Email",type:"email",value:p,onChange:Z,placeholder:"[email protected]",autoComplete:"username",required:!0}),e.jsx(f,{label:"Password",type:"password",value:L,onChange:ee,placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢",autoComplete:"current-password",required:!0}),e.jsx("button",{type:"button",onClick:()=>F("forgot"),style:{alignSelf:"flex-end",background:"none",border:"none",fontSize:12,color:"var(--text-tertiary)",cursor:"pointer",padding:"0 0 2px",marginTop:-8,fontFamily:"inherit"},children:"Forgot password?"}),e.jsx("button",{type:"submit",disabled:s,style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:s?"not-allowed":"pointer",opacity:s?.6:1,transition:"opacity 0.15s ease",letterSpacing:"0.2px",border:"none",fontFamily:"inherit"},children:s?"Signing in...":"Sign in"})]}),i==="login"&&re&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Two-Factor Authentication"}),e.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:0},children:"Enter the 6-digit code from your authenticator app"})]}),e.jsx("input",{type:"text",inputMode:"numeric",maxLength:6,value:j,onChange:r=>K(r.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"000000",autoFocus:!0,style:{padding:"12px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",fontSize:24,color:"var(--text-primary)",outline:"none",textAlign:"center",fontFamily:"monospace",letterSpacing:"6px"},onFocus:r=>{r.target.style.borderColor="rgba(255,255,255,0.4)"},onBlur:r=>{r.target.style.borderColor="var(--border)"},onKeyDown:r=>{r.key==="Enter"&&j.length===6&&fe()}}),e.jsx("button",{onClick:()=>void fe(),disabled:s||j.length!==6,style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:s||j.length!==6?"not-allowed":"pointer",opacity:s||j.length!==6?.6:1,border:"none",fontFamily:"inherit"}
1,children:s?"Verifying...":"Verify"}),e.jsx("button",{onClick:()=>{M(!1),K(""),a("")},style:{background:"none",border:"none",color:"var(--text-tertiary)",fontSize:12,cursor:"pointer",padding:"4px 0",fontFamily:"inherit"},children:"Back to sign in"})]}),i==="register"&&ae&&e.jsxs("div",{role:"status",style:{display:"flex",flexDirection:"column",gap:10,fontSize:14,lineHeight:1.5,color:"var(--text-secondary)"},children:[e.jsx("p",{style:{margin:0,color:"var(--text-primary)",fontWeight:600},children:"We canât create an account for you."}),e.jsxs("p",{style:{margin:0},children:["Clutterstrike accounts are for people 16 and older. See our ",e.jsx(T,{to:"/terms",style:{color:"var(--text-primary)"},children:"Terms"})," and"," ",e.jsx(T,{to:"/privacy",style:{color:"var(--text-primary)"},children:"Privacy Policy"}),"."]})]}),i==="register"&&!ae&&e.jsxs("form",{onSubmit:r=>void ze(r),style:{display:"flex",flexDirection:"column",gap:14},children:[e.jsx(f,{label:"Full name",type:"text",value:te,onChange:me,placeholder:"Your Name",autoComplete:"name",required:!0}),e.jsx(f,{label:"Email",type:"email",value:h,onChange:xe,placeholder:"[email protected]",autoComplete:"email",required:!0}),e.jsx(f,{label:"Password",type:"password",value:W,onChange:Y,placeholder:"Min 12 characters",autoComplete:"new-password",required:!0}),e.jsx(f,{label:"Confirm password",type:"password",value:oe,onChange:J,placeholder:"Repeat password",autoComplete:"new-password",required:!0}),e.jsx(f,{label:"Date of birth",type:"date",value:$,onChange:ne,autoComplete:"bday",max:Ge(),required:!0}),e.jsxs("div",{style:{display:"flex",gap:10,alignItems:"flex-start",fontSize:13,lineHeight:1.5,color:"var(--text-secondary)"},children:[e.jsx("input",{id:se,type:"checkbox",checked:ie,onChange:r=>be(r.target.checked),required:!0,style:{width:18,height:18,marginTop:2,flex:"none"}}),e.jsxs("label",{htmlFor:se,children:["I agree to the"," ",e.jsx(T,{to:"/terms",target:"_blank",rel:"noopener",style:{color:"var(--text-primary)"},children:"Terms of Service"})," ","and"," ",e.jsx(T,{to:"/privacy",target:"_blank",rel:"noopener",style:{color:"var(--text-primary)"},children:"Privacy Policy"}),"."]})]}),e.jsx(Ye,{siteKey:Je,onToken:le},Se),e.jsx("button",{type:"submit",disabled:s,style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:s?"not-allowed":"pointer",opacity:s?.6:1,transition:"opacity 0.15s ease",letterSpacing:"0.2px",border:"none",marginTop:4,fontFamily:"inherit"},children:s?"Creating account...":"Create account"})]}),i==="forgot"&&!ce&&e.jsxs("form",{onSubmit:r=>void De(r),style:{display:"flex",flexDirection:"column",gap:14},children:[e.jsx(f,{label:"Email",type:"email",value:de,onChange:je,placeholder:"[email protected]",autoComplete:"email",required:!0}),e.jsx("button",{type:"submit",disabled:s,style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:s?"not-allowed":"pointer",opacity:s?.6:1,border:"none",fontFamily:"inherit"},children:s?"Sending...":"Send reset link"}),e.jsx("button",{type:"button",onClick:()=>F("login"),style:{background:"none",border:"none",color:"var(--text-tertiary)",fontSize:12,cursor:"pointer",padding:"4px 0",fontFamily:"inherit"},children:"Back to sign in"})]}),i==="forgot"&&ce&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsx("div",{style:{padding:"12px 14px",background:"rgba(60, 200, 120, 0.1)",border:"1px solid rgba(60, 200, 120, 0.25)",borderRadius:"var(--radius-md)",fontSize:13,color:"#4cd891",fontWeight:500},children:"If that email is registered, a reset link has been sent."}),e.jsx("button",{type:"button",onClick:()=>F("login"),style:{background:"none",border:"none",color:"var(--text-tertiary)",fontSize:12,cursor:"pointer",padding:"4px 0",fontFamily:"inherit"},children:"Back to sign in"})]}),i==="reset"&&!ge&&e.jsxs("form",{onSubmit:r=>void Ie(r),style:{display:"flex",flexDirection:"column",gap:14},children:[!E&&e.jsx("div",{style:{padding:"10px 12px",background:"rgba(255, 80, 80, 0.1)",border:"1px solid rgba(255, 80, 80, 0.3)",borderRadius:"var(--radius-md)",fontSize:13,color:"#FF6B6B"},children:"Invalid or missing reset token. Please request a new reset link."}),e.jsx(f,{label:"New password",type:"password",value:A,onChange:Ce,placeholder:"Min 12 characters",autoComplete:"new-password",required:!0}),e.jsx(f,{label:"Confirm new password",type:"password",value:ue,onChange:Ee,placeholder:"Repeat password",autoComplete:"new-password",required:!0}),e.jsx("button",{type:"submit",disabled:s||!E,style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:s||!E?"not-allowed":"pointer",opacity:s||!E?.6:1,border:"none",fontFamily:"inherit"},children:s?"Resetting...":"Set new password"})]}),i==="verify"&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[V==="pending"&&e.jsx("div",{style:{padding:"12px 14px",background:"rgba(255,255,255,0.05)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",fontSize:13,color:"var(--text-secondary)",textAlign:"center"},children:"Verifying your email..."}),V==="success"&&e.jsx("div",{style:{padding:"12px 14px",background:"rgba(60, 200, 120, 0.1)",border:"1px solid rgba(60, 200, 120, 0.25)",borderRadius:"var(--radius-md)",fontSize:13,color:"#4cd891",fontWeight:500},children:H||"Email verified."}),V==="error"&&e.jsx("div",{style:{padding:"12px 14px",background:"rgba(255, 80, 80, 0.1)",border:"1px solid rgba(255, 80, 80, 0.3)",borderRadius:"var(--radius-md)",fontSize:13,color:"#FF6B6B"}
1,children:H||"Verification link is invalid or has expired."}),e.jsx("button",{type:"button",onClick:()=>F("login"),style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:"pointer",border:"none",fontFamily:"inherit"},children:"Continue to sign in"})]}),i==="reset"&&ge&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsx("div",{style:{padding:"12px 14px",background:"rgba(60, 200, 120, 0.1)",border:"1px solid rgba(60, 200, 120, 0.25)",borderRadius:"var(--radius-md)",fontSize:13,color:"#4cd891",fontWeight:500},children:"Password reset successfully. You can now sign in with your new password."}),e.jsx("button",{type:"button",onClick:()=>F("login"),style:{padding:"10px 16px",borderRadius:"var(--radius-md)",background:"#FFFFFF",color:"#000000",fontWeight:700,fontSize:14,cursor:"pointer",border:"none",fontFamily:"inherit"},children:"Sign in"})]})]})}),e.jsx(Le,{})]})}function f({label:l,type:x,value:u,onChange:d,placeholder:y,autoComplete:c,required:m,max:w}){const k=o.useId();return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[e.jsx("label",{htmlFor:k,style:{fontSize:12,fontWeight:500,color:"var(--text-secondary)"},children:l}),e.jsx("input",{id:k,type:x,value:u,onChange:b=>d(b.target.value),placeholder:y,autoComplete:c,required:m,max:w,style:{padding:"9px 12px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",fontSize:14,color:"var(--text-primary)",outline:"none",transition:"border-color 0.15s ease"},onFocus:b=>{b.target.style.borderColor="rgba(255,255,255,0.4)"},onBlur:b=>{b.target.style.borderColor="var(--border)"}})]})}export{Xe as LoginPage};
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.