diff --git a/dist/assets/index-50E0dQjK.css b/dist/assets/index-50E0dQjK.css deleted file mode 100644 index 86c76c9..0000000 --- a/dist/assets/index-50E0dQjK.css +++ /dev/null @@ -1 +0,0 @@ -:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}body{margin:0;min-width:320px}::selection{background:#99f6e4;color:#134e4a}button,input,textarea,select{font-family:inherit}.auth-page{position:relative;min-height:100vh;background:#ecf0f0;color:#1f2937;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.auth-page *{box-sizing:border-box}.orb{position:fixed;border-radius:999px;pointer-events:none;z-index:0}.orb-1{top:-10%;left:-10%;width:50vw;height:50vw;background:#2dd4bf4d;filter:blur(120px)}.orb-2{right:-10%;bottom:-10%;width:60vw;height:60vw;background:#67e8f966;filter:blur(150px)}.orb-3{top:30%;right:20%;width:30vw;height:30vw;background:#34d39933;filter:blur(100px)}.auth-logo-wrap{position:absolute;top:32px;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px}.auth-logo-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#0f766e,#06b6d4);box-shadow:0 12px 22px #0d94884d}.auth-logo-text{font-size:1.25rem;font-weight:500;letter-spacing:-.03em}.auth-card{width:min(420px,100%);position:relative;z-index:5;border-radius:32px;padding:32px;background:#fff9;border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #0000000a}.auth-view{display:grid;gap:24px}.view-enter{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-head{display:grid;gap:8px}.auth-head-center{text-align:center}.auth-head h1{margin:0;font-size:1.55rem;font-weight:500;letter-spacing:-.03em;color:#111827}.auth-head p{margin:0;color:#6b7280;font-size:.9rem;line-height:1.5}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:7px}.auth-field span{font-size:.88rem;font-weight:500;color:#374151;padding-left:4px}.auth-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-field input{width:100%;border:1px solid rgba(255,255,255,.75);border-radius:12px;padding:10px 14px 10px 40px;background:#ffffff8c;color:#111827;font-size:.9rem;outline:none;box-shadow:0 1px 2px #0f172a0f;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.auth-field input::placeholder{color:#9ca3af}.auth-field input:focus{border-color:#14b8a680;box-shadow:0 0 0 3px #14b8a62e,0 6px 18px #0d948814;background:#ffffffd9}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);width:18px;height:18px;border-radius:999px;display:grid;place-items:center;color:#9ca3af;pointer-events:none}.auth-input-icon svg{width:16px;height:16px;display:block}.location-suggestions{margin-top:8px;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffffd1;box-shadow:0 10px 24px #0f172a14;overflow:hidden;max-height:180px;overflow-y:auto}.location-suggestion-item{width:100%;border:0;border-bottom:1px solid rgba(229,231,235,.7);background:transparent;padding:10px 12px;text-align:left;color:#374151;font-size:.86rem;cursor:pointer}.location-suggestion-item:last-child{border-bottom:0}.location-suggestion-item:hover{background:#14b8a61a;color:#115e59}.check-row{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:.9rem}.submit-btn{margin-top:2px;width:100%;border:0;border-radius:12px;padding:10px 14px;font-size:.9rem;font-weight:600;color:#fff;background:#111827;cursor:pointer;transition:background .2s ease}.submit-btn:hover:not(:disabled){background:#1f2937}.submit-btn:disabled{opacity:.65;cursor:default}.auth-foot{margin:0;text-align:center;font-size:.9rem;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.link-btn{border:0;background:transparent;color:#0f766e;font-weight:500;cursor:pointer;padding:0}.link-btn:hover{color:#115e59}.back-link{justify-self:start;font-size:.8rem}.status{margin:18px 0 0;border-radius:12px;padding:10px 12px;font-size:.88rem}.status.success{background:#10b9811f;color:#047857}.status.error{background:#ef44441f;color:#b91c1c}@media(max-width:520px){.auth-card{padding:24px 20px;border-radius:24px}}.dash-root{min-height:100vh;display:flex;background:#ecf0f0;color:#1f2937;overflow:hidden;position:relative}.dash-root *{box-sizing:border-box}.dash-orb{position:fixed;border-radius:999px;pointer-events:none;z-index:0}.dash-orb-1{top:-10%;left:-10%;width:50vw;height:50vw;background:#2dd4bf4d;filter:blur(120px)}.dash-orb-2{right:-10%;bottom:-10%;width:60vw;height:60vw;background:#67e8f966;filter:blur(150px)}.dash-orb-3{top:30%;right:20%;width:30vw;height:30vw;background:#34d39933;filter:blur(100px)}.dash-sidebar{width:256px;margin:24px 0 24px 24px;height:calc(100vh - 48px);padding:24px;background:#ffffff6b;border:1px solid rgba(255,255,255,.6);border-radius:32px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 30px #0000000a;display:flex;flex-direction:column;gap:18px;z-index:2;flex-shrink:0}.dash-mobile-menu-btn,.dash-mobile-overlay{display:none}.dash-mobile-menu-btn{border:1px solid rgba(229,231,235,.82);background:#ffffffbf;width:40px;height:40px;border-radius:12px;color:#111827;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dash-logo-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-left:8px}.dash-logo-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#0f766e,#06b6d4);box-shadow:0 10px 22px #0d948847}.dash-logo-text{font-size:1.25rem;font-weight:500;letter-spacing:-.03em}.dash-nav{display:grid;gap:6px;flex:1;align-content:start}.dash-nav-item{border:0;background:transparent;min-height:50px;border-radius:18px;display:flex;align-items:center;gap:12px;color:#6b7280;padding:0 16px;position:relative;cursor:pointer;text-align:left;font-size:1rem;font-weight:400;transition:.2s ease}.dash-nav-item:hover{background:#ffffff59;color:#111827}.dash-nav-item.active{background:#ffffffa8;color:#0f766e;border:1px solid rgba(255,255,255,.82);box-shadow:0 6px 14px #0f172a08;font-weight:500}.dash-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:999px;background:#0ea5a4}.dash-nav-icon{display:grid;place-items:center}.dash-nav-icon.accent{color:#0f766e}.dash-nav-label{white-space:nowrap}.dash-nav-divider{height:1px;margin:6px 16px;background:#ffffff8c}.dash-nav-badge{margin-left:auto;width:20px;height:20px;border-radius:999px;font-size:.7rem;display:grid;place-items:center;color:#fff;background:#06b6d4}.dash-nav-dot{margin-left:auto;width:7px;height:7px;border-radius:999px;background:#10b981;box-shadow:0 0 8px #10b981cc}.dash-sidebar-pro{margin-top:auto;border-radius:18px;border:1px solid rgba(20,184,166,.2);background:linear-gradient(135deg,#14b8a614,#06b6d414);padding:14px;position:relative;overflow:hidden;text-align:center}.dash-sidebar-pro svg{color:#0f766e;margin:0 auto 8px;position:relative;z-index:1}.dash-sidebar-pro-glow{position:absolute;top:-22px;right:-22px;width:88px;height:88px;border-radius:999px;background:#14b8a633;filter:blur(20px)}.dash-sidebar-pro h4{position:relative;z-index:1;margin:0 0 4px;font-size:.86rem}.dash-sidebar-pro p{position:relative;z-index:1;margin:0;color:#6b7280;font-size:.76rem}.dash-main{flex:1;margin:24px 24px 24px 32px;height:calc(100vh - 48px);overflow-y:auto;padding-right:8px;z-index:1}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#14b8a633;border-radius:20px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#14b8a666}.dash-topbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:28px;padding-top:8px;position:relative;z-index:5}.dash-topbar-actions{display:inline-flex;align-items:center;gap:8px}.dash-theme-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;color:#111827;cursor:pointer;font-size:.75rem;font-weight:500}.dash-theme-btn:hover{background:#ffffffd6}.dash-profile-wrap{position:relative}.dash-profile-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:6px 12px 6px 6px;display:flex;align-items:center;gap:8px;color:#111827;cursor:pointer}.dash-profile-avatar{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.8);object-fit:cover}.dash-profile-avatar-fallback{background:linear-gradient(135deg,#0f766e,#06b6d4);display:grid;place-items:center;color:#fff;font-size:.86rem;font-weight:600}.dash-profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#ffffffd1;border:1px solid rgba(255,255,255,.82);border-radius:16px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 10px 36px #0000001a;padding:8px;opacity:0;visibility:hidden;transform:scale(.96);transform-origin:top right;transition:.18s ease}.dash-profile-wrap:hover .dash-profile-menu,.dash-profile-wrap:focus-within .dash-profile-menu{opacity:1;visibility:visible;transform:scale(1)}.dash-profile-menu button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:8px;border-radius:10px;padding:9px 10px;color:#4b5563;cursor:pointer}.dash-profile-menu button:hover{background:#ffffffe6;color:#111827}.dash-profile-menu .danger{color:#e11d48}.dash-profile-divider{height:1px;background:#d1d5dbcc;margin:6px 0}.dash-welcome{margin-bottom:28px}.dash-welcome h1{margin:0;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.dash-welcome p{margin:8px 0 0;color:#6b7280}.dash-loading{margin:0 0 14px;color:#6b7280}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding-bottom:24px}.dash-grid-main,.dash-grid-side{display:grid;gap:24px;align-content:start}.dash-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.dash-card:hover{transform:translateY(-1px);box-shadow:0 12px 34px #0f172a0f}.dash-card h2,.dash-card h3,.dash-card h4,.dash-card p{margin:0}.dash-card-head{margin-bottom:16px}.dash-card-head-inline{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-card-head h2{font-size:1.15rem;font-weight:500;letter-spacing:-.01em}.dash-job-list,.dash-message-list,.dash-sim-list,.dash-ai-list,.dash-agent-list{display:grid;gap:10px}.dash-job-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;background:#ffffff80;border:1px solid rgba(255,255,255,.72);transition:.2s ease;cursor:pointer}.dash-job-item:hover{background:#fffc;box-shadow:0 4px 14px #0f172a0f}.dash-job-item:focus-visible{outline:2px solid rgba(20,184,166,.45);outline-offset:2px}.dash-job-left{display:flex;align-items:center;gap:10px;min-width:0}.dash-company-chip{width:40px;height:40px;border-radius:12px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:600;flex-shrink:0}.dash-job-item h4{font-size:.95rem;margin-bottom:2px}.dash-job-item p{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-job-arrow-btn{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;display:grid;place-items:center;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.dash-job-item:hover .dash-job-arrow-btn{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.dash-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dash-message-item,.dash-sim-item,.dash-agent-item{border-radius:14px;padding:10px;background:#ffffff75;border:1px solid rgba(255,255,255,.68);transition:.2s ease}.dash-message-item{display:flex;align-items:center;gap:10px}.dash-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#14b8a633,#06b6d433);color:#0f766e;font-size:.76rem;font-weight:700;flex-shrink:0}.dash-message-item h4{font-size:.84rem;margin-bottom:1px}.dash-message-item p{color:#6b7280;font-size:.76rem}.dash-message-item:hover{background:#fffc}.dash-sim-item{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;cursor:pointer}.dash-sim-item:hover{background:#ffffffd1}.dash-sim-left{display:flex;align-items:center;gap:10px}.dash-sim-left h4{margin:0;font-size:.84rem;font-weight:500}.dash-sim-left p{margin:0;color:#6b7280;font-size:.74rem}.dash-sim-icon{width:36px;height:36px;border-radius:10px;border:1px solid transparent;display:grid;place-items:center;flex-shrink:0}.dash-sim-icon.teal{background:#ecfdf5;border-color:#ccfbf1;color:#0f766e}.dash-sim-icon.purple{background:#f5f3ff;border-color:#ede9fe;color:#7c3aed}.dash-sim-icon.amber{background:#fffbeb;border-color:#fef3c7;color:#d97706}.dash-sim-icon.blue{background:#eff6ff;border-color:#dbeafe;color:#2563eb}.dash-sim-icon.gray{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.dash-sim-right{text-align:right}.dash-sim-item strong{color:#059669;font-size:.8rem;display:block;margin-bottom:4px}.dash-sim-item strong.warn{color:#d97706}.dash-sim-item strong.na{color:#6b7280}.dash-progress{width:64px;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.dash-progress span{display:block;height:100%;border-radius:inherit;background:#10b981}.dash-progress span.warn{background:#f59e0b}.dash-ai-card{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;position:relative;overflow:hidden;border-radius:24px;box-shadow:0 20px 32px -10px #14b8a638}.dash-ai-card:hover{transform:none;box-shadow:0 20px 32px -10px #14b8a638}.dash-ai-content{position:relative;z-index:10}.dash-ai-peel{position:absolute;top:-14px;right:-14px;width:96px;height:96px;border-bottom-left-radius:48px;border-top-right-radius:28px;background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);box-shadow:-10px 10px 20px #0000001a;transform-origin:top right;transition:transform .2s ease}.dash-ai-card-group:hover .dash-ai-peel{transform:scale(1.08)}.dash-ai-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.dash-ai-head svg{color:#ccfbf1}.dash-ai-card h3{font-size:1.125rem;margin-bottom:0;font-weight:500;letter-spacing:-.01em}.dash-ai-card p{color:#ccfbf1;margin-bottom:24px;font-size:.875rem;font-weight:400}.dash-ai-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.dash-ai-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:background-color .2s ease}.dash-ai-item:hover{background:#fff3}.dash-ai-item-icon{margin-top:2px;width:24px;height:24px;border-radius:999px;border:0;background:#fff3;display:grid;place-items:center;flex-shrink:0}.dash-ai-item strong{display:block;font-size:.875rem;margin-bottom:2px;color:#fff;font-weight:500}.dash-ai-item small{display:block;font-size:.75rem;color:#ccfbf1;line-height:1.4}.dash-ai-card button{width:100%;margin-top:16px;border:0;border-radius:12px;padding:10px 12px;font-size:.875rem;font-weight:500;color:#0f766e;background:#fff;cursor:pointer;box-shadow:0 1px 2px #0f172a1f;transition:background-color .2s ease}.dash-ai-card button:hover{background:#f0fdfa}.dash-ai-xl-only{display:none}.dash-agent-item span{display:block;font-size:.84rem;font-weight:500}.dash-agent-item small{display:inline-flex;align-items:center;gap:4px;color:#6b7280;font-size:.75rem}.dash-agent-item{display:flex;align-items:center;justify-content:space-between}.dash-agent-item:hover{background:#ffffffd1}.dash-agent-item.muted{opacity:.72}.dash-agent-item.muted:hover{opacity:1}.dash-switch{position:relative;width:38px;height:22px;display:inline-block;flex-shrink:0}.dash-switch input{position:absolute;opacity:0;inset:0}.dash-switch span{position:absolute;inset:0;background:#d1d5db;border-radius:999px;transition:.2s ease}.dash-switch span:after{content:"";position:absolute;width:16px;height:16px;border-radius:999px;background:#fff;top:3px;left:3px;transition:.2s ease;box-shadow:0 1px 2px #0f172a33}.dash-switch input:checked+span{background:#14b8a6}.dash-switch input:checked+span:after{transform:translate(16px)}.dash-icon-btn{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#4b5563;display:grid;place-items:center;cursor:pointer;transition:.2s ease}.dash-icon-btn:hover{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.dash-outline-btn{width:100%;margin-top:10px;border:1px dashed rgba(156,163,175,.6);background:transparent;border-radius:10px;padding:10px;color:#6b7280;cursor:pointer;transition:.2s ease}.dash-outline-btn:hover{border-color:#4b556399;color:#1f2937}.dash-muted{color:#6b7280;font-size:.82rem}.theme-dark.dash-root{background:#0a0a0a;color:#d1d5db}.theme-dark .dash-orb-1{background:#14b8a61a}.theme-dark .dash-orb-2{background:#06b6d41a}.theme-dark .dash-orb-3{background:#10b9811a}.theme-dark .dash-sidebar{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 8px 30px #0003}.theme-dark .dash-mobile-menu-btn{border-color:#ffffff14;background:#ffffff0f;color:#f3f4f6}.theme-dark .dash-logo-text,.theme-dark .dash-welcome h1,.theme-dark .dash-card h2,.theme-dark .dash-card h3,.theme-dark .dash-card h4{color:#fff}.theme-dark .dash-nav-item{color:#9ca3af}.theme-dark .dash-nav-item:hover{background:#ffffff0d;color:#f3f4f6}.theme-dark .dash-nav-item.active{background:#ffffff1a;border-color:#ffffff14;color:#2dd4bf}.theme-dark .dash-nav-divider,.theme-dark .dash-sidebar-pro p,.theme-dark .dash-welcome p,.theme-dark .dash-loading,.theme-dark .dash-muted{color:#9ca3af}.theme-dark .dash-sidebar-pro{background:linear-gradient(135deg,#14b8a61a,#06b6d40d);border-color:#14b8a633}.theme-dark .dash-topbar .dash-theme-btn,.theme-dark .dash-profile-btn{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .dash-topbar .dash-theme-btn:hover,.theme-dark .dash-profile-btn:hover{background:#ffffff14}.theme-dark .dash-profile-menu{background:#12141af2;border-color:#ffffff1a}.theme-dark .dash-profile-menu button{color:#d1d5db}.theme-dark .dash-profile-menu button:hover{background:#ffffff0d;color:#fff}.theme-dark .dash-card:not(.dash-ai-card){background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.theme-dark .dash-ai-card{background:linear-gradient(135deg,#14b8a6,#06b6d4);border-color:#ffffff26;box-shadow:0 20px 32px -10px #14b8a638}.theme-dark .dash-job-item,.theme-dark .dash-message-item,.theme-dark .dash-sim-item,.theme-dark .dash-agent-item{background:#ffffff05;border-color:#ffffff0d}.theme-dark .dash-job-item:hover,.theme-dark .dash-message-item:hover,.theme-dark .dash-sim-item:hover,.theme-dark .dash-agent-item:hover{background:#ffffff0d;border-color:#ffffff1a}.theme-dark .dash-job-item p,.theme-dark .dash-message-item p,.theme-dark .dash-sim-left p,.theme-dark .dash-agent-item small{color:#9ca3af}.theme-dark .dash-job-arrow-btn,.theme-dark .dash-icon-btn{border-color:#ffffff1a;background:#ffffff0d;color:#6b7280}.theme-dark .dash-job-item:hover .dash-job-arrow-btn,.theme-dark .dash-icon-btn:hover{background:#14b8a61a;color:#2dd4bf;border-color:#14b8a64d}.theme-dark .dash-company-chip{background:#1f2937;border:1px solid rgba(255,255,255,.08)}.theme-dark .dash-progress{background:#ffffff1a}@media(max-width:1200px){.dash-grid{grid-template-columns:1fr}}@media(max-width:980px){.dash-main{padding-right:0}.dash-split-grid{grid-template-columns:1fr}}@media(max-width:1000px){.dash-main{margin:64px 16px 16px;height:calc(100vh - 80px);padding-right:0}.dash-mobile-menu-btn{display:inline-flex;position:fixed;top:14px;left:14px;z-index:60}.dash-mobile-overlay{display:block;position:fixed;inset:0;z-index:49;border:0;margin:0;padding:0;background:#02061757;opacity:0;pointer-events:none;transition:opacity .2s ease}.dash-mobile-overlay.open{opacity:1;pointer-events:auto}.dash-sidebar{position:fixed;top:0;left:0;margin:0;width:min(320px,calc(100vw - 28px));height:100vh;border-radius:0 24px 24px 0;transform:translate(-110%);transition:transform .24s ease;z-index:50}.dash-sidebar.open{transform:translate(0)}}@media(min-width:1280px){.dash-ai-xl-only{display:flex}}.ai-agent-main{display:flex;flex-direction:column}.ai-head{margin-bottom:20px}.ai-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.ai-head p{margin:0;color:#6b7280;font-size:1.05rem}.theme-dark .ai-head h1,.theme-dark .ai-head p,.theme-dark .ai-jobs-head h3,.theme-dark .ai-agents-section h3,.theme-dark .ai-create-title h2{color:#fff}.theme-dark .ai-head p,.theme-dark .ai-jobs-head span,.theme-dark .ai-agent-chip-left p,.theme-dark .ai-job-title-wrap p,.theme-dark .ai-job-bottom span{color:#9ca3af}.ai-create-card{margin-bottom:26px;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px}.theme-dark .ai-create-card,.theme-dark .ai-agent-chip-card,.theme-dark .ai-job-card{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.ai-create-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.ai-create-icon{width:40px;height:40px;border-radius:999px;background:#f0fdfa;border:1px solid #ccfbf1;color:#0f766e;display:grid;place-items:center}.ai-create-title h2{margin:0;font-size:1.2rem;font-weight:500}.ai-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.ai-field{display:grid;gap:6px}.ai-field label{margin-left:4px;font-size:.83rem;font-weight:500;color:#374151}.theme-dark .ai-field label,.theme-dark .ai-distance-head label{color:#d1d5db}.ai-field input,.ai-field select{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffff80;padding:10px 12px;font-size:.84rem;color:#111827}.theme-dark .ai-field input,.theme-dark .ai-field select,.theme-dark .ai-location-wrap input{background:#ffffff08;border-color:#ffffff14;color:#f3f4f6}.ai-field input:focus,.ai-field select:focus{outline:none;border-color:#2dd4bfe6;box-shadow:0 0 0 4px #14b8a61a}.ai-location-wrap{position:relative}.ai-location-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af}.ai-location-wrap input{padding-left:34px}.ai-distance-field{align-content:center}.ai-distance-head{display:flex;align-items:center;justify-content:space-between}.ai-distance-head span{font-size:.72rem;color:#0f766e;border:1px solid #ccfbf1;border-radius:8px;background:#f0fdfa;padding:3px 8px;font-weight:500}.ai-distance-field input[type=range]{appearance:none;width:100%;height:6px;border-radius:999px;background:#ffffffd9;border:1px solid rgba(255,255,255,.9)}.ai-distance-field input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:#14b8a6;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0000001a}.ai-distance-field input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#14b8a6;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0000001a}.ai-create-actions{margin-top:20px;display:flex;justify-content:flex-end}.ai-create-actions button{border:0;border-radius:12px;background:#111827;color:#fff;padding:10px 16px;font-size:.84rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.ai-create-actions button:hover{background:#1f2937}.theme-dark .ai-create-actions button{background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.ai-agents-section{margin-bottom:20px}.ai-agents-section h3{margin:0 0 10px;padding-left:4px;font-size:1.08rem;font-weight:500}.ai-agents-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.ai-agent-chip-card{min-width:280px;background:#ffffffb8;border:1px solid rgba(255,255,255,.82);border-radius:16px;padding:14px;position:relative;overflow:hidden}.ai-agent-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-agent-chip-left{display:flex;align-items:center;gap:8px}.ai-agent-mini-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff}.ai-agent-mini-icon.teal{background:#14b8a6}.ai-agent-mini-icon.indigo{background:#6366f1}.ai-agent-chip-left h4{margin:0;font-size:.84rem;font-weight:500}.ai-agent-chip-left p{margin:1px 0 0;font-size:.72rem;color:#6b7280}.ai-toggle{width:40px;height:20px;border-radius:999px;border:1px solid rgba(156,163,175,.3);background:#d1d5db;padding:0;position:relative;cursor:pointer}.ai-toggle span{width:14px;height:14px;border-radius:999px;background:#fff;position:absolute;left:2px;top:2px;transition:transform .2s ease}.ai-toggle.on{background:#14b8a6}.ai-toggle.on span{transform:translate(20px)}.ai-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.ai-tags span{font-size:.68rem;color:#4b5563;border-radius:8px;background:#fff;border:1px solid rgba(229,231,235,.85);padding:3px 8px}.theme-dark .ai-agent-chip-left h4,.theme-dark .ai-job-title-wrap h4{color:#fff}.theme-dark .ai-tags span,.theme-dark .ai-job-tags span{color:#d1d5db;background:#ffffff0d;border-color:#ffffff1a}.ai-jobs-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-jobs-head h3{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:1.08rem;font-weight:500}.ai-jobs-head h3 svg{color:#14b8a6}.ai-jobs-head span{color:#6b7280;font-size:.7rem;border-radius:8px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:5px 8px}.ai-jobs-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:10px}.ai-job-card{position:relative;overflow:hidden;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:22px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 24px #00000008;padding:16px;display:flex;flex-direction:column;cursor:pointer}.ai-job-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #0f172a12}.ai-job-card:focus-visible{outline:2px solid rgba(20,184,166,.45);outline-offset:2px}.ai-job-rail{position:absolute;top:0;right:0;width:8px;height:100%}.ai-job-rail.teal{background:#14b8a633}.ai-job-rail.indigo{background:#6366f133}.ai-job-top{padding-right:10px;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.ai-company-logo,.ai-company-logo-fallback{width:46px;height:46px;border-radius:10px;object-fit:cover;border:1px solid rgba(229,231,235,.85);background:#fff}.ai-company-logo-fallback{display:grid;place-items:center;color:#111827;font-weight:600}.ai-match-col{display:grid;justify-items:end;gap:4px}.ai-match-pill{display:inline-flex;align-items:center;gap:4px;border-radius:8px;border:1px solid #ccfbf1;background:#f0fdfa;color:#0f766e;padding:4px 8px;font-size:.7rem;font-weight:500}.ai-match-col small{font-size:.62rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.ai-job-title-wrap{margin-bottom:10px}.ai-job-title-wrap h4{margin:0;font-size:.94rem;font-weight:500;color:#111827}.ai-job-title-wrap p{margin:2px 0 0;color:#6b7280;font-size:.78rem}.ai-job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ai-job-tags span{font-size:.66rem;color:#4b5563;border:1px solid rgba(229,231,235,.85);background:#ffffffd1;border-radius:8px;padding:4px 8px}.ai-job-bottom{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.82);display:flex;justify-content:space-between;align-items:center}.theme-dark .ai-job-bottom{border-top-color:#ffffff14}.ai-job-bottom span{font-size:.66rem;color:#9ca3af}.ai-job-bottom button{border:0;background:transparent;color:#111827;font-size:.78rem;font-weight:500;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.ai-job-bottom button:hover{color:#0f766e}.theme-dark .ai-job-bottom button{color:#f3f4f6}.theme-dark .ai-job-bottom button:hover{color:#2dd4bf}@media(max-width:1200px){.ai-form-grid,.ai-jobs-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){.ai-form-grid{grid-template-columns:1fr}.ai-create-actions{justify-content:stretch}.ai-create-actions button{width:100%;justify-content:center}.ai-jobs-head{flex-direction:column;align-items:flex-start}.ai-jobs-grid{grid-template-columns:1fr}}.career-main{position:relative}.career-status-pill{border-radius:999px;border:1px solid #99f6e4;background:#f0fdfacc;color:#0f766e;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:.8rem;font-weight:500}.career-head{max-width:760px;margin-bottom:20px}.career-head-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.career-head-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);color:#fff;display:grid;place-items:center}.career-head h1{margin:0;font-size:clamp(2rem,3.4vw,2.6rem);letter-spacing:-.03em;color:#111827}.career-head-kicker{margin:12px 0 6px;color:#0f766e;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.career-head-desc{margin:0;color:#6b7280;line-height:1.65}.career-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:18px;min-height:calc(100vh - 250px);padding-bottom:18px}.career-agents-col{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #00000008;overflow:hidden;display:flex;flex-direction:column}.career-agents-head{padding:16px;border-bottom:1px solid rgba(229,231,235,.7);background:#ffffff6b}.career-agents-head h2{margin:0 0 10px;color:#111827;font-size:.9rem}.career-agents-head button{width:100%;border:0;border-radius:12px;background:linear-gradient(to right,#14b8a6,#06b6d4);color:#fff;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.82rem;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #14b8a663}.career-agents-list{flex:1;overflow-y:auto;padding:10px;display:grid;align-content:start;gap:4px}.career-agents-list button{width:100%;text-align:left;border:0;border-radius:10px;background:transparent;color:#4b5563;padding:10px 11px;font-size:.82rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.career-agents-list button:hover{background:#f9fafbe6;color:#111827}.career-agents-list button.active{border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;font-weight:500}.career-agents-list button.active i{width:6px;height:6px;border-radius:999px;background:#14b8a6}.career-reco-col{min-width:0;display:flex;flex-direction:column}.career-reco-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.career-reco-head h2{margin:0;color:#111827;font-size:1.03rem;font-weight:500;display:flex;align-items:center;gap:7px}.career-reco-head h2 span{color:#0f766e;border:1px solid #99f6e4;background:#f0fdfa;border-radius:6px;padding:2px 8px;font-size:.84rem}.career-reco-head button{border:0;background:transparent;color:#6b7280;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.career-cards{flex:1;overflow-y:auto;padding-right:6px}.career-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;grid-auto-rows:min-content}.career-card{position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(153,246,228,.5);background:linear-gradient(135deg,#fff,#f0fdfa73);padding:12px;transition:border-color .4s ease,box-shadow .4s ease}.career-card:hover{border-color:#5eead4;box-shadow:0 8px 20px #14b8a614}.career-card-glow{position:absolute;top:-24px;right:-24px;width:100px;height:100px;border-radius:999px;background:linear-gradient(to bottom right,#2dd4bf2e,#22d3ee29);filter:blur(22px);transition:transform .5s ease}.career-card:hover .career-card-glow{transform:scale(1.5)}.career-card-wand{position:absolute;top:11px;right:11px;color:#5eead4}.career-card-content{position:relative;z-index:1}.career-card-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;margin-bottom:10px}.career-card-icon.blue{background:#eff6ff;color:#3b82f6}.career-card-icon.indigo{background:#eef2ff;color:#6366f1}.career-card-icon.emerald{background:#ecfdf5;color:#10b981}.career-card-icon.orange{background:#fff7ed;color:#f97316}.career-card-icon.rose{background:#fff1f2;color:#f43f5e}.career-card-icon.slate{background:#f1f5f9;color:#475569}.career-card h3{margin:0 0 6px;color:#111827;font-size:.8rem;font-weight:500;line-height:1.4}.career-card p{margin:0;font-size:.7rem;line-height:1.4;display:inline-flex;align-items:flex-start;gap:5px}.career-card p.tone.strong{color:#0f766e}.career-card p.tone.neutral{color:#4f46e5}.career-card p.tone.soft{color:#6b7280}.theme-dark .career-status-pill{border-color:#14b8a659;background:#14b8a61f;color:#2dd4bf}.theme-dark .career-head h1,.theme-dark .career-agents-head h2,.theme-dark .career-reco-head h2,.theme-dark .career-card h3{color:#fff}.theme-dark .career-head-desc,.theme-dark .career-agents-list button,.theme-dark .career-reco-head button,.theme-dark .career-card p.tone.soft,.theme-dark .career-head-kicker{color:#9ca3af}.theme-dark .career-head-icon,.theme-dark .career-agents-col,.theme-dark .career-card{border-color:#ffffff14}.theme-dark .career-agents-col,.theme-dark .career-card{background:#ffffff05}.theme-dark .career-agents-head{border-color:#ffffff14;background:#ffffff08}.theme-dark .career-agents-list button:hover{background:#ffffff0f;color:#f3f4f6}.theme-dark .career-agents-list button.active,.theme-dark .career-reco-head h2 span{border-color:#14b8a659;background:#14b8a61f;color:#2dd4bf}.theme-dark .career-card-glow{background:linear-gradient(to bottom right,#2dd4bf26,#6366f124)}.theme-dark .career-card-wand{color:#2dd4bf}@media(max-width:1180px){.career-grid{grid-template-columns:1fr;min-height:auto}.career-agents-col{max-height:280px}.career-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.career-cards{grid-template-columns:1fr}}.cv-head{margin-bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.cv-design-toggle{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#111827;cursor:pointer;transition:background-color .2s ease;font-size:.8rem;font-weight:500}.cv-design-toggle:hover{background:#ffffffd6}.cv-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.cv-head p{margin:0;color:#6b7280;font-size:1.1rem}.cv-edit-btn{border:0;border-radius:12px;background:#111827;color:#fff;padding:10px 16px;font-size:.88rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 6px 14px #0f172a29}.cv-edit-btn:hover{background:#1f2937}.cv-layout{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding-bottom:24px}.cv-left,.cv-right{display:grid;gap:24px;align-content:start}.cv-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px}.cv-avatar-wrap{display:flex;justify-content:center;margin-bottom:16px}.cv-avatar{width:96px;height:96px;border-radius:22px;object-fit:cover;border:4px solid rgba(255,255,255,.85);box-shadow:0 8px 16px #0f172a1f}.cv-avatar-fallback{background:linear-gradient(135deg,#0f766e,#06b6d4);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:600}.cv-section-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.cv-section-head svg{color:#0f766e}.cv-section-head h2{margin:0;font-size:1.08rem;font-weight:500;letter-spacing:-.01em}.cv-personal-list{display:grid;gap:10px}.cv-personal-list div{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid rgba(255,255,255,.62);padding-bottom:8px}.cv-personal-list div:last-child{border-bottom:0;padding-bottom:0}.cv-personal-list span{color:#6b7280;font-size:.84rem}.cv-personal-list strong{color:#111827;font-size:.84rem;font-weight:500;text-align:right}.cv-chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.cv-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:10px;background:#fff;border:1px solid rgba(229,231,235,.85);box-shadow:0 1px 3px #0f172a0f;color:#374151;font-size:.74rem;font-weight:500}.cv-language-list{display:grid;gap:10px}.cv-language-list div{display:flex;justify-content:space-between;align-items:center}.cv-language-list strong{font-size:.86rem;font-weight:500;color:#111827}.cv-language-list span{font-size:.72rem;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;padding:4px 10px}.cv-mini-grid{display:grid;gap:24px}.cv-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.cv-list li{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:#374151}.cv-list li svg{color:#14b8a6}.cv-timeline-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.cv-timeline-icon{width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.85);background:#fffc;display:grid;place-items:center;box-shadow:0 2px 8px #0f172a14}.cv-timeline-icon svg{color:#0f766e}.cv-timeline-head h2{margin:0;font-size:1.45rem;letter-spacing:-.01em;font-weight:500}.cv-timeline{position:relative;display:grid;gap:18px}.cv-timeline:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#5eead4,#a5f3fc,transparent)}.cv-timeline-item{display:flex;align-items:flex-start;gap:10px;position:relative}.cv-timeline-dot{width:40px;height:40px;border-radius:999px;border:4px solid #ecf0f0;background:#fff;display:grid;place-items:center;box-shadow:0 2px 8px #0f172a14;z-index:2;flex-shrink:0}.cv-timeline-dot svg{color:#0f766e}.cv-timeline-card{width:calc(100% - 50px);background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:18px;transition:.2s ease}.cv-timeline-card:hover{background:#ffffffd1;box-shadow:0 10px 24px #0f172a14}.cv-timeline-card h3{margin:0 0 8px;font-size:1rem;font-weight:500;color:#111827}.cv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.cv-meta strong{color:#0f766e;font-size:.84rem;font-weight:500}.cv-meta span{color:#6b7280;font-size:.72rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;padding:2px 8px}.cv-timeline-card p{margin:0;color:#4b5563;font-size:.84rem;line-height:1.55}.cv-divider{height:1px;background:#fff9}.cv-design-reference .cv-card{border-radius:28px;box-shadow:0 10px 28px #0f172a0d}.cv-design-reference .cv-timeline-head h2{font-size:1.55rem}.theme-dark .cv-head h1,.theme-dark .cv-head p,.theme-dark .cv-timeline-head h2,.theme-dark .cv-section-head h2,.theme-dark .cv-personal-list strong,.theme-dark .cv-language-list strong,.theme-dark .cv-timeline-card h3{color:#fff}.theme-dark .cv-head p,.theme-dark .cv-personal-list span,.theme-dark .cv-list li,.theme-dark .cv-meta span,.theme-dark .cv-timeline-card p{color:#9ca3af}.theme-dark .cv-design-toggle{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .cv-design-toggle:hover{background:#ffffff14}.theme-dark .cv-card,.theme-dark .cv-timeline-card{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.theme-dark .cv-chip{background:#ffffff0d;border-color:#ffffff1a;color:#d1d5db}.theme-dark .cv-language-list span{color:#2dd4bf;background:#14b8a61a;border-color:#14b8a64d}.theme-dark .cv-timeline:before{background:linear-gradient(to bottom,rgba(20,184,166,.5),rgba(6,182,212,.3),transparent)}.theme-dark .cv-timeline-dot{background:#111827;border-color:#0a0a0a}.theme-dark .cv-meta strong{color:#2dd4bf}.theme-dark .cv-divider{background:#ffffff14}@media(max-width:1200px){.cv-layout{grid-template-columns:1fr}.cv-head{flex-direction:column;align-items:flex-start}}@media(min-width:980px){.cv-design-reference .cv-timeline:before{left:50%;transform:translate(-50%);background:linear-gradient(to bottom,#86efac,#67e8f9,transparent)}.cv-design-reference .cv-timeline-item{justify-content:space-between}.cv-design-reference .cv-timeline-item:nth-child(odd){flex-direction:row-reverse}.cv-design-reference .cv-timeline-dot{position:absolute;left:50%;transform:translate(-50%)}.cv-design-reference .cv-timeline-card{width:calc(50% - 2.5rem);padding:24px;border-radius:28px}}@media(max-width:860px){.cv-design-toggle span{display:none}}.job-detail-back-btn{border:1px solid rgba(255,255,255,.82);background:#ffffff9e;border-radius:999px;padding:8px 13px;display:inline-flex;align-items:center;gap:8px;color:#4b5563;cursor:pointer;font-size:.8rem;font-weight:500}.job-detail-back-btn:hover{background:#ffffffd6;color:#111827}.job-detail-back-row{margin-bottom:16px}.job-detail-header{margin-bottom:24px;display:flex;align-items:flex-start;gap:18px}.job-detail-logo-wrap{width:80px;height:80px;border-radius:18px;overflow:hidden;flex-shrink:0}.job-detail-logo-image,.job-detail-logo-fallback{width:100%;height:100%;object-fit:cover;border-radius:18px;border:1px solid rgba(229,231,235,.9)}.job-detail-logo-fallback{background:#fff;display:grid;place-items:center;color:#111827;font-size:1.9rem;font-weight:600}.job-detail-heading h1{margin:0 0 10px;font-size:clamp(2rem,3.8vw,2.8rem);letter-spacing:-.03em;color:#111827}.job-detail-meta{display:flex;flex-wrap:wrap;gap:10px 14px}.job-detail-meta span{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:.86rem}.job-detail-grid{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,.65fr);gap:24px;padding-bottom:20px}.job-detail-main-card{display:grid;gap:20px}.job-detail-section h2,.job-detail-section h3{margin:0 0 10px;color:#111827;font-weight:500;letter-spacing:-.01em}.job-detail-section h2{font-size:1.2rem}.job-detail-section h3{font-size:1rem}.job-detail-section p{margin:0;color:#4b5563;line-height:1.65;font-size:.95rem}.job-detail-description-list{display:grid;gap:10px}.job-detail-rich-html{color:#4b5563;line-height:1.65;font-size:.95rem}.job-detail-rich-html p,.job-detail-rich-html ul,.job-detail-rich-html ol{margin:0 0 12px}.job-detail-rich-html ul,.job-detail-rich-html ol{padding-left:20px}.job-detail-rich-html li{margin-bottom:6px}.job-detail-rich-html a{color:#0f766e}.job-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.job-detail-info-grid>div{border:1px solid rgba(229,231,235,.82);background:#ffffffa3;border-radius:12px;padding:11px 12px;display:grid;gap:4px}.job-detail-info-grid span{color:#6b7280;font-size:.76rem}.job-detail-info-grid strong{color:#111827;font-size:.86rem;font-weight:600}.job-detail-side-col{display:grid;gap:16px;align-content:start}.job-detail-actions-card{display:grid;gap:10px;position:static}.job-detail-actions-card h2{margin:0 0 4px;color:#111827;font-size:1.03rem;font-weight:500}.job-detail-action-primary,.job-detail-action-secondary{border-radius:14px;border:1px solid;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;font-size:.86rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.job-detail-action-primary{color:#0f766e;border-color:#99f6e4;background:linear-gradient(to right,#ecfeff,#f0fdfa)}.job-detail-action-primary:hover{background:linear-gradient(to right,#cffafe,#ccfbf1)}.job-detail-action-secondary{color:#3730a3;border-color:#c7d2fe;background:linear-gradient(to right,#eef2ff,#f5f3ff)}.job-detail-action-secondary:hover{background:linear-gradient(to right,#e0e7ff,#ede9fe)}.job-detail-action-primary span,.job-detail-action-secondary span{display:inline-flex;align-items:center;gap:8px}.job-detail-action-divider{height:1px;background:#e5e7ebd6;margin:3px 0}.job-detail-text-action{border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;color:#4b5563;border-radius:10px;padding:9px 10px;font-size:.84rem;font-weight:500;cursor:pointer;text-decoration:none}.job-detail-text-action:hover{background:#f9fafbeb;color:#111827}.job-detail-text-action:disabled{opacity:.7;cursor:not-allowed}.job-detail-text-action.link{justify-content:flex-start}.job-detail-text-action.success:hover{background:#ecfdf5;color:#047857}.job-detail-text-action.success.is-done{color:#059669}.job-detail-company-card h3{margin:0 0 12px;color:#111827;font-size:1rem;font-weight:500}.job-detail-company-list{display:grid;gap:10px}.job-detail-company-list>div{border:1px solid rgba(229,231,235,.82);background:#ffffffa3;border-radius:12px;padding:10px 12px;display:grid;gap:4px}.job-detail-company-list span{color:#6b7280;font-size:.74rem}.job-detail-company-list strong{color:#111827;font-size:.86rem}.theme-dark .job-detail-back-btn{border-color:#ffffff14;background:#ffffff08;color:#d1d5db}.theme-dark .job-detail-back-btn:hover{background:#ffffff14;color:#fff}.theme-dark .job-detail-heading h1,.theme-dark .job-detail-section h2,.theme-dark .job-detail-section h3,.theme-dark .job-detail-actions-card h2,.theme-dark .job-detail-company-card h3,.theme-dark .job-detail-info-grid strong,.theme-dark .job-detail-company-list strong{color:#fff}.theme-dark .job-detail-meta span,.theme-dark .job-detail-section p,.theme-dark .job-detail-rich-html,.theme-dark .job-detail-info-grid span,.theme-dark .job-detail-company-list span,.theme-dark .job-detail-text-action{color:#9ca3af}.theme-dark .job-detail-rich-html a{color:#2dd4bf}.theme-dark .job-detail-info-grid>div,.theme-dark .job-detail-company-list>div{border-color:#ffffff14;background:#ffffff08}.theme-dark .job-detail-action-divider{background:#ffffff14}.theme-dark .job-detail-text-action:hover{background:#ffffff14;color:#f3f4f6}@media(max-width:1180px){.job-detail-grid{grid-template-columns:1fr}}@media(max-width:760px){.job-detail-header{flex-direction:column;gap:12px}.job-detail-logo-wrap{width:68px;height:68px}.job-detail-info-grid{grid-template-columns:1fr}}.jobs-page-head{margin-bottom:28px}.jobs-page-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em;color:#111827}.jobs-page-head p{margin:0;color:#6b7280;font-size:1.1rem}.theme-dark .jobs-page-head h1,.theme-dark .jobs-page-head p,.theme-dark .jobs-content-head h2{color:#fff}.theme-dark .jobs-page-head p,.theme-dark .jobs-content-head span,.theme-dark .jobs-card-title p,.theme-dark .jobs-card-description,.theme-dark .jobs-card-distance{color:#9ca3af}.jobs-layout-toggle{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#111827;cursor:pointer;transition:background-color .2s ease;font-size:.8rem;font-weight:500}.jobs-layout-toggle:hover{background:#ffffffd6}.theme-dark .jobs-layout-toggle{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .jobs-layout-toggle:hover{background:#ffffff14}.jobs-grid{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding-bottom:24px}.jobs-filter{position:sticky;top:0;height:fit-content}.theme-dark .jobs-filter,.theme-dark .jobs-card,.theme-dark .jobs-top-filters{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.jobs-filter h2{margin:0 0 24px;font-size:1.1rem;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.jobs-filter h2 svg{color:#0f766e}.theme-dark .jobs-filter h2,.theme-dark .jobs-top-filter-title h2,.theme-dark .jobs-card-title h3{color:#fff}.jobs-filter-block{margin-bottom:24px}.jobs-filter-block>label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:500;color:#374151}.theme-dark .jobs-filter-block>label,.theme-dark .jobs-range-head label,.theme-dark .jobs-hours-row>div>label{color:#d1d5db}.jobs-filter-block>p{margin:0 0 12px;font-size:.74rem;color:#6b7280}.jobs-search-wrap{position:relative}.jobs-search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af}.jobs-search-wrap input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:10px 14px 10px 40px;font-size:.87rem;color:#111827;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.theme-dark .jobs-search-wrap input,.theme-dark .jobs-title-input-wrap,.theme-dark .jobs-title-input-wrap input,.theme-dark .jobs-radio-btn,.theme-dark .jobs-hour-btn{background:#ffffff08;border-color:#ffffff14;color:#d1d5db}.theme-dark .jobs-search-wrap input::placeholder,.theme-dark .jobs-title-input-wrap input::placeholder{color:#6b7280}.jobs-search-wrap input::placeholder{color:#9ca3af}.jobs-search-wrap input:focus{outline:none;border-color:#2dd4bfe6;background:#fff;box-shadow:0 0 0 4px #14b8a61a}.jobs-separator{height:1px;background:#fff9;margin-bottom:24px}.jobs-radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jobs-radio-btn{border:1px solid rgba(255,255,255,.55);background:#ffffff80;color:#6b7280;font-size:.84rem;font-weight:500;border-radius:12px;padding:10px 12px;cursor:pointer;transition:.2s ease}.jobs-radio-btn:hover{background:#ffffffd1}.jobs-radio-btn.active{color:#0f766e;background:#f0fdfa;border-color:#bae6fd}.theme-dark .jobs-radio-btn.active{color:#2dd4bf;background:#14b8a61a;border-color:#14b8a64d}.jobs-range-block{margin-bottom:28px}.jobs-range-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.jobs-range-head span{font-size:.84rem;font-weight:500;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:6px;padding:2px 8px}.jobs-filter input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent}.jobs-filter input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:20px;width:20px;border-radius:999px;background:#fff;border:2px solid #14b8a6;cursor:pointer;margin-top:-8px;box-shadow:0 2px 6px #0000001a}.jobs-filter input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;border-radius:2px;background:#14b8a633}.jobs-filter input[type=range]:focus{outline:none}.jobs-range-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.74rem;color:#9ca3af}.jobs-hours-grid{display:flex;flex-wrap:wrap;gap:8px}.jobs-hour-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.55);background:#ffffff80;color:#6b7280;font-size:.84rem;font-weight:500;cursor:pointer;transition:.2s ease}.jobs-hour-btn:hover{background:#ffffffd1}.jobs-hour-btn.active{background:#14b8a6;color:#fff;border-color:#0f766e}.theme-dark .jobs-hour-btn.active{background:#14b8a6;border-color:#14b8a680}.jobs-apply-btn{width:100%;margin-top:8px;border:0;border-radius:12px;background:#111827;color:#fff;padding:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;box-shadow:0 6px 14px #0f172a29}.theme-dark .jobs-apply-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.jobs-apply-btn:hover{background:#1f2937}.jobs-content-head{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:8px}.jobs-content-head h2{margin:0;font-size:1.25rem;font-weight:500;letter-spacing:-.01em;color:#111827}.jobs-content-head span{font-size:.9rem;color:#6b7280}.jobs-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.jobs-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;min-height:100%;cursor:pointer}.jobs-card:hover{background:#fffc;box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.jobs-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.jobs-card-logo{width:56px;height:56px;border-radius:16px;background:#111827;color:#fff;font-size:1.4rem;font-weight:500;display:grid;place-items:center;box-shadow:0 4px 10px #0f172a1f}.jobs-card-logo-image-wrap{background:#fff;border:1px solid rgba(229,231,235,.85);box-shadow:0 4px 10px #0f172a14;overflow:hidden}.jobs-card-logo-image{width:100%;height:100%;object-fit:cover}.jobs-card-title{margin-bottom:8px}.jobs-card-title h3{margin:0;font-size:1.1rem;font-weight:500;letter-spacing:-.01em;color:#111827;transition:color .2s ease}.theme-dark .jobs-card-title h3{color:#fff}.jobs-card:hover .jobs-card-title h3{color:#0f766e}.jobs-card-title p{margin:2px 0 0;font-size:.86rem;color:#6b7280}.jobs-card-description{margin:0 0 22px;color:#4b5563;font-size:.86rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jobs-card-bottom{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:space-between}.theme-dark .jobs-card-bottom{border-top-color:#ffffff14}.jobs-card-distance{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:.78rem}.jobs-card-distance svg{color:#0f766e}.jobs-card-arrow{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;color:#9ca3af;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s ease}.theme-dark .jobs-card-arrow{background:#ffffff0d;border-color:#ffffff1a;color:#6b7280}.jobs-card:hover .jobs-card-arrow{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.jobs-load-more-wrap{margin-top:28px;display:flex;justify-content:center}.jobs-load-more{border:1px solid #d1d5db;border-radius:12px;background:#ffffff59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#4b5563;padding:10px 24px;font-size:.86rem;font-weight:500;cursor:pointer;transition:.2s ease}.jobs-load-more:hover{background:#fff9;color:#111827;border-color:#9ca3af}.jobs-top-layout{display:grid;gap:24px;padding-bottom:24px}.jobs-top-filters{padding:24px}.jobs-top-filter-title{display:flex;align-items:center;gap:8px;margin-bottom:20px}.jobs-top-filter-title h2{margin:0;font-size:1.1rem;font-weight:500;letter-spacing:-.01em}.jobs-top-filter-title svg{color:#0f766e}.jobs-top-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:20px;align-items:end;margin-bottom:20px}.jobs-filter-block.no-margin{margin-bottom:0}.jobs-top-range{padding-bottom:4px}.jobs-top-apply{margin-top:0;min-width:180px}.jobs-title-picker{position:relative}.jobs-title-input-wrap{display:flex;flex-wrap:wrap;gap:8px;min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:6px;align-items:center}.jobs-title-input-wrap:focus-within{border-color:#2dd4bfe6;background:#fff;box-shadow:0 0 0 4px #14b8a61a}.jobs-title-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid rgba(229,231,235,.8);box-shadow:0 1px 3px #0f172a0f;font-size:.72rem;font-weight:500;color:#374151}.jobs-title-chip button{border:0;background:transparent;color:#9ca3af;display:grid;place-items:center;cursor:pointer;padding:0}.jobs-title-chip button:hover{color:#111827}.jobs-title-input-wrap input{flex:1;min-width:180px;border:0;background:transparent;outline:none;font-size:.86rem;color:#374151;padding:6px 8px}.jobs-title-input-wrap input::placeholder{color:#9ca3af}.jobs-title-suggestions{position:absolute;top:calc(100% + 8px);left:0;width:min(100%,340px);background:#ffffffe6;border:1px solid rgba(255,255,255,.8);border-radius:16px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 10px 36px #0000001a;padding:8px;display:grid;gap:4px;opacity:0;visibility:hidden;transform:scale(.98);transform-origin:top left;transition:.18s ease;z-index:40}.jobs-title-picker:focus-within .jobs-title-suggestions{opacity:1;visibility:visible;transform:scale(1)}.jobs-title-option{border:0;border-radius:10px;background:transparent;color:#4b5563;font-size:.84rem;font-weight:500;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.jobs-title-option:hover{background:#ffffffd9;color:#111827}.jobs-title-option.active{color:#0f766e;background:#14b8a61a}.jobs-title-option.active svg{color:#14b8a6}.jobs-separator.top-margin{margin:24px 0}.jobs-hours-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.jobs-hours-row>div>label{display:block;margin-bottom:3px;font-size:.9rem;font-weight:500;color:#374151}.jobs-hours-row>div>p{margin:0;font-size:.74rem;color:#6b7280}.jobs-cards.jobs-cards-top{grid-template-columns:1fr 1fr 1fr}@media(max-width:1200px){.jobs-grid{grid-template-columns:1fr}.jobs-filter{position:static}.jobs-top-controls{grid-template-columns:1fr 1fr}.jobs-top-apply{width:100%}.jobs-hours-row{flex-direction:column;align-items:flex-start}.jobs-cards.jobs-cards-top{grid-template-columns:1fr 1fr}}@media(max-width:860px){.jobs-cards,.jobs-top-controls,.jobs-cards.jobs-cards-top{grid-template-columns:1fr}.jobs-layout-toggle span{display:none}}.msg-main{display:flex;flex-direction:column}.msg-head{margin-bottom:16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.msg-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.msg-head p{margin:0;color:#6b7280;font-size:1.05rem}.theme-dark .msg-head h1,.theme-dark .msg-head p{color:#fff}.theme-dark .msg-head p{color:#9ca3af}.msg-mark-btn{border:1px solid rgba(229,231,235,.85);background:#fff;color:#374151;border-radius:12px;padding:10px 16px;font-size:.84rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 2px 8px #0f172a0f}.msg-mark-btn:hover{background:#f9fafb}.theme-dark .msg-mark-btn{border-color:#ffffff1a;background:#ffffff0d;color:#d1d5db}.theme-dark .msg-mark-btn:hover{background:#ffffff14}.msg-layout{flex:1;min-height:500px;margin-bottom:4px;display:flex;gap:24px}.msg-threads{width:33.333%;min-width:330px;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;display:flex;flex-direction:column;overflow:hidden}.theme-dark .msg-threads,.theme-dark .msg-chat{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.msg-threads-head{padding:16px;border-bottom:1px solid rgba(255,255,255,.62)}.msg-search-wrap{position:relative;margin-bottom:10px}.msg-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.msg-search-wrap input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffff80;padding:10px 12px 10px 38px;font-size:.86rem;color:#111827}.theme-dark .msg-search-wrap input{background:#ffffff08;border-color:#ffffff14;color:#f3f4f6}.msg-search-wrap input:focus{outline:none;border-color:#2dd4bfe6;box-shadow:0 0 0 4px #14b8a61a}.msg-filter-row{display:flex;gap:8px}.msg-filter-row button{border:1px solid rgba(255,255,255,.75);background:#ffffffa6;color:#4b5563;border-radius:10px;padding:6px 12px;font-size:.72rem;font-weight:500;cursor:pointer}.msg-filter-row button.active{background:#f0fdfa;border-color:#ccfbf1;color:#0f766e}.theme-dark .msg-filter-row button{background:#ffffff0d;border-color:#ffffff14;color:#9ca3af}.theme-dark .msg-filter-row button.active{background:#14b8a61a;border-color:#14b8a64d;color:#2dd4bf}.msg-thread-list{padding:10px;overflow-y:auto;display:grid;gap:6px}.msg-thread-item{width:100%;border:1px solid transparent;background:transparent;border-radius:16px;display:flex;align-items:flex-start;gap:10px;padding:10px;text-align:left;cursor:pointer;position:relative}.msg-thread-item:hover{background:#ffffff6b;border-color:#ffffff9e}.theme-dark .msg-thread-item:hover{background:#ffffff0d;border-color:#ffffff1a}.msg-thread-item.active{background:#ffffffd1;border-color:#fff;box-shadow:0 2px 8px #0f172a0d}.theme-dark .msg-thread-item.active{background:#ffffff1a;border-color:#ffffff1f}.msg-thread-item.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#14b8a6}.msg-thread-avatar-wrap{width:44px;height:44px;position:relative;flex-shrink:0}.msg-thread-avatar,.msg-thread-avatar-fallback{width:44px;height:44px;border-radius:999px;object-fit:cover}.msg-thread-avatar-fallback{background:linear-gradient(135deg,#c7d2fe,#e9d5ff);color:#4338ca;display:grid;place-items:center;font-size:.84rem;font-weight:600}.msg-thread-online{position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:999px;border:2px solid #fff;background:#22c55e}.msg-thread-content{min-width:0;flex:1}.msg-thread-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px}.msg-thread-row h3{margin:0;font-size:.86rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .msg-thread-row h3,.theme-dark .msg-chat-head h2{color:#fff}.msg-thread-row span{font-size:.72rem;color:#9ca3af;flex-shrink:0}.msg-thread-content p{margin:0;color:#6b7280;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .msg-thread-content p,.theme-dark .msg-thread-content small,.theme-dark .msg-thread-row span{color:#9ca3af}.msg-thread-content p.unread{color:#1f2937;font-weight:500}.msg-thread-content small{margin-top:2px;display:inline-block;color:#9ca3af;font-size:.72rem}.msg-thread-unread{width:20px;height:20px;border-radius:999px;background:#14b8a6;color:#fff;display:grid;place-items:center;font-size:.64rem;font-weight:600;flex-shrink:0;margin-top:2px}.msg-chat{width:66.667%;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;display:flex;flex-direction:column;overflow:hidden}.msg-chat-head{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.62);background:#ffffff4d;display:flex;justify-content:space-between;align-items:center}.theme-dark .msg-chat-head{background:#ffffff08;border-bottom-color:#ffffff14}.msg-chat-head h2{margin:0;font-size:1rem;font-weight:500;color:#111827}.msg-chat-company{display:flex;align-items:center;gap:12px}.msg-chat-company p{margin:2px 0 0;color:#0f766e;font-size:.74rem;font-weight:500}.theme-dark .msg-chat-company p{color:#2dd4bf}.msg-chat-avatar,.msg-chat-avatar-fallback{width:40px;height:40px;border-radius:999px;object-fit:cover}.msg-chat-avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#c7d2fe,#e9d5ff);color:#4338ca;font-size:.84rem;font-weight:600}.msg-chat-actions{display:flex;gap:8px}.msg-chat-actions button{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.82);background:#ffffff8c;color:#4b5563;display:grid;place-items:center;cursor:pointer}.theme-dark .msg-chat-actions button{background:#ffffff0d;border-color:#ffffff1a;color:#9ca3af}.msg-chat-actions button:hover{background:#fff}.msg-chat-body{flex:1;overflow-y:auto;padding:20px;display:grid;align-content:start;gap:10px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.2))}.theme-dark .msg-chat-body{background:linear-gradient(to bottom,transparent,rgba(255,255,255,.03))}.msg-day-sep{display:table;width:fit-content;margin:0 auto;font-size:.72rem;color:#9ca3af;border:1px solid rgba(255,255,255,.68);background:#ffffff85;padding:3px 10px;border-radius:999px}.theme-dark .msg-day-sep{color:#9ca3af;border-color:#ffffff1a;background:#ffffff0d}.msg-bubble-row{display:flex;gap:8px;max-width:75%}.msg-bubble-row.mine{margin-left:auto;flex-direction:row-reverse}.msg-mini-avatar,.msg-mini-avatar-fallback{width:30px;height:30px;border-radius:999px;object-fit:cover;margin-top:auto}.msg-mini-avatar-fallback{display:grid;place-items:center;background:#e5e7eb;color:#374151;font-size:.7rem;font-weight:600}.msg-bubble-wrap{display:grid;gap:3px}.msg-time{color:#9ca3af;font-size:.68rem}.msg-bubble{border-radius:16px 16px 16px 6px;background:#fff;border:1px solid rgba(255,255,255,.85);color:#374151;padding:10px 12px;font-size:.84rem;line-height:1.45;box-shadow:0 2px 8px #0f172a0a}.theme-dark .msg-bubble{background:#ffffff14;border-color:#ffffff1a;color:#e5e7eb}.msg-bubble.mine{background:#14b8a6;border-color:#14b8a6;color:#fff;border-bottom-left-radius:16px;border-bottom-right-radius:6px}.msg-input-area{padding:12px;border-top:1px solid rgba(255,255,255,.62);background:#ffffff59}.theme-dark .msg-input-area{border-top-color:#ffffff14;background:#ffffff08}.msg-input-wrap{border-radius:16px;border:1px solid rgba(255,255,255,.85);background:#fffc;box-shadow:0 2px 8px #0f172a0d;padding:6px;display:flex;align-items:flex-end;gap:6px}.theme-dark .msg-input-wrap{background:#ffffff0d;border-color:#ffffff1a}.theme-dark .msg-input-wrap textarea{color:#fff}.msg-input-wrap>button{width:34px;height:34px;border:0;background:transparent;color:#9ca3af;border-radius:10px;display:grid;place-items:center;cursor:pointer}.msg-input-wrap>button:hover{color:#0f766e;background:#f0fdfa}.msg-input-wrap textarea{flex:1;border:0;background:transparent;resize:none;outline:none;padding:8px;font-size:.84rem;color:#111827;max-height:120px}.msg-send-btn{min-width:84px;width:auto;padding:0 12px;border-radius:10px;border:0;background:#111827;color:#fff;font-size:.82rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;justify-content:center}.msg-send-btn:hover{background:#1f2937}@media(max-width:1200px){.msg-layout{flex-direction:column;min-height:0}.msg-threads,.msg-chat{width:100%;min-width:0}.msg-threads{height:360px}.msg-chat{height:500px}}@media(max-width:860px){.msg-head{flex-direction:column;align-items:flex-start}.msg-mark-btn{width:100%;justify-content:center}.msg-bubble-row{max-width:88%}}.sim-main{position:relative}.sim-leave-btn{border:1px solid rgba(229,231,235,.82);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer}.sim-leave-btn:hover{color:#111827;background:#ffffffd9}.sim-wrap{max-width:1160px;margin:0 auto;padding-bottom:30px}.sim-live-wrap{padding-bottom:24px}.sim-live-head{margin-bottom:22px}.sim-live-head h1{margin:0 0 8px;font-size:clamp(1.9rem,3vw,2.3rem);letter-spacing:-.03em;color:#111827}.sim-live-head p{margin:0;color:#6b7280}.sim-live-grid{min-height:calc(100vh - 260px);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px}.sim-live-chat-card{border-radius:24px;border:1px solid rgba(229,231,235,.82);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #0000000a;display:flex;flex-direction:column;overflow:hidden}.sim-live-chat-head{padding:14px 18px;border-bottom:1px solid rgba(229,231,235,.7);background:#ffffff6b;display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-live-ai-row{display:flex;align-items:center;gap:10px}.sim-live-ai-avatar{width:40px;height:40px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.sim-live-ai-row h3{margin:0 0 2px;color:#111827;font-size:.86rem;font-weight:500}.sim-live-ai-row p{margin:0;color:#6366f1;font-size:.74rem;display:inline-flex;align-items:center;gap:4px}.sim-live-ai-row p svg{animation:sim-pulse 1.8s ease-in-out infinite}.sim-live-more-btn{width:30px;height:30px;border-radius:999px;border:0;background:#f3f4f6cc;color:#6b7280;display:grid;place-items:center;cursor:pointer}.sim-live-chat-scroll{flex:1;overflow-y:auto;padding:20px;display:grid;align-content:start;gap:18px}.sim-live-msg-row{display:flex;align-items:flex-start;gap:10px;max-width:88%}.sim-live-msg-row.me{margin-left:auto;flex-direction:row-reverse}.sim-live-msg-avatar{width:30px;height:30px;border-radius:999px;flex-shrink:0;overflow:hidden;display:grid;place-items:center}.sim-live-msg-avatar.ai{border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5}.sim-live-msg-avatar.me{border:1px solid #d1d5db;background:#f9fafb;color:#6b7280}.sim-live-msg-avatar img{width:100%;height:100%;object-fit:cover}.sim-live-msg-bubble{padding:14px 16px;border-radius:16px;box-shadow:0 2px 10px #0f172a0d}.sim-live-msg-bubble.ai{border-top-left-radius:4px;border:1px solid rgba(229,231,235,.85);background:#fff}.sim-live-msg-bubble.me{border-top-right-radius:4px;background:#4f46e5;color:#eef2ff}.sim-live-msg-bubble p{margin:0;font-size:.86rem;line-height:1.6}.sim-live-msg-bubble.ai p{color:#4b5563}.sim-live-voice{border-top:1px solid rgba(229,231,235,.72);background:#ffffffc7;padding:18px;display:grid;justify-items:center;gap:10px}.sim-live-time-row{width:min(420px,100%);display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-live-time{text-align:center}.sim-live-time small{display:block;color:#9ca3af;font-size:.68rem;margin-bottom:4px}.sim-live-time strong{color:#111827;font-size:.84rem;font-weight:600}.sim-live-wave{flex:1;max-width:180px;display:flex;align-items:center;justify-content:center;gap:6px}.sim-live-wave span{width:4px;height:28px;border-radius:999px;background:#6366f1;transform-origin:center;animation:sim-wave 1.2s ease-in-out infinite}.sim-live-mic-btn{width:62px;height:62px;border-radius:999px;border:2px solid #fecdd3;background:#fff1f2;color:#e11d48;display:grid;place-items:center;cursor:pointer;position:relative}.sim-live-mic-btn:before{content:"";position:absolute;inset:-2px;border-radius:999px;background:#fb718533;animation:sim-pulse-soft 2s ease-in-out infinite;z-index:0}.sim-live-mic-btn svg{position:relative;z-index:1}.sim-live-voice>p{margin:0;color:#e11d48;font-size:.76rem;animation:sim-pulse 2s ease-in-out infinite}.sim-live-side{overflow-y:auto;padding-right:2px;display:grid;align-content:start;gap:14px}.sim-live-side-card{border-radius:24px;border:1px solid rgba(229,231,235,.82);background:#ffffff9e;padding:16px}.sim-live-side-card h2{margin:0 0 14px;font-size:.78rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.sim-live-side-list{display:grid;gap:14px}.sim-live-side-list small{display:block;color:#6b7280;font-size:.7rem;margin-bottom:3px}.sim-live-side-list p{margin:0;color:#111827;font-size:.82rem;display:inline-flex;align-items:center;gap:6px}.sim-live-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sim-live-progress-head strong{color:#111827;font-size:.72rem}.sim-live-progress-track{height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.sim-live-progress-track>span{display:block;width:40%;height:100%;background:#6366f1;box-shadow:0 0 8px #6366f180}.sim-live-coach-card{border-radius:24px;border:1px solid #c7d2fe;background:linear-gradient(to bottom right,#eef2ffb3,#fffc);padding:16px}.sim-live-coach-card h2{margin:0 0 12px;font-size:.82rem;color:#312e81;display:inline-flex;align-items:center;gap:6px}.sim-live-coach-list{display:grid;gap:10px}.sim-live-coach-list>div{border-radius:12px;border:1px solid rgba(224,231,255,.9);background:#fff;padding:11px;display:flex;align-items:flex-start;gap:8px}.sim-live-coach-list>div:first-child svg{color:#10b981}.sim-live-coach-list>div:last-child svg{color:#f59e0b}.sim-live-coach-list strong{display:block;margin-bottom:3px;color:#111827;font-size:.75rem}.sim-live-coach-list p{margin:0;color:#6b7280;font-size:.72rem;line-height:1.5}.sim-live-actions{display:grid;gap:10px}.sim-live-actions button{border-radius:12px;border:1px solid rgba(229,231,235,.82);background:#f9fafb;color:#4b5563;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.82rem;font-weight:500;cursor:pointer}.sim-live-actions button:hover{background:#f3f4f6;color:#111827}.sim-live-actions button.stop{border-color:#111827;background:#111827;color:#fff}.sim-live-actions button.stop:hover{background:#1f2937}@keyframes sim-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes sim-pulse-soft{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes sim-pulse{0%,to{opacity:1}50%{opacity:.7}}.sim-hero-card{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 30px #0000000a;padding:30px;margin-bottom:28px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.9fr);gap:24px}.sim-hero-glow{position:absolute;top:-80px;right:-80px;width:260px;height:260px;border-radius:999px;background:#6366f11f;filter:blur(70px);pointer-events:none}.sim-hero-left h1{margin:0 0 12px;font-size:clamp(1.9rem,3vw,2.55rem);letter-spacing:-.03em;color:#111827}.sim-hero-left p{margin:0 0 22px;line-height:1.65;color:#4b5563}.sim-benefits{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px}.sim-benefits li{display:inline-flex;align-items:center;gap:9px;color:#374151;font-size:.88rem}.sim-benefits li svg{color:#10b981;flex-shrink:0}.sim-start-btn{border:0;border-radius:12px;background:#111827;color:#fff;padding:11px 16px;display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:500;cursor:pointer}.sim-start-btn:hover{background:#1f2937}.sim-config-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffffc7;box-shadow:0 2px 8px #0f172a0a;padding:18px;display:grid;gap:12px;align-content:start}.sim-config-head h3{margin:0;font-size:.92rem;color:#111827}.sim-config-head p{margin:3px 0 0;color:#6b7280;font-size:.74rem}.sim-config-card label{display:grid;gap:6px;font-size:.75rem;color:#6b7280;font-weight:500}.sim-select-wrap{border:1px solid rgba(229,231,235,.8);background:#fff;border-radius:12px;padding:0 12px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #00000005;transition:border-color .2s ease,box-shadow .2s ease}.sim-select-wrap svg{color:#9ca3af;flex-shrink:0;transition:color .2s ease}.sim-select-wrap select{width:100%;min-width:0;border:0;background:transparent;color:#374151;font-size:.84rem;font-weight:500;padding:11px 0;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.sim-caret{color:#9ca3af}.sim-select-wrap:hover{border-color:#9ca3afcc;box-shadow:0 5px 12px #0f172a0f}.sim-select-wrap:hover>svg,.sim-select-wrap:hover .sim-caret{color:#6366f1}.sim-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sim-history-head{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-history-head h2{margin:0;color:#111827;font-size:1.25rem;font-weight:500}.sim-history-head button{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;color:#6b7280;cursor:pointer;font-size:.84rem;font-weight:500}.sim-history-head button:hover{color:#111827}.sim-history-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.sim-card{border-radius:22px;border:1px solid rgba(229,231,235,.8);background:#fffc;box-shadow:0 8px 18px #00000008;padding:18px;display:flex;flex-direction:column;min-height:100%}.sim-card.draft{background:#f9fafbcc;opacity:.85}.sim-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}.sim-card-head h3{margin:0 0 2px;color:#111827;font-size:.95rem;letter-spacing:-.01em}.sim-card-head p{margin:0;color:#6b7280;font-size:.82rem}.sim-status{font-size:.69rem;font-weight:500;border-radius:8px;padding:4px 8px;border:1px solid;flex-shrink:0}.sim-status.done{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.sim-status.draft{color:#4b5563;background:#e5e7eb73;border-color:#d1d5dbe6}.sim-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.sim-tags span{display:inline-flex;align-items:center;gap:6px;border-radius:8px;border:1px solid rgba(229,231,235,.8);background:#f9fafbd9;color:#4b5563;font-size:.72rem;font-weight:500;padding:6px 9px}.sim-card-foot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(229,231,235,.65);display:flex;justify-content:space-between;align-items:center;gap:8px}.sim-card-foot small{color:#9ca3af;font-size:.72rem}.sim-link-btn{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;color:#4f46e5;cursor:pointer;font-size:.82rem;font-weight:500}.sim-link-btn:hover{color:#4338ca}.theme-dark .sim-hero-card,.theme-dark .sim-config-card,.theme-dark .sim-card,.theme-dark .sim-live-chat-card,.theme-dark .sim-live-side-card{background:#ffffff05;border-color:#ffffff0f}.theme-dark .sim-hero-left h1,.theme-dark .sim-config-head h3,.theme-dark .sim-history-head h2,.theme-dark .sim-card-head h3,.theme-dark .sim-live-head h1,.theme-dark .sim-live-ai-row h3,.theme-dark .sim-live-side-list p,.theme-dark .sim-live-progress-head strong,.theme-dark .sim-live-coach-list strong,.theme-dark .sim-live-time strong{color:#fff}.theme-dark .sim-hero-left p,.theme-dark .sim-benefits li,.theme-dark .sim-config-head p,.theme-dark .sim-config-card label,.theme-dark .sim-card-head p,.theme-dark .sim-tags span,.theme-dark .sim-history-head button,.theme-dark .sim-live-head p,.theme-dark .sim-live-side-list small,.theme-dark .sim-live-coach-list p,.theme-dark .sim-live-time small,.theme-dark .sim-leave-btn{color:#9ca3af}.theme-dark .sim-start-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.12)}.theme-dark .sim-select-wrap{background:#ffffff08;border-color:#ffffff14}.theme-dark .sim-select-wrap select{color:#d1d5db}.theme-dark .sim-live-chat-head,.theme-dark .sim-live-voice{border-color:#ffffff14;background:#ffffff0a}.theme-dark .sim-live-more-btn{background:#ffffff14;color:#9ca3af}.theme-dark .sim-live-ai-avatar,.theme-dark .sim-live-msg-avatar.ai{background:#6366f133;border-color:#818cf866;color:#a5b4fc}.theme-dark .sim-live-msg-avatar.me{border-color:#ffffff1f;background:#ffffff0f}.theme-dark .sim-live-msg-bubble.ai{background:#ffffff0a;border-color:#ffffff1a}.theme-dark .sim-live-msg-bubble.ai p{color:#d1d5db}.theme-dark .sim-live-msg-bubble.me{background:#4f46e5}.theme-dark .sim-live-progress-track{background:#ffffff1a}.theme-dark .sim-live-coach-card{background:linear-gradient(to bottom right,#4f46e52e,#ffffff08);border-color:#818cf873}.theme-dark .sim-live-coach-card h2{color:#c7d2fe}.theme-dark .sim-live-coach-list>div{background:#ffffff0a;border-color:#ffffff1a}.theme-dark .sim-tags span{background:#ffffff08;border-color:#ffffff14}.theme-dark .sim-status.done{background:#10b98126;border-color:#10b98173;color:#34d399}.theme-dark .sim-status.draft{background:#ffffff12;border-color:#ffffff1f;color:#d1d5db}.theme-dark .sim-card-foot{border-top-color:#ffffff14}.theme-dark .sim-link-btn{color:#818cf8}.theme-dark .sim-live-actions button{background:#ffffff0a;border-color:#ffffff1a;color:#d1d5db}.theme-dark .sim-live-actions button.stop{background:#1f2937;border-color:#374151;color:#fff}@media(max-width:1180px){.sim-live-grid{grid-template-columns:1fr;min-height:auto}.sim-live-chat-card{min-height:520px}.sim-live-side{overflow:visible;padding-right:0}.sim-hero-card{grid-template-columns:1fr}.sim-history-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sim-live-chat-card{min-height:auto}.sim-live-time-row{flex-direction:column;gap:8px}.sim-wrap{padding-bottom:18px}.sim-hero-card{padding:20px;border-radius:24px}.sim-history-grid,.sim-mini-grid{grid-template-columns:1fr}}.sim-eval-main{position:relative}.sim-eval-top-actions{display:inline-flex;align-items:center;gap:10px}.sim-eval-back-btn{border:1px solid rgba(229,231,235,.82);background:#ffffffa6;border-radius:999px;padding:8px 12px;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer}.sim-eval-back-btn:hover{background:#fff;color:#111827}.sim-eval-crumb-pill{border:1px solid rgba(229,231,235,.75);background:#ffffff9e;border-radius:999px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;color:#6b7280;font-size:.78rem}.sim-eval-crumb-pill strong{color:#0f766e;font-weight:600}.sim-eval-wrap{max-width:1160px;margin:0 auto;padding-bottom:26px}.sim-eval-head{margin-bottom:24px}.sim-eval-label{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:6px 10px;border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:12px}.sim-eval-head h1{margin:0 0 12px;color:#111827;font-size:clamp(1.9rem,3vw,2.4rem);letter-spacing:-.03em}.sim-eval-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#6b7280;font-size:.86rem}.sim-eval-meta strong{color:#111827;font-weight:600}.sim-eval-meta p,.sim-eval-meta small{margin:0;display:inline-flex;align-items:center;gap:6px}.sim-eval-meta span{width:4px;height:4px;border-radius:999px;background:#d1d5db}.sim-eval-overview-card{border-radius:28px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 28px #0f172a0a;padding:24px;margin-bottom:26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:20px}.sim-eval-overview-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}.sim-eval-overview-title h2{margin:0;color:#111827;font-size:1.08rem}.sim-eval-overview-title svg{color:#14b8a6}.sim-eval-overview-text .lead{margin:0 0 10px;color:#374151;font-size:1rem}.sim-eval-overview-text p{margin:0;color:#4b5563;line-height:1.65}.sim-eval-score-card{border-radius:18px;border:1px solid rgba(229,231,235,.82);background:linear-gradient(to bottom,#f9fafb,#fff);padding:18px}.sim-eval-score-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sim-eval-score-head h3{margin:0;color:#111827;font-size:.88rem;font-weight:500}.sim-eval-score-head svg{color:#9ca3af}.sim-eval-score-rows{display:grid;gap:10px;margin-bottom:14px}.sim-eval-score-rows>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-eval-score-rows span{color:#6b7280;font-size:.84rem}.sim-eval-score-rows strong{border-radius:7px;background:#f3f4f6;color:#111827;font-size:.85rem;padding:4px 8px}.sim-eval-score-rows strong.good{color:#0f766e;border:1px solid #99f6e4;background:#f0fdfa}.sim-eval-gap-block{border-top:1px solid rgba(229,231,235,.9);padding-top:12px}.sim-eval-gap-block>span{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 8px;background:#f0fdfa;color:#0f766e;font-size:.72rem;font-weight:600;margin-bottom:7px}.sim-eval-gap-block p{margin:0;color:#6b7280;font-size:.76rem;line-height:1.5}.sim-eval-improvements{margin-bottom:26px}.sim-eval-section-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.sim-eval-section-title h2{margin:0;color:#111827;font-size:1.25rem}.sim-eval-improvement-list{display:grid;gap:12px}.sim-eval-improvement-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:18px;display:flex;align-items:flex-start;gap:12px}.sim-eval-improvement-index{width:30px;height:30px;border-radius:999px;background:#111827;color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:600;flex-shrink:0}.sim-eval-improvement-content{flex:1}.sim-eval-improvement-content h3{margin:3px 0 14px;color:#111827;font-size:1rem}.sim-eval-improvement-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.sim-eval-improvement-grid>div{border-radius:14px;border:1px solid #f3f4f6;background:#f9fafbd9;padding:12px}.sim-eval-improvement-grid>div.impact{border-color:#fecdd3;background:#fff1f2b8}.sim-eval-improvement-grid>div.next{border-color:#99f6e4;background:#f0fdfab8}.sim-eval-improvement-grid small{display:block;margin-bottom:8px;color:#6b7280;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sim-eval-improvement-grid>div.impact small{color:#be123c}.sim-eval-improvement-grid>div.next small{color:#0f766e}.sim-eval-improvement-grid p{margin:0;color:#4b5563;font-size:.82rem;line-height:1.55}.sim-eval-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.sim-eval-list-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:20px}.sim-eval-card-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.sim-eval-card-title h2{margin:0;color:#111827;font-size:1.04rem}.sim-eval-list-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sim-eval-list-card li{display:flex;align-items:flex-start;gap:8px}.sim-eval-list-card li svg{margin-top:2px;color:#14b8a6;flex-shrink:0}.sim-eval-list-card li span{color:#4b5563;line-height:1.58;font-size:.84rem}.sim-eval-list-card.recommendations .sim-eval-card-title svg{color:#6366f1}.sim-eval-list-card .hint{margin:0 0 12px;color:#6b7280;font-size:.8rem}.sim-eval-list-card.recommendations li>div{width:18px;height:18px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;margin-top:2px;flex-shrink:0}.sim-eval-rating-card{border-radius:24px;border:1px solid rgba(20,184,166,.18);background:linear-gradient(to bottom right,#14b8a60f,#06b6d414);padding:22px;text-align:center}.sim-eval-rating-card>p{margin:0 0 16px;color:#0d5953f2;font-size:.95rem;font-weight:500}.sim-eval-rating-box{max-width:460px;margin:0 auto;border-radius:18px;border:1px solid rgba(229,231,235,.8);background:#fff;padding:18px;box-shadow:0 10px 24px #0000000a}.sim-eval-rating-box h3{margin:0 0 3px;color:#111827;font-size:1rem}.sim-eval-rating-box small{display:block;color:#6b7280;margin-bottom:12px;font-size:.74rem}.sim-eval-stars{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px}.sim-eval-stars button{border:0;background:transparent;color:#d1d5db;padding:0;display:inline-flex;cursor:pointer}.sim-eval-stars button:hover,.sim-eval-stars button.selected{color:#f59e0b}.sim-eval-rating-box textarea{width:100%;border-radius:12px;border:1px solid rgba(229,231,235,.9);background:#f9fafbd9;color:#111827;padding:11px;resize:none;margin-bottom:10px;font-size:.84rem;font-family:inherit}.sim-eval-rating-box textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a624}.sim-eval-rating-box>button{width:100%;border:0;border-radius:11px;background:#111827;color:#fff;padding:10px;font-size:.84rem;font-weight:500;cursor:pointer}.sim-eval-rating-box>button:hover{background:#1f2937}.sim-eval-rating-box>button:disabled{opacity:.65;cursor:not-allowed}.sim-eval-submit-status{margin-top:8px;color:#0f766e;font-size:.78rem}.theme-dark .sim-eval-back-btn,.theme-dark .sim-eval-crumb-pill,.theme-dark .sim-eval-overview-card,.theme-dark .sim-eval-improvement-card,.theme-dark .sim-eval-list-card,.theme-dark .sim-eval-rating-box{background:#ffffff08;border-color:#ffffff17}.theme-dark .sim-eval-head h1,.theme-dark .sim-eval-meta strong,.theme-dark .sim-eval-overview-title h2,.theme-dark .sim-eval-score-head h3,.theme-dark .sim-eval-section-title h2,.theme-dark .sim-eval-improvement-content h3,.theme-dark .sim-eval-card-title h2,.theme-dark .sim-eval-rating-box h3{color:#fff}.theme-dark .sim-eval-meta,.theme-dark .sim-eval-overview-text p,.theme-dark .sim-eval-overview-text .lead,.theme-dark .sim-eval-gap-block p,.theme-dark .sim-eval-improvement-grid p,.theme-dark .sim-eval-list-card li span,.theme-dark .sim-eval-list-card .hint,.theme-dark .sim-eval-rating-box small,.theme-dark .sim-eval-back-btn,.theme-dark .sim-eval-score-rows span{color:#9ca3af}.theme-dark .sim-eval-score-card,.theme-dark .sim-eval-improvement-grid>div{background:#ffffff05;border-color:#ffffff14}.theme-dark .sim-eval-improvement-grid>div.impact{background:#be185d14;border-color:#f472b652}.theme-dark .sim-eval-improvement-grid>div.next{background:#14b8a614;border-color:#2dd4bf4d}.theme-dark .sim-eval-score-rows strong{background:#ffffff14;color:#fff}.theme-dark .sim-eval-score-rows strong.good,.theme-dark .sim-eval-gap-block>span,.theme-dark .sim-eval-label{border-color:#2dd4bf59;background:#14b8a61f;color:#5eead4}.theme-dark .sim-eval-list-card.recommendations li>div{border-color:#818cf859;background:#4f46e538;color:#a5b4fc}.theme-dark .sim-eval-rating-card{border-color:#2dd4bf38;background:linear-gradient(to bottom right,#14b8a61a,#06b6d41a)}.theme-dark .sim-eval-rating-card>p{color:#99f6e4}.theme-dark .sim-eval-rating-box textarea{border-color:#ffffff17;background:#ffffff08;color:#fff}.theme-dark .sim-eval-rating-box>button{background:#1f2937}@media(max-width:1080px){.sim-eval-overview-card,.sim-eval-improvement-grid,.sim-eval-split-grid{grid-template-columns:1fr}}@media(max-width:760px){.sim-eval-wrap{padding-bottom:18px}.sim-eval-top-actions{width:100%;justify-content:space-between}.sim-eval-crumb-pill{display:none}.sim-eval-meta{gap:7px}.sim-eval-overview-card,.sim-eval-improvement-card,.sim-eval-list-card,.sim-eval-rating-card{padding:16px;border-radius:20px}}.sub-main{position:relative}.sub-top-actions{display:inline-flex;align-items:center;gap:10px}.sub-crumb-pill{border-radius:999px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;padding:7px 11px;font-size:.8rem;color:#4b5563;display:inline-flex;align-items:center;gap:6px}.sub-crumb-pill svg{color:#14b8a6}.sub-toggle-btn{border:0;border-radius:999px;background:#111827;color:#fff;font-size:.72rem;font-weight:500;padding:8px 12px;cursor:pointer}.sub-toggle-btn:hover{background:#1f2937}.sub-head{margin-bottom:18px;max-width:850px}.sub-head-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sub-head-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);color:#fff;display:grid;place-items:center}.sub-head h1{margin:0;color:#111827;font-size:clamp(2rem,3.2vw,2.5rem);letter-spacing:-.03em}.sub-head p{margin:0;color:#6b7280;line-height:1.65}.sub-wrap{max-width:1200px;padding-bottom:20px}.sub-redeem-card{max-width:900px;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #00000008;padding:20px;margin-bottom:22px}.sub-redeem-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sub-redeem-head h2{margin:0;color:#111827;font-size:1.06rem}.sub-redeem-card p{margin:0 0 12px;color:#6b7280;font-size:.86rem}.sub-redeem-row{max-width:560px;display:grid;grid-template-columns:1fr auto;gap:8px}.sub-redeem-row input{border-radius:12px;border:1px solid rgba(229,231,235,.8);background:#ffffffd9;color:#111827;font-size:.86rem;padding:10px 12px;outline:none}.sub-redeem-row input:focus{border-color:#14b8a6b3;box-shadow:0 0 0 3px #14b8a61f}.sub-redeem-row button{border:0;border-radius:12px;background:#111827;color:#fff;font-size:.82rem;font-weight:500;padding:10px 14px;cursor:pointer}.sub-redeem-row button:hover{background:#1f2937}.sub-redeem-row button:disabled{opacity:.7;cursor:not-allowed}.sub-redeem-card small{margin-top:8px;display:block;color:#0f766e}.sub-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sub-plan-card{position:relative;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);padding:20px;cursor:pointer}.sub-plan-card.popular{background:#fffc}.sub-plan-card.yearly{border-color:#c7d2fee6}.sub-plan-card.selected{border-color:#14b8a6cc;box-shadow:0 8px 28px #14b8a61f;background:#f0fdfa6b}.sub-plan-card.yearly.selected{border-color:#6366f1cc;box-shadow:0 8px 28px #6366f11f;background:#eef2ff59}.sub-plan-card input{position:absolute;opacity:0;pointer-events:none}.sub-popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);border-radius:999px;padding:4px 10px;background:#111827;color:#fff;font-size:.64rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sub-radio-indicator{position:absolute;top:20px;right:20px;width:20px;height:20px;border-radius:999px;border:1px solid #d1d5db;display:grid;place-items:center}.sub-radio-indicator i{width:8px;height:8px;border-radius:999px;background:#fff;opacity:0}.sub-plan-card.selected .sub-radio-indicator{border-color:#14b8a6;background:#14b8a6}.sub-plan-card.selected .sub-radio-indicator i{opacity:1}.sub-plan-card.yearly.selected .sub-radio-indicator{border-color:#6366f1;background:#6366f1}.sub-plan-content{display:grid;align-content:start;height:100%}.sub-plan-title-row{display:flex;align-items:center;gap:8px}.sub-plan-title-row h3{margin:0;color:#111827;font-size:1.08rem}.sub-plan-title-row span{border-radius:6px;border:1px solid rgba(153,246,228,.7);background:#f0fdfae6;color:#0f766e;font-size:.64rem;font-weight:600;padding:2px 6px}.sub-price{margin-top:10px;color:#111827;font-size:2rem;font-weight:600;letter-spacing:-.03em}.sub-price-daily{margin:2px 0 0;color:#6b7280;font-size:.8rem}.sub-gift-box{margin-top:12px;border-radius:12px;border:1px solid rgba(199,210,254,.8);background:linear-gradient(to bottom right,#eef2ffe6,#f5f3ffcc);padding:10px;display:flex;align-items:flex-start;gap:8px}.sub-gift-box strong{display:block;color:#111827;font-size:.78rem;margin-bottom:2px}.sub-gift-box small{color:#4b5563;font-size:.72rem;line-height:1.45}.sub-divider{margin:14px 0;height:1px;background:#e5e7ebcc}.sub-plan-content ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sub-plan-content li{display:flex;align-items:flex-start;gap:8px}.sub-plan-content li svg{color:#14b8a6;margin-top:2px;flex-shrink:0}.sub-plan-card.yearly .sub-plan-content li svg{color:#6366f1}.sub-plan-content li span{color:#374151;font-size:.8rem;line-height:1.5}.sub-checkout-card{margin-top:20px;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sub-checkout-card h3{margin:0 0 4px;color:#111827;font-size:1.06rem}.sub-checkout-card p{margin:0;color:#6b7280;font-size:.84rem}.sub-checkout-actions{display:grid;gap:10px;justify-items:end}.sub-checkout-actions label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#4b5563;font-size:.8rem}.sub-checkout-actions input{position:absolute;opacity:0;pointer-events:none}.sub-checkbox{width:18px;height:18px;border-radius:5px;border:1px solid #d1d5db;background:#fff;display:grid;place-items:center;color:#fff}.sub-checkout-actions input:checked+.sub-checkbox{background:#14b8a6;border-color:#14b8a6}.sub-checkout-actions .sub-checkbox svg{opacity:0}.sub-checkout-actions input:checked+.sub-checkbox svg{opacity:1}.sub-checkout-actions>button{border:0;border-radius:12px;background:#111827;color:#fff;font-size:.92rem;font-weight:500;padding:11px 22px;cursor:pointer}.sub-checkout-actions>button:hover{background:#1f2937}.sub-checkout-actions>button:disabled{opacity:.65;cursor:not-allowed}.sub-active-wrap{max-width:940px}.sub-gift-alert{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(to right,#6366f1,#8b5cf6,#6366f1);color:#fff;padding:18px;margin-bottom:18px;display:flex;align-items:center;gap:12px}.sub-gift-glow{position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:999px;background:#ffffff3d;filter:blur(40px)}.sub-gift-icon{width:50px;height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff2e;display:grid;place-items:center;font-size:1.6rem;position:relative;z-index:1}.sub-gift-alert h2{margin:0 0 2px;font-size:1.16rem}.sub-gift-alert p{margin:0;font-size:.82rem;color:#e0e7ff}.sub-gift-alert button{margin-left:auto;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff24;color:#fff;font-size:.78rem;font-weight:500;padding:8px 12px;cursor:pointer;position:relative;z-index:1}.sub-active-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;overflow:hidden}.sub-active-head{padding:18px;border-bottom:1px solid rgba(229,231,235,.72);display:flex;align-items:center;gap:8px}.sub-active-head h2{margin:0;color:#111827;font-size:1.24rem}.sub-active-grid{display:grid;grid-template-columns:1fr 1fr}.sub-active-features{padding:18px;border-right:1px solid rgba(229,231,235,.7);background:#f9fafb66}.sub-active-features ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sub-active-features li{display:flex;align-items:flex-start;gap:8px}.sub-active-features li svg{color:#14b8a6;margin-top:2px}.sub-active-features li span{color:#374151;font-size:.82rem;line-height:1.5}.sub-active-status-col{padding:18px}.sub-active-status-box{border-radius:16px;border:1px solid rgba(153,246,228,.72);background:linear-gradient(to bottom right,#f0fdfacc,#ecfeffb3);padding:18px;text-align:center}.sub-active-check{width:56px;height:56px;border-radius:999px;border:1px solid rgba(153,246,228,.8);background:#fff;color:#14b8a6;display:grid;place-items:center;margin:0 auto 10px}.sub-active-status-box h3{margin:0 0 5px;color:#111827;font-size:1rem}.sub-active-status-box strong{display:block;color:#0f766e;font-size:.95rem}.sub-active-status-box p{margin:3px 0 10px;color:#0f766e;font-size:.82rem}.sub-renew-pill{border-radius:12px;border:1px solid rgba(153,246,228,.72);background:#fffc;color:#374151;font-size:.82rem;font-weight:500;padding:9px 11px;display:inline-flex;align-items:center;gap:8px}.sub-renew-pill svg{color:#14b8a6}.sub-manage-link{margin-top:12px;width:100%;border:0;background:transparent;color:#6b7280;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.theme-dark .sub-crumb-pill,.theme-dark .sub-redeem-card,.theme-dark .sub-plan-card,.theme-dark .sub-checkout-card,.theme-dark .sub-active-card{border-color:#ffffff14;background:#ffffff08}.theme-dark .sub-head h1,.theme-dark .sub-redeem-head h2,.theme-dark .sub-plan-title-row h3,.theme-dark .sub-checkout-card h3,.theme-dark .sub-active-head h2,.theme-dark .sub-active-status-box h3{color:#fff}.theme-dark .sub-head p,.theme-dark .sub-redeem-card p,.theme-dark .sub-price-daily,.theme-dark .sub-plan-content li span,.theme-dark .sub-checkout-card p,.theme-dark .sub-checkout-actions label,.theme-dark .sub-active-features li span,.theme-dark .sub-manage-link,.theme-dark .sub-crumb-pill{color:#9ca3af}.theme-dark .sub-redeem-row input,.theme-dark .sub-checkbox,.theme-dark .sub-renew-pill,.theme-dark .sub-gift-box{border-color:#ffffff1a;background:#ffffff0d;color:#d1d5db}.theme-dark .sub-price,.theme-dark .sub-active-status-box strong,.theme-dark .sub-active-status-box p,.theme-dark .sub-renew-pill{color:#f3f4f6}.theme-dark .sub-divider,.theme-dark .sub-active-head,.theme-dark .sub-active-features{border-color:#ffffff14}.theme-dark .sub-active-features{background:#ffffff05}.theme-dark .sub-toggle-btn,.theme-dark .sub-redeem-row button,.theme-dark .sub-checkout-actions>button{background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.theme-dark .sub-gift-alert{background:linear-gradient(to right,#4f46e5c7,#7c3aedbd,#4f46e5c7)}@media(max-width:1200px){.sub-plan-grid{grid-template-columns:1fr 1fr}.sub-active-grid{grid-template-columns:1fr}.sub-active-features{border-right:0;border-bottom:1px solid rgba(229,231,235,.72)}}@media(max-width:860px){.sub-top-actions{flex-wrap:wrap;justify-content:flex-end}.sub-redeem-row,.sub-plan-grid{grid-template-columns:1fr}.sub-checkout-card{flex-direction:column;align-items:stretch}.sub-checkout-actions{justify-items:start}.sub-gift-alert{flex-wrap:wrap}.sub-gift-alert button{margin-left:0}} diff --git a/dist/assets/index-AhWpbe-c.css b/dist/assets/index-AhWpbe-c.css new file mode 100644 index 0000000..80b5de3 --- /dev/null +++ b/dist/assets/index-AhWpbe-c.css @@ -0,0 +1 @@ +:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}body{margin:0;min-width:320px}::selection{background:#99f6e4;color:#134e4a}button,input,textarea,select{font-family:inherit}.auth-page{position:relative;min-height:100vh;background:#ecf0f0;color:#1f2937;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.auth-page *{box-sizing:border-box}.orb{position:fixed;border-radius:999px;pointer-events:none;z-index:0}.orb-1{top:-10%;left:-10%;width:50vw;height:50vw;background:#2dd4bf4d;filter:blur(120px)}.orb-2{right:-10%;bottom:-10%;width:60vw;height:60vw;background:#67e8f966;filter:blur(150px)}.orb-3{top:30%;right:20%;width:30vw;height:30vw;background:#34d39933;filter:blur(100px)}.auth-logo-wrap{position:absolute;top:32px;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px}.auth-logo-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#0f766e,#06b6d4);box-shadow:0 12px 22px #0d94884d}.auth-logo-text{font-size:1.25rem;font-weight:500;letter-spacing:-.03em}.auth-card{width:min(420px,100%);position:relative;z-index:5;border-radius:32px;padding:32px;background:#fff9;border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #0000000a}.auth-view{display:grid;gap:24px}.view-enter{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-head{display:grid;gap:8px}.auth-head-center{text-align:center}.auth-head h1{margin:0;font-size:1.55rem;font-weight:500;letter-spacing:-.03em;color:#111827}.auth-head p{margin:0;color:#6b7280;font-size:.9rem;line-height:1.5}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:7px}.auth-field span{font-size:.88rem;font-weight:500;color:#374151;padding-left:4px}.auth-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-field input{width:100%;border:1px solid rgba(255,255,255,.75);border-radius:12px;padding:10px 14px 10px 40px;background:#ffffff8c;color:#111827;font-size:.9rem;outline:none;box-shadow:0 1px 2px #0f172a0f;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.auth-field input::placeholder{color:#9ca3af}.auth-field input:focus{border-color:#14b8a680;box-shadow:0 0 0 3px #14b8a62e,0 6px 18px #0d948814;background:#ffffffd9}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);width:18px;height:18px;border-radius:999px;display:grid;place-items:center;color:#9ca3af;pointer-events:none}.auth-input-icon svg{width:16px;height:16px;display:block}.location-suggestions{margin-top:8px;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffffd1;box-shadow:0 10px 24px #0f172a14;overflow:hidden;max-height:180px;overflow-y:auto}.location-suggestion-item{width:100%;border:0;border-bottom:1px solid rgba(229,231,235,.7);background:transparent;padding:10px 12px;text-align:left;color:#374151;font-size:.86rem;cursor:pointer}.location-suggestion-item:last-child{border-bottom:0}.location-suggestion-item:hover{background:#14b8a61a;color:#115e59}.check-row{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:.9rem}.submit-btn{margin-top:2px;width:100%;border:0;border-radius:12px;padding:10px 14px;font-size:.9rem;font-weight:600;color:#fff;background:#111827;cursor:pointer;transition:background .2s ease}.submit-btn:hover:not(:disabled){background:#1f2937}.submit-btn:disabled{opacity:.65;cursor:default}.auth-foot{margin:0;text-align:center;font-size:.9rem;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.link-btn{border:0;background:transparent;color:#0f766e;font-weight:500;cursor:pointer;padding:0}.link-btn:hover{color:#115e59}.back-link{justify-self:start;font-size:.8rem}.status{margin:18px 0 0;border-radius:12px;padding:10px 12px;font-size:.88rem}.status.success{background:#10b9811f;color:#047857}.status.error{background:#ef44441f;color:#b91c1c}@media(max-width:520px){.auth-card{padding:24px 20px;border-radius:24px}}.dash-root{min-height:100vh;display:flex;background:#ecf0f0;color:#1f2937;overflow:hidden;position:relative}.dash-root *{box-sizing:border-box}.dash-orb{position:fixed;border-radius:999px;pointer-events:none;z-index:0}.dash-orb-1{top:-10%;left:-10%;width:50vw;height:50vw;background:#2dd4bf4d;filter:blur(120px)}.dash-orb-2{right:-10%;bottom:-10%;width:60vw;height:60vw;background:#67e8f966;filter:blur(150px)}.dash-orb-3{top:30%;right:20%;width:30vw;height:30vw;background:#34d39933;filter:blur(100px)}.dash-sidebar{width:256px;margin:24px 0 24px 24px;height:calc(100vh - 48px);padding:24px;background:#ffffff6b;border:1px solid rgba(255,255,255,.6);border-radius:32px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 30px #0000000a;display:flex;flex-direction:column;gap:18px;z-index:2;flex-shrink:0}.dash-mobile-menu-btn,.dash-mobile-overlay{display:none}.dash-mobile-menu-btn{border:1px solid rgba(229,231,235,.82);background:#ffffffbf;width:40px;height:40px;border-radius:12px;color:#111827;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dash-logo-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-left:8px}.dash-logo-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#0f766e,#06b6d4);box-shadow:0 10px 22px #0d948847}.dash-logo-text{font-size:1.25rem;font-weight:500;letter-spacing:-.03em}.dash-nav{display:grid;gap:6px;flex:1;align-content:start}.dash-nav-item{border:0;background:transparent;min-height:50px;border-radius:18px;display:flex;align-items:center;gap:12px;color:#6b7280;padding:0 16px;position:relative;cursor:pointer;text-align:left;font-size:1rem;font-weight:400;transition:.2s ease}.dash-nav-item:hover{background:#ffffff59;color:#111827}.dash-nav-item.active{background:#ffffffa8;color:#0f766e;border:1px solid rgba(255,255,255,.82);box-shadow:0 6px 14px #0f172a08;font-weight:500}.dash-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:999px;background:#0ea5a4}.dash-nav-icon{display:grid;place-items:center}.dash-nav-icon.accent{color:#0f766e}.dash-nav-label{white-space:nowrap}.dash-nav-divider{height:1px;margin:6px 16px;background:#ffffff8c}.dash-nav-badge{margin-left:auto;width:20px;height:20px;border-radius:999px;font-size:.7rem;display:grid;place-items:center;color:#fff;background:#06b6d4}.dash-nav-dot{margin-left:auto;width:7px;height:7px;border-radius:999px;background:#10b981;box-shadow:0 0 8px #10b981cc}.dash-sidebar-pro{margin-top:auto;border-radius:18px;border:1px solid rgba(20,184,166,.2);background:linear-gradient(135deg,#14b8a614,#06b6d414);padding:14px;position:relative;overflow:hidden;text-align:center}.dash-sidebar-pro svg{color:#0f766e;margin:0 auto 8px;position:relative;z-index:1}.dash-sidebar-pro-glow{position:absolute;top:-22px;right:-22px;width:88px;height:88px;border-radius:999px;background:#14b8a633;filter:blur(20px)}.dash-sidebar-pro h4{position:relative;z-index:1;margin:0 0 4px;font-size:.86rem}.dash-sidebar-pro p{position:relative;z-index:1;margin:0;color:#6b7280;font-size:.76rem}.dash-main{flex:1;margin:24px 24px 24px 32px;height:calc(100vh - 48px);overflow-y:auto;padding-right:8px;z-index:1}.dash-topbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:28px;padding-top:8px;position:relative;z-index:5}.dash-topbar-actions{display:inline-flex;align-items:center;gap:8px}.dash-theme-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;color:#111827;cursor:pointer;font-size:.75rem;font-weight:500}.dash-home-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;color:#111827;cursor:pointer;font-size:.75rem;font-weight:500;text-decoration:none}.dash-home-btn:hover,.dash-theme-btn:hover{background:#ffffffd6}.dash-profile-wrap{position:relative}.dash-profile-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:6px 12px 6px 6px;display:flex;align-items:center;gap:8px;color:#111827;cursor:pointer}.dash-profile-avatar{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.8);object-fit:cover}.dash-profile-avatar-fallback{background:linear-gradient(135deg,#0f766e,#06b6d4);display:grid;place-items:center;color:#fff;font-size:.86rem;font-weight:600}.dash-profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#ffffffd1;border:1px solid rgba(255,255,255,.82);border-radius:16px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 10px 36px #0000001a;padding:8px;opacity:0;visibility:hidden;transform:scale(.96);transform-origin:top right;transition:.18s ease}.dash-profile-wrap:hover .dash-profile-menu,.dash-profile-wrap:focus-within .dash-profile-menu{opacity:1;visibility:visible;transform:scale(1)}.dash-profile-menu button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:8px;border-radius:10px;padding:9px 10px;color:#4b5563;cursor:pointer}.dash-profile-menu button:hover{background:#ffffffe6;color:#111827}.dash-profile-menu .danger{color:#e11d48}.dash-profile-divider{height:1px;background:#d1d5dbcc;margin:6px 0}.dash-welcome{margin-bottom:28px}.dash-welcome h1{margin:0;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.dash-welcome p{margin:8px 0 0;color:#6b7280}.dash-loading{margin:0 0 14px;color:#6b7280}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding-bottom:24px}.dash-grid-main,.dash-grid-side{display:grid;gap:24px;align-content:start}.dash-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.dash-card:hover{transform:translateY(-1px);box-shadow:0 12px 34px #0f172a0f}.dash-card h2,.dash-card h3,.dash-card h4,.dash-card p{margin:0}.dash-card-head{margin-bottom:16px}.dash-card-head-inline{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-card-head h2{font-size:1.15rem;font-weight:500;letter-spacing:-.01em}.dash-job-list,.dash-message-list,.dash-sim-list,.dash-ai-list,.dash-agent-list{display:grid;gap:10px}.dash-job-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;background:#ffffff80;border:1px solid rgba(255,255,255,.72);transition:.2s ease;cursor:pointer}.dash-job-item:hover{background:#fffc;box-shadow:0 4px 14px #0f172a0f}.dash-job-item:focus-visible{outline:2px solid rgba(20,184,166,.45);outline-offset:2px}.dash-job-left{display:flex;align-items:center;gap:10px;min-width:0}.dash-company-chip{width:40px;height:40px;border-radius:12px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:600;flex-shrink:0}.dash-job-item h4{font-size:.95rem;margin-bottom:2px}.dash-job-item p{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-job-arrow-btn{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;display:grid;place-items:center;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.dash-job-item:hover .dash-job-arrow-btn{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.dash-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dash-message-item,.dash-sim-item,.dash-agent-item{border-radius:14px;padding:10px;background:#ffffff75;border:1px solid rgba(255,255,255,.68);transition:.2s ease}.dash-message-item{display:flex;align-items:center;gap:10px}.dash-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#14b8a633,#06b6d433);color:#0f766e;font-size:.76rem;font-weight:700;flex-shrink:0}.dash-message-item h4{font-size:.84rem;margin-bottom:1px}.dash-message-item p{color:#6b7280;font-size:.76rem}.dash-message-item:hover{background:#fffc}.dash-sim-item{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;cursor:pointer}.dash-sim-item:hover{background:#ffffffd1}.dash-sim-left{display:flex;align-items:center;gap:10px}.dash-sim-left h4{margin:0;font-size:.84rem;font-weight:500}.dash-sim-left p{margin:0;color:#6b7280;font-size:.74rem}.dash-sim-icon{width:36px;height:36px;border-radius:10px;border:1px solid transparent;display:grid;place-items:center;flex-shrink:0}.dash-sim-icon.teal{background:#ecfdf5;border-color:#ccfbf1;color:#0f766e}.dash-sim-icon.purple{background:#f5f3ff;border-color:#ede9fe;color:#7c3aed}.dash-sim-icon.amber{background:#fffbeb;border-color:#fef3c7;color:#d97706}.dash-sim-icon.blue{background:#eff6ff;border-color:#dbeafe;color:#2563eb}.dash-sim-icon.gray{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.dash-sim-right{text-align:right}.dash-sim-item strong{color:#059669;font-size:.8rem;display:block;margin-bottom:4px}.dash-sim-item strong.warn{color:#d97706}.dash-sim-item strong.na{color:#6b7280}.dash-progress{width:64px;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.dash-progress span{display:block;height:100%;border-radius:inherit;background:#10b981}.dash-progress span.warn{background:#f59e0b}.dash-ai-card{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;position:relative;overflow:hidden;border-radius:24px;box-shadow:0 20px 32px -10px #14b8a638}.dash-ai-card:hover{transform:none;box-shadow:0 20px 32px -10px #14b8a638}.dash-ai-content{position:relative;z-index:10}.dash-ai-peel{position:absolute;top:-14px;right:-14px;width:96px;height:96px;border-bottom-left-radius:48px;border-top-right-radius:28px;background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);box-shadow:-10px 10px 20px #0000001a;transform-origin:top right;transition:transform .2s ease}.dash-ai-card-group:hover .dash-ai-peel{transform:scale(1.08)}.dash-ai-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.dash-ai-head svg{color:#ccfbf1}.dash-ai-card h3{font-size:1.125rem;margin-bottom:0;font-weight:500;letter-spacing:-.01em}.dash-ai-card p{color:#ccfbf1;margin-bottom:24px;font-size:.875rem;font-weight:400}.dash-ai-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.dash-ai-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:background-color .2s ease}.dash-ai-item:hover{background:#fff3}.dash-ai-item-icon{margin-top:2px;width:24px;height:24px;border-radius:999px;border:0;background:#fff3;display:grid;place-items:center;flex-shrink:0}.dash-ai-item strong{display:block;font-size:.875rem;margin-bottom:2px;color:#fff;font-weight:500}.dash-ai-item small{display:block;font-size:.75rem;color:#ccfbf1;line-height:1.4}.dash-ai-card button{width:100%;margin-top:16px;border:0;border-radius:12px;padding:10px 12px;font-size:.875rem;font-weight:500;color:#0f766e;background:#fff;cursor:pointer;box-shadow:0 1px 2px #0f172a1f;transition:background-color .2s ease}.dash-ai-card button:hover{background:#f0fdfa}.dash-ai-xl-only{display:none}.dash-agent-item span{display:block;font-size:.84rem;font-weight:500}.dash-agent-item small{display:inline-flex;align-items:center;gap:4px;color:#6b7280;font-size:.75rem}.dash-agent-item{display:flex;align-items:center;justify-content:space-between}.dash-agent-item:hover{background:#ffffffd1}.dash-agent-item.muted{opacity:.72}.dash-agent-item.muted:hover{opacity:1}.dash-switch{position:relative;width:38px;height:22px;display:inline-block;flex-shrink:0}.dash-switch input{position:absolute;opacity:0;inset:0}.dash-switch span{position:absolute;inset:0;background:#d1d5db;border-radius:999px;transition:.2s ease}.dash-switch span:after{content:"";position:absolute;width:16px;height:16px;border-radius:999px;background:#fff;top:3px;left:3px;transition:.2s ease;box-shadow:0 1px 2px #0f172a33}.dash-switch input:checked+span{background:#14b8a6}.dash-switch input:checked+span:after{transform:translate(16px)}.dash-icon-btn{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#4b5563;display:grid;place-items:center;cursor:pointer;transition:.2s ease}.dash-icon-btn:hover{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.dash-outline-btn{width:100%;margin-top:10px;border:1px dashed rgba(156,163,175,.6);background:transparent;border-radius:10px;padding:10px;color:#6b7280;cursor:pointer;transition:.2s ease}.dash-outline-btn:hover{border-color:#4b556399;color:#1f2937}.dash-muted{color:#6b7280;font-size:.82rem}.theme-dark.dash-root{background:#0a0a0a;color:#d1d5db}.theme-dark .dash-orb-1{background:#14b8a61a}.theme-dark .dash-orb-2{background:#06b6d41a}.theme-dark .dash-orb-3{background:#10b9811a}.theme-dark .dash-sidebar{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 8px 30px #0003}.theme-dark .dash-mobile-menu-btn{border-color:#ffffff14;background:#ffffff0f;color:#f3f4f6}.theme-dark .dash-logo-text,.theme-dark .dash-welcome h1,.theme-dark .dash-card h2,.theme-dark .dash-card h3,.theme-dark .dash-card h4{color:#fff}.theme-dark .dash-nav-item{color:#9ca3af}.theme-dark .dash-nav-item:hover{background:#ffffff0d;color:#f3f4f6}.theme-dark .dash-nav-item.active{background:#ffffff1a;border-color:#ffffff14;color:#2dd4bf}.theme-dark .dash-nav-divider,.theme-dark .dash-sidebar-pro p,.theme-dark .dash-welcome p,.theme-dark .dash-loading,.theme-dark .dash-muted{color:#9ca3af}.theme-dark .dash-sidebar-pro{background:linear-gradient(135deg,#14b8a61a,#06b6d40d);border-color:#14b8a633}.theme-dark .dash-topbar .dash-theme-btn,.theme-dark .dash-home-btn,.theme-dark .dash-profile-btn{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .dash-topbar .dash-theme-btn:hover,.theme-dark .dash-home-btn:hover,.theme-dark .dash-profile-btn:hover{background:#ffffff14}.theme-dark .dash-profile-menu{background:#12141af2;border-color:#ffffff1a}.theme-dark .dash-profile-menu button{color:#d1d5db}.theme-dark .dash-profile-menu button:hover{background:#ffffff0d;color:#fff}.theme-dark .dash-card:not(.dash-ai-card){background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.theme-dark .dash-ai-card{background:linear-gradient(135deg,#14b8a6,#06b6d4);border-color:#ffffff26;box-shadow:0 20px 32px -10px #14b8a638}.theme-dark .dash-job-item,.theme-dark .dash-message-item,.theme-dark .dash-sim-item,.theme-dark .dash-agent-item{background:#ffffff05;border-color:#ffffff0d}.theme-dark .dash-job-item:hover,.theme-dark .dash-message-item:hover,.theme-dark .dash-sim-item:hover,.theme-dark .dash-agent-item:hover{background:#ffffff0d;border-color:#ffffff1a}.theme-dark .dash-job-item p,.theme-dark .dash-message-item p,.theme-dark .dash-sim-left p,.theme-dark .dash-agent-item small{color:#9ca3af}.theme-dark .dash-job-arrow-btn,.theme-dark .dash-icon-btn{border-color:#ffffff1a;background:#ffffff0d;color:#6b7280}.theme-dark .dash-job-item:hover .dash-job-arrow-btn,.theme-dark .dash-icon-btn:hover{background:#14b8a61a;color:#2dd4bf;border-color:#14b8a64d}.theme-dark .dash-company-chip{background:#1f2937;border:1px solid rgba(255,255,255,.08)}.theme-dark .dash-progress{background:#ffffff1a}@media(max-width:1200px){.dash-grid{grid-template-columns:1fr}}@media(max-width:980px){.dash-main{padding-right:0}.dash-split-grid{grid-template-columns:1fr}}@media(max-width:1000px){.dash-main{margin:64px 16px 16px;height:calc(100vh - 80px);padding-right:0}.dash-mobile-menu-btn{display:inline-flex;position:fixed;top:14px;left:14px;z-index:60}.dash-mobile-overlay{display:block;position:fixed;inset:0;z-index:49;border:0;margin:0;padding:0;background:#02061757;opacity:0;pointer-events:none;transition:opacity .2s ease}.dash-mobile-overlay.open{opacity:1;pointer-events:auto}.dash-sidebar{position:fixed;top:0;left:0;margin:0;width:min(320px,calc(100vw - 28px));height:100vh;border-radius:0 24px 24px 0;transform:translate(-110%);transition:transform .24s ease;z-index:50}.dash-sidebar.open{transform:translate(0)}}@media(min-width:1280px){.dash-ai-xl-only{display:flex}}.ai-agent-main{display:flex;flex-direction:column}.ai-head{margin-bottom:20px}.ai-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.ai-head p{margin:0;color:#6b7280;font-size:1.05rem}.theme-dark .ai-head h1,.theme-dark .ai-head p,.theme-dark .ai-jobs-head h3,.theme-dark .ai-agents-section h3,.theme-dark .ai-create-title h2{color:#fff}.theme-dark .ai-head p,.theme-dark .ai-jobs-head span,.theme-dark .ai-agent-chip-left p,.theme-dark .ai-job-title-wrap p,.theme-dark .ai-job-bottom span{color:#9ca3af}.ai-create-card{margin-bottom:26px;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px}.theme-dark .ai-create-card,.theme-dark .ai-agent-chip-card,.theme-dark .ai-job-card{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.ai-create-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.ai-create-icon{width:40px;height:40px;border-radius:999px;background:#f0fdfa;border:1px solid #ccfbf1;color:#0f766e;display:grid;place-items:center}.ai-create-title h2{margin:0;font-size:1.2rem;font-weight:500}.ai-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.ai-field{display:grid;gap:6px}.ai-field label{margin-left:4px;font-size:.83rem;font-weight:500;color:#374151}.theme-dark .ai-field label,.theme-dark .ai-distance-head label{color:#d1d5db}.ai-field input,.ai-field select{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffff80;padding:10px 12px;font-size:.84rem;color:#111827}.theme-dark .ai-field input,.theme-dark .ai-field select,.theme-dark .ai-location-wrap input{background:#ffffff08;border-color:#ffffff14;color:#f3f4f6}.ai-field input:focus,.ai-field select:focus{outline:none;border-color:#2dd4bfe6;box-shadow:0 0 0 4px #14b8a61a}.ai-location-wrap{position:relative}.ai-location-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af}.ai-location-wrap input{padding-left:34px}.ai-distance-field{align-content:center}.ai-distance-head{display:flex;align-items:center;justify-content:space-between}.ai-distance-head span{font-size:.72rem;color:#0f766e;border:1px solid #ccfbf1;border-radius:8px;background:#f0fdfa;padding:3px 8px;font-weight:500}.ai-distance-field input[type=range]{appearance:none;width:100%;height:6px;border-radius:999px;background:#ffffffd9;border:1px solid rgba(255,255,255,.9)}.ai-distance-field input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:#14b8a6;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0000001a}.ai-distance-field input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#14b8a6;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0000001a}.ai-create-actions{margin-top:20px;display:flex;justify-content:flex-end}.ai-create-actions button{border:0;border-radius:12px;background:#111827;color:#fff;padding:10px 16px;font-size:.84rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.ai-create-actions button:hover{background:#1f2937}.theme-dark .ai-create-actions button{background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.ai-agents-section{margin-bottom:20px}.ai-agents-section h3{margin:0 0 10px;padding-left:4px;font-size:1.08rem;font-weight:500}.ai-agents-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.ai-agent-chip-card{min-width:280px;background:#ffffffb8;border:1px solid rgba(255,255,255,.82);border-radius:16px;padding:14px;position:relative;overflow:hidden}.ai-agent-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-agent-chip-left{display:flex;align-items:center;gap:8px}.ai-agent-mini-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff}.ai-agent-mini-icon.teal{background:#14b8a6}.ai-agent-mini-icon.indigo{background:#6366f1}.ai-agent-chip-left h4{margin:0;font-size:.84rem;font-weight:500}.ai-agent-chip-left p{margin:1px 0 0;font-size:.72rem;color:#6b7280}.ai-toggle{width:40px;height:20px;border-radius:999px;border:1px solid rgba(156,163,175,.3);background:#d1d5db;padding:0;position:relative;cursor:pointer}.ai-toggle span{width:14px;height:14px;border-radius:999px;background:#fff;position:absolute;left:2px;top:2px;transition:transform .2s ease}.ai-toggle.on{background:#14b8a6}.ai-toggle.on span{transform:translate(20px)}.ai-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.ai-tags span{font-size:.68rem;color:#4b5563;border-radius:8px;background:#fff;border:1px solid rgba(229,231,235,.85);padding:3px 8px}.theme-dark .ai-agent-chip-left h4,.theme-dark .ai-job-title-wrap h4{color:#fff}.theme-dark .ai-tags span,.theme-dark .ai-job-tags span{color:#d1d5db;background:#ffffff0d;border-color:#ffffff1a}.ai-jobs-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-jobs-head h3{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:1.08rem;font-weight:500}.ai-jobs-head h3 svg{color:#14b8a6}.ai-jobs-head span{color:#6b7280;font-size:.7rem;border-radius:8px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:5px 8px}.ai-jobs-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:10px}.ai-job-card{position:relative;overflow:hidden;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:22px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 24px #00000008;padding:16px;display:flex;flex-direction:column;cursor:pointer}.ai-job-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #0f172a12}.ai-job-card:focus-visible{outline:2px solid rgba(20,184,166,.45);outline-offset:2px}.ai-job-rail{position:absolute;top:0;right:0;width:8px;height:100%}.ai-job-rail.teal{background:#14b8a633}.ai-job-rail.indigo{background:#6366f133}.ai-job-top{padding-right:10px;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.ai-company-logo,.ai-company-logo-fallback{width:46px;height:46px;border-radius:10px;object-fit:cover;border:1px solid rgba(229,231,235,.85);background:#fff}.ai-company-logo-fallback{display:grid;place-items:center;color:#111827;font-weight:600}.ai-match-col{display:grid;justify-items:end;gap:4px}.ai-match-pill{display:inline-flex;align-items:center;gap:4px;border-radius:8px;border:1px solid #ccfbf1;background:#f0fdfa;color:#0f766e;padding:4px 8px;font-size:.7rem;font-weight:500}.ai-match-col small{font-size:.62rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.ai-job-title-wrap{margin-bottom:10px}.ai-job-title-wrap h4{margin:0;font-size:.94rem;font-weight:500;color:#111827}.ai-job-title-wrap p{margin:2px 0 0;color:#6b7280;font-size:.78rem}.ai-job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ai-job-tags span{font-size:.66rem;color:#4b5563;border:1px solid rgba(229,231,235,.85);background:#ffffffd1;border-radius:8px;padding:4px 8px}.ai-job-bottom{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.82);display:flex;justify-content:space-between;align-items:center}.theme-dark .ai-job-bottom{border-top-color:#ffffff14}.ai-job-bottom span{font-size:.66rem;color:#9ca3af}.ai-job-bottom button{border:0;background:transparent;color:#111827;font-size:.78rem;font-weight:500;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.ai-job-bottom button:hover{color:#0f766e}.theme-dark .ai-job-bottom button{color:#f3f4f6}.theme-dark .ai-job-bottom button:hover{color:#2dd4bf}@media(max-width:1200px){.ai-form-grid,.ai-jobs-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){.ai-form-grid{grid-template-columns:1fr}.ai-create-actions{justify-content:stretch}.ai-create-actions button{width:100%;justify-content:center}.ai-jobs-head{flex-direction:column;align-items:flex-start}.ai-jobs-grid{grid-template-columns:1fr}}.career-main{position:relative}.career-status-pill{border-radius:999px;border:1px solid #99f6e4;background:#f0fdfacc;color:#0f766e;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:.8rem;font-weight:500}.career-head{max-width:760px;margin-bottom:20px}.career-head-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.career-head-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);color:#fff;display:grid;place-items:center}.career-head h1{margin:0;font-size:clamp(2rem,3.4vw,2.6rem);letter-spacing:-.03em;color:#111827}.career-head-kicker{margin:12px 0 6px;color:#0f766e;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.career-head-desc{margin:0;color:#6b7280;line-height:1.65}.career-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:18px;min-height:calc(100vh - 250px);padding-bottom:18px}.career-agents-col{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #00000008;overflow:hidden;display:flex;flex-direction:column}.career-agents-head{padding:16px;border-bottom:1px solid rgba(229,231,235,.7);background:#ffffff6b}.career-agents-head h2{margin:0 0 10px;color:#111827;font-size:.9rem}.career-agents-head button{width:100%;border:0;border-radius:12px;background:linear-gradient(to right,#14b8a6,#06b6d4);color:#fff;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.82rem;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #14b8a663}.career-agents-list{flex:1;overflow-y:auto;padding:10px;display:grid;align-content:start;gap:4px}.career-agents-list button{width:100%;text-align:left;border:0;border-radius:10px;background:transparent;color:#4b5563;padding:10px 11px;font-size:.82rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.career-agents-list button:hover{background:#f9fafbe6;color:#111827}.career-agents-list button.active{border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;font-weight:500}.career-agents-list button.active i{width:6px;height:6px;border-radius:999px;background:#14b8a6}.career-reco-col{min-width:0;display:flex;flex-direction:column}.career-reco-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.career-reco-head h2{margin:0;color:#111827;font-size:1.03rem;font-weight:500;display:flex;align-items:center;gap:7px}.career-reco-head h2 span{color:#0f766e;border:1px solid #99f6e4;background:#f0fdfa;border-radius:6px;padding:2px 8px;font-size:.84rem}.career-reco-head button{border:0;background:transparent;color:#6b7280;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.career-cards{flex:1;overflow-y:auto;padding-right:6px}.career-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;grid-auto-rows:min-content}.career-card{position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(153,246,228,.5);background:linear-gradient(135deg,#fff,#f0fdfa73);padding:12px;transition:border-color .4s ease,box-shadow .4s ease}.career-card:hover{border-color:#5eead4;box-shadow:0 8px 20px #14b8a614}.career-card-glow{position:absolute;top:-24px;right:-24px;width:100px;height:100px;border-radius:999px;background:linear-gradient(to bottom right,#2dd4bf2e,#22d3ee29);filter:blur(22px);transition:transform .5s ease}.career-card:hover .career-card-glow{transform:scale(1.5)}.career-card-wand{position:absolute;top:11px;right:11px;color:#5eead4}.career-card-content{position:relative;z-index:1}.career-card-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;margin-bottom:10px}.career-card-icon.blue{background:#eff6ff;color:#3b82f6}.career-card-icon.indigo{background:#eef2ff;color:#6366f1}.career-card-icon.emerald{background:#ecfdf5;color:#10b981}.career-card-icon.orange{background:#fff7ed;color:#f97316}.career-card-icon.rose{background:#fff1f2;color:#f43f5e}.career-card-icon.slate{background:#f1f5f9;color:#475569}.career-card h3{margin:0 0 6px;color:#111827;font-size:.8rem;font-weight:500;line-height:1.4}.career-card p{margin:0;font-size:.7rem;line-height:1.4;display:inline-flex;align-items:flex-start;gap:5px}.career-card p.tone.strong{color:#0f766e}.career-card p.tone.neutral{color:#4f46e5}.career-card p.tone.soft{color:#6b7280}.theme-dark .career-status-pill{border-color:#14b8a659;background:#14b8a61f;color:#2dd4bf}.theme-dark .career-head h1,.theme-dark .career-agents-head h2,.theme-dark .career-reco-head h2,.theme-dark .career-card h3{color:#fff}.theme-dark .career-head-desc,.theme-dark .career-agents-list button,.theme-dark .career-reco-head button,.theme-dark .career-card p.tone.soft,.theme-dark .career-head-kicker{color:#9ca3af}.theme-dark .career-head-icon,.theme-dark .career-agents-col,.theme-dark .career-card{border-color:#ffffff14}.theme-dark .career-agents-col,.theme-dark .career-card{background:#ffffff05}.theme-dark .career-agents-head{border-color:#ffffff14;background:#ffffff08}.theme-dark .career-agents-list button:hover{background:#ffffff0f;color:#f3f4f6}.theme-dark .career-agents-list button.active,.theme-dark .career-reco-head h2 span{border-color:#14b8a659;background:#14b8a61f;color:#2dd4bf}.theme-dark .career-card-glow{background:linear-gradient(to bottom right,#2dd4bf26,#6366f124)}.theme-dark .career-card-wand{color:#2dd4bf}@media(max-width:1180px){.career-grid{grid-template-columns:1fr;min-height:auto}.career-agents-col{max-height:280px}.career-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.career-cards{grid-template-columns:1fr}}.cv-head{margin-bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.cv-design-toggle{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#111827;cursor:pointer;transition:background-color .2s ease;font-size:.8rem;font-weight:500}.cv-design-toggle:hover{background:#ffffffd6}.cv-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.cv-head p{margin:0;color:#6b7280;font-size:1.1rem}.cv-edit-btn{border:0;border-radius:12px;background:#111827;color:#fff;padding:10px 16px;font-size:.88rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 6px 14px #0f172a29}.cv-edit-btn:hover{background:#1f2937}.cv-layout{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding-bottom:24px}.cv-left,.cv-right{display:grid;gap:24px;align-content:start}.cv-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px}.cv-avatar-wrap{display:flex;justify-content:center;margin-bottom:16px}.cv-avatar{width:96px;height:96px;border-radius:22px;object-fit:cover;border:4px solid rgba(255,255,255,.85);box-shadow:0 8px 16px #0f172a1f}.cv-avatar-fallback{background:linear-gradient(135deg,#0f766e,#06b6d4);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:600}.cv-section-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.cv-section-head svg{color:#0f766e}.cv-section-head h2{margin:0;font-size:1.08rem;font-weight:500;letter-spacing:-.01em}.cv-personal-list{display:grid;gap:10px}.cv-personal-list div{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid rgba(255,255,255,.62);padding-bottom:8px}.cv-personal-list div:last-child{border-bottom:0;padding-bottom:0}.cv-personal-list span{color:#6b7280;font-size:.84rem}.cv-personal-list strong{color:#111827;font-size:.84rem;font-weight:500;text-align:right}.cv-chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.cv-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:10px;background:#fff;border:1px solid rgba(229,231,235,.85);box-shadow:0 1px 3px #0f172a0f;color:#374151;font-size:.74rem;font-weight:500}.cv-language-list{display:grid;gap:10px}.cv-language-list div{display:flex;justify-content:space-between;align-items:center}.cv-language-list strong{font-size:.86rem;font-weight:500;color:#111827}.cv-language-list span{font-size:.72rem;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;padding:4px 10px}.cv-mini-grid{display:grid;gap:24px}.cv-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.cv-list li{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:#374151}.cv-list li svg{color:#14b8a6}.cv-timeline-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.cv-timeline-icon{width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.85);background:#fffc;display:grid;place-items:center;box-shadow:0 2px 8px #0f172a14}.cv-timeline-icon svg{color:#0f766e}.cv-timeline-head h2{margin:0;font-size:1.45rem;letter-spacing:-.01em;font-weight:500}.cv-timeline{position:relative;display:grid;gap:18px}.cv-timeline:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#5eead4,#a5f3fc,transparent)}.cv-timeline-item{display:flex;align-items:flex-start;gap:10px;position:relative}.cv-timeline-dot{width:40px;height:40px;border-radius:999px;border:4px solid #ecf0f0;background:#fff;display:grid;place-items:center;box-shadow:0 2px 8px #0f172a14;z-index:2;flex-shrink:0}.cv-timeline-dot svg{color:#0f766e}.cv-timeline-card{width:calc(100% - 50px);background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:18px;transition:.2s ease}.cv-timeline-card:hover{background:#ffffffd1;box-shadow:0 10px 24px #0f172a14}.cv-timeline-card h3{margin:0 0 8px;font-size:1rem;font-weight:500;color:#111827}.cv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.cv-meta strong{color:#0f766e;font-size:.84rem;font-weight:500}.cv-meta span{color:#6b7280;font-size:.72rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;padding:2px 8px}.cv-timeline-card p{margin:0;color:#4b5563;font-size:.84rem;line-height:1.55}.cv-divider{height:1px;background:#fff9}.cv-design-reference .cv-card{border-radius:28px;box-shadow:0 10px 28px #0f172a0d}.cv-design-reference .cv-timeline-head h2{font-size:1.55rem}.theme-dark .cv-head h1,.theme-dark .cv-head p,.theme-dark .cv-timeline-head h2,.theme-dark .cv-section-head h2,.theme-dark .cv-personal-list strong,.theme-dark .cv-language-list strong,.theme-dark .cv-timeline-card h3{color:#fff}.theme-dark .cv-head p,.theme-dark .cv-personal-list span,.theme-dark .cv-list li,.theme-dark .cv-meta span,.theme-dark .cv-timeline-card p{color:#9ca3af}.theme-dark .cv-design-toggle{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .cv-design-toggle:hover{background:#ffffff14}.theme-dark .cv-card,.theme-dark .cv-timeline-card{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.theme-dark .cv-chip{background:#ffffff0d;border-color:#ffffff1a;color:#d1d5db}.theme-dark .cv-language-list span{color:#2dd4bf;background:#14b8a61a;border-color:#14b8a64d}.theme-dark .cv-timeline:before{background:linear-gradient(to bottom,rgba(20,184,166,.5),rgba(6,182,212,.3),transparent)}.theme-dark .cv-timeline-dot{background:#111827;border-color:#0a0a0a}.theme-dark .cv-meta strong{color:#2dd4bf}.theme-dark .cv-divider{background:#ffffff14}@media(max-width:1200px){.cv-layout{grid-template-columns:1fr}.cv-head{flex-direction:column;align-items:flex-start}}@media(min-width:980px){.cv-design-reference .cv-timeline:before{left:50%;transform:translate(-50%);background:linear-gradient(to bottom,#86efac,#67e8f9,transparent)}.cv-design-reference .cv-timeline-item{justify-content:space-between}.cv-design-reference .cv-timeline-item:nth-child(odd){flex-direction:row-reverse}.cv-design-reference .cv-timeline-dot{position:absolute;left:50%;transform:translate(-50%)}.cv-design-reference .cv-timeline-card{width:calc(50% - 2.5rem);padding:24px;border-radius:28px}}@media(max-width:860px){.cv-design-toggle span{display:none}}.homepage-react-root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#14b8a633;border-radius:20px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#14b8a666}@keyframes float-slow{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.02)}}@keyframes float-medium{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-fast{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-float-slow{animation:float-slow 8s ease-in-out infinite}.animate-float-medium{animation:float-medium 6s ease-in-out infinite}.animate-float-fast{animation:float-fast 4s ease-in-out infinite}.text-gradient{background:linear-gradient(135deg,#0f172a,#0d9488,#4338ca);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-subtle{background:linear-gradient(135deg,#1f2937,#4b5563);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.homepage-nav{position:fixed}.homepage-nav-hamburger{display:none;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.75);background:#fff9;align-items:center;justify-content:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.homepage-nav-popup{position:absolute;top:calc(100% + 10px);right:0;width:min(320px,calc(100vw - 2rem));border-radius:1.25rem;border:1px solid rgba(255,255,255,.75);background:linear-gradient(135deg,#ffffffeb,#ffffffa8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 45px #0000001a;padding:.75rem;display:none;flex-direction:column;gap:.35rem}.homepage-nav-popup a{text-decoration:none;color:#374151;font-size:1rem;border-radius:.85rem;padding:.7rem .9rem;transition:background-color .2s ease,color .2s ease}.homepage-nav-popup a:hover{background:#0f172a0f;color:#111827}.homepage-nav-popup-cta{color:#fff!important;background:linear-gradient(to right,#111827,#1f2937);border:1px solid rgba(55,65,81,.8)}.homepage-nav-popup.open{display:flex}@media(max-width:990px){.homepage-nav-links,.homepage-nav-actions{display:none}.homepage-nav-hamburger{display:inline-flex}}.job-detail-back-btn{border:1px solid rgba(255,255,255,.82);background:#ffffff9e;border-radius:999px;padding:8px 13px;display:inline-flex;align-items:center;gap:8px;color:#4b5563;cursor:pointer;font-size:.8rem;font-weight:500}.job-detail-back-btn:hover{background:#ffffffd6;color:#111827}.job-detail-back-row{margin-bottom:16px}.job-detail-header{margin-bottom:24px;display:flex;align-items:flex-start;gap:18px}.job-detail-logo-wrap{width:80px;height:80px;border-radius:18px;overflow:hidden;flex-shrink:0}.job-detail-logo-image,.job-detail-logo-fallback{width:100%;height:100%;object-fit:cover;border-radius:18px;border:1px solid rgba(229,231,235,.9)}.job-detail-logo-fallback{background:#fff;display:grid;place-items:center;color:#111827;font-size:1.9rem;font-weight:600}.job-detail-heading h1{margin:0 0 10px;font-size:clamp(2rem,3.8vw,2.8rem);letter-spacing:-.03em;color:#111827}.job-detail-meta{display:flex;flex-wrap:wrap;gap:10px 14px}.job-detail-meta span{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:.86rem}.job-detail-grid{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,.65fr);gap:24px;padding-bottom:20px}.job-detail-main-card{display:grid;gap:20px}.job-detail-section h2,.job-detail-section h3{margin:0 0 10px;color:#111827;font-weight:500;letter-spacing:-.01em}.job-detail-section h2{font-size:1.2rem}.job-detail-section h3{font-size:1rem}.job-detail-section p{margin:0;color:#4b5563;line-height:1.65;font-size:.95rem}.job-detail-description-list{display:grid;gap:10px}.job-detail-rich-html{color:#4b5563;line-height:1.65;font-size:.95rem}.job-detail-rich-html p,.job-detail-rich-html ul,.job-detail-rich-html ol{margin:0 0 12px}.job-detail-rich-html ul,.job-detail-rich-html ol{padding-left:20px}.job-detail-rich-html li{margin-bottom:6px}.job-detail-rich-html a{color:#0f766e}.job-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.job-detail-info-grid>div{border:1px solid rgba(229,231,235,.82);background:#ffffffa3;border-radius:12px;padding:11px 12px;display:grid;gap:4px}.job-detail-info-grid span{color:#6b7280;font-size:.76rem}.job-detail-info-grid strong{color:#111827;font-size:.86rem;font-weight:600}.job-detail-side-col{display:grid;gap:16px;align-content:start}.job-detail-actions-card{display:grid;gap:10px;position:static}.job-detail-actions-card h2{margin:0 0 4px;color:#111827;font-size:1.03rem;font-weight:500}.job-detail-action-primary,.job-detail-action-secondary{border-radius:14px;border:1px solid;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;font-size:.86rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.job-detail-action-primary{color:#0f766e;border-color:#99f6e4;background:linear-gradient(to right,#ecfeff,#f0fdfa)}.job-detail-action-primary:hover{background:linear-gradient(to right,#cffafe,#ccfbf1)}.job-detail-action-secondary{color:#3730a3;border-color:#c7d2fe;background:linear-gradient(to right,#eef2ff,#f5f3ff)}.job-detail-action-secondary:hover{background:linear-gradient(to right,#e0e7ff,#ede9fe)}.job-detail-action-primary span,.job-detail-action-secondary span{display:inline-flex;align-items:center;gap:8px}.job-detail-action-divider{height:1px;background:#e5e7ebd6;margin:3px 0}.job-detail-text-action{border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;color:#4b5563;border-radius:10px;padding:9px 10px;font-size:.84rem;font-weight:500;cursor:pointer;text-decoration:none}.job-detail-text-action:hover{background:#f9fafbeb;color:#111827}.job-detail-text-action:disabled{opacity:.7;cursor:not-allowed}.job-detail-text-action.link{justify-content:flex-start}.job-detail-text-action.success:hover{background:#ecfdf5;color:#047857}.job-detail-text-action.success.is-done{color:#059669}.job-detail-company-card h3{margin:0 0 12px;color:#111827;font-size:1rem;font-weight:500}.job-detail-company-list{display:grid;gap:10px}.job-detail-company-list>div{border:1px solid rgba(229,231,235,.82);background:#ffffffa3;border-radius:12px;padding:10px 12px;display:grid;gap:4px}.job-detail-company-list span{color:#6b7280;font-size:.74rem}.job-detail-company-list strong{color:#111827;font-size:.86rem}.theme-dark .job-detail-back-btn{border-color:#ffffff14;background:#ffffff08;color:#d1d5db}.theme-dark .job-detail-back-btn:hover{background:#ffffff14;color:#fff}.theme-dark .job-detail-heading h1,.theme-dark .job-detail-section h2,.theme-dark .job-detail-section h3,.theme-dark .job-detail-actions-card h2,.theme-dark .job-detail-company-card h3,.theme-dark .job-detail-info-grid strong,.theme-dark .job-detail-company-list strong{color:#fff}.theme-dark .job-detail-meta span,.theme-dark .job-detail-section p,.theme-dark .job-detail-rich-html,.theme-dark .job-detail-info-grid span,.theme-dark .job-detail-company-list span,.theme-dark .job-detail-text-action{color:#9ca3af}.theme-dark .job-detail-rich-html a{color:#2dd4bf}.theme-dark .job-detail-info-grid>div,.theme-dark .job-detail-company-list>div{border-color:#ffffff14;background:#ffffff08}.theme-dark .job-detail-action-divider{background:#ffffff14}.theme-dark .job-detail-text-action:hover{background:#ffffff14;color:#f3f4f6}@media(max-width:1180px){.job-detail-grid{grid-template-columns:1fr}}@media(max-width:760px){.job-detail-header{flex-direction:column;gap:12px}.job-detail-logo-wrap{width:68px;height:68px}.job-detail-info-grid{grid-template-columns:1fr}}.jobs-page-head{margin-bottom:28px}.jobs-page-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em;color:#111827}.jobs-page-head p{margin:0;color:#6b7280;font-size:1.1rem}.theme-dark .jobs-page-head h1,.theme-dark .jobs-page-head p,.theme-dark .jobs-content-head h2{color:#fff}.theme-dark .jobs-page-head p,.theme-dark .jobs-content-head span,.theme-dark .jobs-card-title p,.theme-dark .jobs-card-description,.theme-dark .jobs-card-distance{color:#9ca3af}.jobs-layout-toggle{border:1px solid rgba(255,255,255,.8);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#111827;cursor:pointer;transition:background-color .2s ease;font-size:.8rem;font-weight:500}.jobs-layout-toggle:hover{background:#ffffffd6}.theme-dark .jobs-layout-toggle{border-color:#ffffff14;background:#ffffff08;color:#f3f4f6}.theme-dark .jobs-layout-toggle:hover{background:#ffffff14}.jobs-grid{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding-bottom:24px}.jobs-filter{position:sticky;top:0;height:fit-content}.theme-dark .jobs-filter,.theme-dark .jobs-card,.theme-dark .jobs-top-filters{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.jobs-filter h2{margin:0 0 24px;font-size:1.1rem;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.jobs-filter h2 svg{color:#0f766e}.theme-dark .jobs-filter h2,.theme-dark .jobs-top-filter-title h2,.theme-dark .jobs-card-title h3{color:#fff}.jobs-filter-block{margin-bottom:24px}.jobs-filter-block>label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:500;color:#374151}.theme-dark .jobs-filter-block>label,.theme-dark .jobs-range-head label,.theme-dark .jobs-hours-row>div>label{color:#d1d5db}.jobs-filter-block>p{margin:0 0 12px;font-size:.74rem;color:#6b7280}.jobs-search-wrap{position:relative}.jobs-search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af}.jobs-search-wrap input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:10px 14px 10px 40px;font-size:.87rem;color:#111827;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.theme-dark .jobs-search-wrap input,.theme-dark .jobs-title-input-wrap,.theme-dark .jobs-title-input-wrap input,.theme-dark .jobs-radio-btn,.theme-dark .jobs-hour-btn{background:#ffffff08;border-color:#ffffff14;color:#d1d5db}.theme-dark .jobs-search-wrap input::placeholder,.theme-dark .jobs-title-input-wrap input::placeholder{color:#6b7280}.jobs-search-wrap input::placeholder{color:#9ca3af}.jobs-search-wrap input:focus{outline:none;border-color:#2dd4bfe6;background:#fff;box-shadow:0 0 0 4px #14b8a61a}.jobs-separator{height:1px;background:#fff9;margin-bottom:24px}.jobs-radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jobs-radio-btn{border:1px solid rgba(255,255,255,.55);background:#ffffff80;color:#6b7280;font-size:.84rem;font-weight:500;border-radius:12px;padding:10px 12px;cursor:pointer;transition:.2s ease}.jobs-radio-btn:hover{background:#ffffffd1}.jobs-radio-btn.active{color:#0f766e;background:#f0fdfa;border-color:#bae6fd}.theme-dark .jobs-radio-btn.active{color:#2dd4bf;background:#14b8a61a;border-color:#14b8a64d}.jobs-range-block{margin-bottom:28px}.jobs-range-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.jobs-range-head span{font-size:.84rem;font-weight:500;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:6px;padding:2px 8px}.jobs-filter input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent}.jobs-filter input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:20px;width:20px;border-radius:999px;background:#fff;border:2px solid #14b8a6;cursor:pointer;margin-top:-8px;box-shadow:0 2px 6px #0000001a}.jobs-filter input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;border-radius:2px;background:#14b8a633}.jobs-filter input[type=range]:focus{outline:none}.jobs-range-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.74rem;color:#9ca3af}.jobs-hours-grid{display:flex;flex-wrap:wrap;gap:8px}.jobs-hour-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.55);background:#ffffff80;color:#6b7280;font-size:.84rem;font-weight:500;cursor:pointer;transition:.2s ease}.jobs-hour-btn:hover{background:#ffffffd1}.jobs-hour-btn.active{background:#14b8a6;color:#fff;border-color:#0f766e}.theme-dark .jobs-hour-btn.active{background:#14b8a6;border-color:#14b8a680}.jobs-apply-btn{width:100%;margin-top:8px;border:0;border-radius:12px;background:#111827;color:#fff;padding:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;box-shadow:0 6px 14px #0f172a29}.theme-dark .jobs-apply-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.jobs-apply-btn:hover{background:#1f2937}.jobs-content-head{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:8px}.jobs-content-head h2{margin:0;font-size:1.25rem;font-weight:500;letter-spacing:-.01em;color:#111827}.jobs-content-head span{font-size:.9rem;color:#6b7280}.jobs-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.jobs-card{background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;padding:24px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;min-height:100%;cursor:pointer}.jobs-card:hover{background:#fffc;box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.jobs-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.jobs-card-logo{width:56px;height:56px;border-radius:16px;background:#111827;color:#fff;font-size:1.4rem;font-weight:500;display:grid;place-items:center;box-shadow:0 4px 10px #0f172a1f}.jobs-card-logo-image-wrap{background:#fff;border:1px solid rgba(229,231,235,.85);box-shadow:0 4px 10px #0f172a14;overflow:hidden}.jobs-card-logo-image{width:100%;height:100%;object-fit:cover}.jobs-card-title{margin-bottom:8px}.jobs-card-title h3{margin:0;font-size:1.1rem;font-weight:500;letter-spacing:-.01em;color:#111827;transition:color .2s ease}.theme-dark .jobs-card-title h3{color:#fff}.jobs-card:hover .jobs-card-title h3{color:#0f766e}.jobs-card-title p{margin:2px 0 0;font-size:.86rem;color:#6b7280}.jobs-card-description{margin:0 0 22px;color:#4b5563;font-size:.86rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jobs-card-bottom{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:space-between}.theme-dark .jobs-card-bottom{border-top-color:#ffffff14}.jobs-card-distance{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:.78rem}.jobs-card-distance svg{color:#0f766e}.jobs-card-arrow{width:32px;height:32px;border-radius:999px;border:1px solid #e5e7eb;color:#9ca3af;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s ease}.theme-dark .jobs-card-arrow{background:#ffffff0d;border-color:#ffffff1a;color:#6b7280}.jobs-card:hover .jobs-card-arrow{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.jobs-load-more-wrap{margin-top:28px;display:flex;justify-content:center}.jobs-load-more{border:1px solid #d1d5db;border-radius:12px;background:#ffffff59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#4b5563;padding:10px 24px;font-size:.86rem;font-weight:500;cursor:pointer;transition:.2s ease}.jobs-load-more:hover{background:#fff9;color:#111827;border-color:#9ca3af}.jobs-top-layout{display:grid;gap:24px;padding-bottom:24px}.jobs-top-filters{padding:24px}.jobs-top-filter-title{display:flex;align-items:center;gap:8px;margin-bottom:20px}.jobs-top-filter-title h2{margin:0;font-size:1.1rem;font-weight:500;letter-spacing:-.01em}.jobs-top-filter-title svg{color:#0f766e}.jobs-top-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:20px;align-items:end;margin-bottom:20px}.jobs-filter-block.no-margin{margin-bottom:0}.jobs-top-range{padding-bottom:4px}.jobs-top-apply{margin-top:0;min-width:180px}.jobs-title-picker{position:relative}.jobs-title-input-wrap{display:flex;flex-wrap:wrap;gap:8px;min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:#ffffff80;padding:6px;align-items:center}.jobs-title-input-wrap:focus-within{border-color:#2dd4bfe6;background:#fff;box-shadow:0 0 0 4px #14b8a61a}.jobs-title-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid rgba(229,231,235,.8);box-shadow:0 1px 3px #0f172a0f;font-size:.72rem;font-weight:500;color:#374151}.jobs-title-chip button{border:0;background:transparent;color:#9ca3af;display:grid;place-items:center;cursor:pointer;padding:0}.jobs-title-chip button:hover{color:#111827}.jobs-title-input-wrap input{flex:1;min-width:180px;border:0;background:transparent;outline:none;font-size:.86rem;color:#374151;padding:6px 8px}.jobs-title-input-wrap input::placeholder{color:#9ca3af}.jobs-title-suggestions{position:absolute;top:calc(100% + 8px);left:0;width:min(100%,340px);background:#ffffffe6;border:1px solid rgba(255,255,255,.8);border-radius:16px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 10px 36px #0000001a;padding:8px;display:grid;gap:4px;opacity:0;visibility:hidden;transform:scale(.98);transform-origin:top left;transition:.18s ease;z-index:40}.jobs-title-picker:focus-within .jobs-title-suggestions{opacity:1;visibility:visible;transform:scale(1)}.jobs-title-option{border:0;border-radius:10px;background:transparent;color:#4b5563;font-size:.84rem;font-weight:500;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.jobs-title-option:hover{background:#ffffffd9;color:#111827}.jobs-title-option.active{color:#0f766e;background:#14b8a61a}.jobs-title-option.active svg{color:#14b8a6}.jobs-separator.top-margin{margin:24px 0}.jobs-hours-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.jobs-hours-row>div>label{display:block;margin-bottom:3px;font-size:.9rem;font-weight:500;color:#374151}.jobs-hours-row>div>p{margin:0;font-size:.74rem;color:#6b7280}.jobs-cards.jobs-cards-top{grid-template-columns:1fr 1fr 1fr}@media(max-width:1200px){.jobs-grid{grid-template-columns:1fr}.jobs-filter{position:static}.jobs-top-controls{grid-template-columns:1fr 1fr}.jobs-top-apply{width:100%}.jobs-hours-row{flex-direction:column;align-items:flex-start}.jobs-cards.jobs-cards-top{grid-template-columns:1fr 1fr}}@media(max-width:860px){.jobs-cards,.jobs-top-controls,.jobs-cards.jobs-cards-top{grid-template-columns:1fr}.jobs-layout-toggle span{display:none}}.msg-main{display:flex;flex-direction:column}.msg-head{margin-bottom:16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.msg-head h1{margin:0 0 8px;font-size:clamp(2rem,4vw,2.9rem);font-weight:500;letter-spacing:-.03em}.msg-head p{margin:0;color:#6b7280;font-size:1.05rem}.theme-dark .msg-head h1,.theme-dark .msg-head p{color:#fff}.theme-dark .msg-head p{color:#9ca3af}.msg-mark-btn{border:1px solid rgba(229,231,235,.85);background:#fff;color:#374151;border-radius:12px;padding:10px 16px;font-size:.84rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 2px 8px #0f172a0f}.msg-mark-btn:hover{background:#f9fafb}.theme-dark .msg-mark-btn{border-color:#ffffff1a;background:#ffffff0d;color:#d1d5db}.theme-dark .msg-mark-btn:hover{background:#ffffff14}.msg-layout{flex:1;min-height:500px;margin-bottom:4px;display:flex;gap:24px}.msg-threads{width:33.333%;min-width:330px;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;display:flex;flex-direction:column;overflow:hidden}.theme-dark .msg-threads,.theme-dark .msg-chat{background:#ffffff05;border-color:#ffffff0d;box-shadow:0 4px 20px #0000001a}.msg-threads-head{padding:16px;border-bottom:1px solid rgba(255,255,255,.62)}.msg-search-wrap{position:relative;margin-bottom:10px}.msg-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.msg-search-wrap input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.82);background:#ffffff80;padding:10px 12px 10px 38px;font-size:.86rem;color:#111827}.theme-dark .msg-search-wrap input{background:#ffffff08;border-color:#ffffff14;color:#f3f4f6}.msg-search-wrap input:focus{outline:none;border-color:#2dd4bfe6;box-shadow:0 0 0 4px #14b8a61a}.msg-filter-row{display:flex;gap:8px}.msg-filter-row button{border:1px solid rgba(255,255,255,.75);background:#ffffffa6;color:#4b5563;border-radius:10px;padding:6px 12px;font-size:.72rem;font-weight:500;cursor:pointer}.msg-filter-row button.active{background:#f0fdfa;border-color:#ccfbf1;color:#0f766e}.theme-dark .msg-filter-row button{background:#ffffff0d;border-color:#ffffff14;color:#9ca3af}.theme-dark .msg-filter-row button.active{background:#14b8a61a;border-color:#14b8a64d;color:#2dd4bf}.msg-thread-list{padding:10px;overflow-y:auto;display:grid;gap:6px}.msg-thread-item{width:100%;border:1px solid transparent;background:transparent;border-radius:16px;display:flex;align-items:flex-start;gap:10px;padding:10px;text-align:left;cursor:pointer;position:relative}.msg-thread-item:hover{background:#ffffff6b;border-color:#ffffff9e}.theme-dark .msg-thread-item:hover{background:#ffffff0d;border-color:#ffffff1a}.msg-thread-item.active{background:#ffffffd1;border-color:#fff;box-shadow:0 2px 8px #0f172a0d}.theme-dark .msg-thread-item.active{background:#ffffff1a;border-color:#ffffff1f}.msg-thread-item.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#14b8a6}.msg-thread-avatar-wrap{width:44px;height:44px;position:relative;flex-shrink:0}.msg-thread-avatar,.msg-thread-avatar-fallback{width:44px;height:44px;border-radius:999px;object-fit:cover}.msg-thread-avatar-fallback{background:linear-gradient(135deg,#c7d2fe,#e9d5ff);color:#4338ca;display:grid;place-items:center;font-size:.84rem;font-weight:600}.msg-thread-online{position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:999px;border:2px solid #fff;background:#22c55e}.msg-thread-content{min-width:0;flex:1}.msg-thread-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px}.msg-thread-row h3{margin:0;font-size:.86rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .msg-thread-row h3,.theme-dark .msg-chat-head h2{color:#fff}.msg-thread-row span{font-size:.72rem;color:#9ca3af;flex-shrink:0}.msg-thread-content p{margin:0;color:#6b7280;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .msg-thread-content p,.theme-dark .msg-thread-content small,.theme-dark .msg-thread-row span{color:#9ca3af}.msg-thread-content p.unread{color:#1f2937;font-weight:500}.msg-thread-content small{margin-top:2px;display:inline-block;color:#9ca3af;font-size:.72rem}.msg-thread-unread{width:20px;height:20px;border-radius:999px;background:#14b8a6;color:#fff;display:grid;place-items:center;font-size:.64rem;font-weight:600;flex-shrink:0;margin-top:2px}.msg-chat{width:66.667%;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:24px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #00000008;display:flex;flex-direction:column;overflow:hidden}.msg-chat-head{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.62);background:#ffffff4d;display:flex;justify-content:space-between;align-items:center}.theme-dark .msg-chat-head{background:#ffffff08;border-bottom-color:#ffffff14}.msg-chat-head h2{margin:0;font-size:1rem;font-weight:500;color:#111827}.msg-chat-company{display:flex;align-items:center;gap:12px}.msg-mobile-back-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(229,231,235,.85);background:#ffffffbf;color:#374151;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.msg-mobile-back-btn:hover{background:#fff;color:#111827}.theme-dark .msg-mobile-back-btn{border-color:#ffffff1f;background:#ffffff14;color:#d1d5db}.msg-chat-company p{margin:2px 0 0;color:#0f766e;font-size:.74rem;font-weight:500}.theme-dark .msg-chat-company p{color:#2dd4bf}.msg-chat-avatar,.msg-chat-avatar-fallback{width:40px;height:40px;border-radius:999px;object-fit:cover}.msg-chat-avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#c7d2fe,#e9d5ff);color:#4338ca;font-size:.84rem;font-weight:600}.msg-chat-actions{display:flex;gap:8px}.msg-chat-actions button{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.82);background:#ffffff8c;color:#4b5563;display:grid;place-items:center;cursor:pointer}.theme-dark .msg-chat-actions button{background:#ffffff0d;border-color:#ffffff1a;color:#9ca3af}.msg-chat-actions button:hover{background:#fff}.msg-chat-body{flex:1;overflow-y:auto;padding:20px;display:grid;align-content:start;gap:10px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.2))}.theme-dark .msg-chat-body{background:linear-gradient(to bottom,transparent,rgba(255,255,255,.03))}.msg-day-sep{display:table;width:fit-content;margin:0 auto;font-size:.72rem;color:#9ca3af;border:1px solid rgba(255,255,255,.68);background:#ffffff85;padding:3px 10px;border-radius:999px}.theme-dark .msg-day-sep{color:#9ca3af;border-color:#ffffff1a;background:#ffffff0d}.msg-bubble-row{display:flex;gap:8px;max-width:75%}.msg-bubble-row.mine{margin-left:auto;flex-direction:row-reverse}.msg-mini-avatar,.msg-mini-avatar-fallback{width:30px;height:30px;border-radius:999px;object-fit:cover;margin-top:auto}.msg-mini-avatar-fallback{display:grid;place-items:center;background:#e5e7eb;color:#374151;font-size:.7rem;font-weight:600}.msg-bubble-wrap{display:grid;gap:3px}.msg-time{color:#9ca3af;font-size:.68rem}.msg-bubble{border-radius:16px 16px 16px 6px;background:#fff;border:1px solid rgba(255,255,255,.85);color:#374151;padding:10px 12px;font-size:.84rem;line-height:1.45;box-shadow:0 2px 8px #0f172a0a}.theme-dark .msg-bubble{background:#ffffff14;border-color:#ffffff1a;color:#e5e7eb}.msg-bubble.mine{background:#14b8a6;border-color:#14b8a6;color:#fff;border-bottom-left-radius:16px;border-bottom-right-radius:6px}.msg-input-area{padding:12px;border-top:1px solid rgba(255,255,255,.62);background:#ffffff59}.theme-dark .msg-input-area{border-top-color:#ffffff14;background:#ffffff08}.msg-input-wrap{border-radius:16px;border:1px solid rgba(255,255,255,.85);background:#fffc;box-shadow:0 2px 8px #0f172a0d;padding:6px;display:flex;align-items:flex-end;gap:6px}.theme-dark .msg-input-wrap{background:#ffffff0d;border-color:#ffffff1a}.theme-dark .msg-input-wrap textarea{color:#fff}.msg-input-wrap>button{width:34px;height:34px;border:0;background:transparent;color:#9ca3af;border-radius:10px;display:grid;place-items:center;cursor:pointer}.msg-input-wrap>button:hover{color:#0f766e;background:#f0fdfa}.msg-input-wrap textarea{flex:1;border:0;background:transparent;resize:none;outline:none;padding:8px;font-size:.84rem;color:#111827;max-height:120px}.msg-send-btn{min-width:84px;width:auto;padding:0 12px;border-radius:10px;border:0;background:#111827;color:#fff;font-size:.82rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;justify-content:center}.msg-send-btn:hover{background:#1f2937}@media(max-width:1200px){.msg-layout{flex-direction:column;min-height:0}.msg-threads,.msg-chat{width:100%;min-width:0}.msg-threads{height:360px}.msg-chat{height:500px}}@media(max-width:1000px){.msg-layout{min-height:0}.msg-layout.mobile-threads .msg-threads,.msg-layout.mobile-chat .msg-chat{width:100%;min-width:0}.msg-layout.mobile-threads .msg-threads{height:calc(100vh - 230px);min-height:420px}.msg-layout.mobile-chat .msg-chat{height:calc(100vh - 230px);min-height:480px}}@media(max-width:860px){.msg-head{flex-direction:column;align-items:flex-start}.msg-mark-btn{width:100%;justify-content:center}.msg-bubble-row{max-width:88%}}.sim-main{position:relative}.sim-leave-btn{border:1px solid rgba(229,231,235,.82);background:#ffffff9e;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer}.sim-leave-btn:hover{color:#111827;background:#ffffffd9}.sim-wrap{max-width:1160px;margin:0 auto;padding-bottom:30px}.sim-live-wrap{padding-bottom:24px}.sim-live-head{margin-bottom:22px}.sim-live-head h1{margin:0 0 8px;font-size:clamp(1.9rem,3vw,2.3rem);letter-spacing:-.03em;color:#111827}.sim-live-head p{margin:0;color:#6b7280}.sim-live-grid{min-height:calc(100vh - 260px);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px}.sim-live-chat-card{border-radius:24px;border:1px solid rgba(229,231,235,.82);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #0000000a;display:flex;flex-direction:column;overflow:hidden}.sim-live-chat-head{padding:14px 18px;border-bottom:1px solid rgba(229,231,235,.7);background:#ffffff6b;display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-live-ai-row{display:flex;align-items:center;gap:10px}.sim-live-ai-avatar{width:40px;height:40px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.sim-live-ai-row h3{margin:0 0 2px;color:#111827;font-size:.86rem;font-weight:500}.sim-live-ai-row p{margin:0;color:#6366f1;font-size:.74rem;display:inline-flex;align-items:center;gap:4px}.sim-live-ai-row p svg{animation:sim-pulse 1.8s ease-in-out infinite}.sim-live-more-btn{width:30px;height:30px;border-radius:999px;border:0;background:#f3f4f6cc;color:#6b7280;display:grid;place-items:center;cursor:pointer}.sim-live-chat-scroll{flex:1;overflow-y:auto;padding:20px;display:grid;align-content:start;gap:18px}.sim-live-msg-row{display:flex;align-items:flex-start;gap:10px;max-width:88%}.sim-live-msg-row.me{margin-left:auto;flex-direction:row-reverse}.sim-live-msg-avatar{width:30px;height:30px;border-radius:999px;flex-shrink:0;overflow:hidden;display:grid;place-items:center}.sim-live-msg-avatar.ai{border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5}.sim-live-msg-avatar.me{border:1px solid #d1d5db;background:#f9fafb;color:#6b7280}.sim-live-msg-avatar img{width:100%;height:100%;object-fit:cover}.sim-live-msg-bubble{padding:14px 16px;border-radius:16px;box-shadow:0 2px 10px #0f172a0d}.sim-live-msg-bubble.ai{border-top-left-radius:4px;border:1px solid rgba(229,231,235,.85);background:#fff}.sim-live-msg-bubble.me{border-top-right-radius:4px;background:#4f46e5;color:#eef2ff}.sim-live-msg-bubble p{margin:0;font-size:.86rem;line-height:1.6}.sim-live-msg-bubble.ai p{color:#4b5563}.sim-live-voice{border-top:1px solid rgba(229,231,235,.72);background:#ffffffc7;padding:18px;display:grid;justify-items:center;gap:10px}.sim-live-time-row{width:min(420px,100%);display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-live-time{text-align:center}.sim-live-time small{display:block;color:#9ca3af;font-size:.68rem;margin-bottom:4px}.sim-live-time strong{color:#111827;font-size:.84rem;font-weight:600}.sim-live-wave{flex:1;max-width:180px;display:flex;align-items:center;justify-content:center;gap:6px}.sim-live-wave span{width:4px;height:28px;border-radius:999px;background:#6366f1;transform-origin:center;animation:sim-wave 1.2s ease-in-out infinite}.sim-live-mic-btn{width:62px;height:62px;border-radius:999px;border:2px solid #fecdd3;background:#fff1f2;color:#e11d48;display:grid;place-items:center;cursor:pointer;position:relative}.sim-live-mic-btn:before{content:"";position:absolute;inset:-2px;border-radius:999px;background:#fb718533;animation:sim-pulse-soft 2s ease-in-out infinite;z-index:0}.sim-live-mic-btn svg{position:relative;z-index:1}.sim-live-voice>p{margin:0;color:#e11d48;font-size:.76rem;animation:sim-pulse 2s ease-in-out infinite}.sim-live-side{overflow-y:auto;padding-right:2px;display:grid;align-content:start;gap:14px}.sim-live-side-card{border-radius:24px;border:1px solid rgba(229,231,235,.82);background:#ffffff9e;padding:16px}.sim-live-side-card h2{margin:0 0 14px;font-size:.78rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.sim-live-side-list{display:grid;gap:14px}.sim-live-side-list small{display:block;color:#6b7280;font-size:.7rem;margin-bottom:3px}.sim-live-side-list p{margin:0;color:#111827;font-size:.82rem;display:inline-flex;align-items:center;gap:6px}.sim-live-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sim-live-progress-head strong{color:#111827;font-size:.72rem}.sim-live-progress-track{height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.sim-live-progress-track>span{display:block;width:40%;height:100%;background:#6366f1;box-shadow:0 0 8px #6366f180}.sim-live-coach-card{border-radius:24px;border:1px solid #c7d2fe;background:linear-gradient(to bottom right,#eef2ffb3,#fffc);padding:16px}.sim-live-coach-card h2{margin:0 0 12px;font-size:.82rem;color:#312e81;display:inline-flex;align-items:center;gap:6px}.sim-live-coach-list{display:grid;gap:10px}.sim-live-coach-list>div{border-radius:12px;border:1px solid rgba(224,231,255,.9);background:#fff;padding:11px;display:flex;align-items:flex-start;gap:8px}.sim-live-coach-list>div:first-child svg{color:#10b981}.sim-live-coach-list>div:last-child svg{color:#f59e0b}.sim-live-coach-list strong{display:block;margin-bottom:3px;color:#111827;font-size:.75rem}.sim-live-coach-list p{margin:0;color:#6b7280;font-size:.72rem;line-height:1.5}.sim-live-actions{display:grid;gap:10px}.sim-live-actions button{border-radius:12px;border:1px solid rgba(229,231,235,.82);background:#f9fafb;color:#4b5563;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.82rem;font-weight:500;cursor:pointer}.sim-live-actions button:hover{background:#f3f4f6;color:#111827}.sim-live-actions button.stop{border-color:#111827;background:#111827;color:#fff}.sim-live-actions button.stop:hover{background:#1f2937}@keyframes sim-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes sim-pulse-soft{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes sim-pulse{0%,to{opacity:1}50%{opacity:.7}}.sim-hero-card{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 30px #0000000a;padding:30px;margin-bottom:28px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.9fr);gap:24px}.sim-hero-glow{position:absolute;top:-80px;right:-80px;width:260px;height:260px;border-radius:999px;background:#6366f11f;filter:blur(70px);pointer-events:none}.sim-hero-left h1{margin:0 0 12px;font-size:clamp(1.9rem,3vw,2.55rem);letter-spacing:-.03em;color:#111827}.sim-hero-left p{margin:0 0 22px;line-height:1.65;color:#4b5563}.sim-benefits{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px}.sim-benefits li{display:inline-flex;align-items:center;gap:9px;color:#374151;font-size:.88rem}.sim-benefits li svg{color:#10b981;flex-shrink:0}.sim-start-btn{border:0;border-radius:12px;background:#111827;color:#fff;padding:11px 16px;display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:500;cursor:pointer}.sim-start-btn:hover{background:#1f2937}.sim-config-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffffc7;box-shadow:0 2px 8px #0f172a0a;padding:18px;display:grid;gap:12px;align-content:start}.sim-config-head h3{margin:0;font-size:.92rem;color:#111827}.sim-config-head p{margin:3px 0 0;color:#6b7280;font-size:.74rem}.sim-config-card label{display:grid;gap:6px;font-size:.75rem;color:#6b7280;font-weight:500}.sim-select-wrap{border:1px solid rgba(229,231,235,.8);background:#fff;border-radius:12px;padding:0 12px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #00000005;transition:border-color .2s ease,box-shadow .2s ease}.sim-select-wrap svg{color:#9ca3af;flex-shrink:0;transition:color .2s ease}.sim-select-wrap select{width:100%;min-width:0;border:0;background:transparent;color:#374151;font-size:.84rem;font-weight:500;padding:11px 0;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.sim-caret{color:#9ca3af}.sim-select-wrap:hover{border-color:#9ca3afcc;box-shadow:0 5px 12px #0f172a0f}.sim-select-wrap:hover>svg,.sim-select-wrap:hover .sim-caret{color:#6366f1}.sim-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sim-history-head{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-history-head h2{margin:0;color:#111827;font-size:1.25rem;font-weight:500}.sim-history-head button{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;color:#6b7280;cursor:pointer;font-size:.84rem;font-weight:500}.sim-history-head button:hover{color:#111827}.sim-history-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.sim-card{border-radius:22px;border:1px solid rgba(229,231,235,.8);background:#fffc;box-shadow:0 8px 18px #00000008;padding:18px;display:flex;flex-direction:column;min-height:100%}.sim-card.draft{background:#f9fafbcc;opacity:.85}.sim-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}.sim-card-head h3{margin:0 0 2px;color:#111827;font-size:.95rem;letter-spacing:-.01em}.sim-card-head p{margin:0;color:#6b7280;font-size:.82rem}.sim-status{font-size:.69rem;font-weight:500;border-radius:8px;padding:4px 8px;border:1px solid;flex-shrink:0}.sim-status.done{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.sim-status.draft{color:#4b5563;background:#e5e7eb73;border-color:#d1d5dbe6}.sim-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.sim-tags span{display:inline-flex;align-items:center;gap:6px;border-radius:8px;border:1px solid rgba(229,231,235,.8);background:#f9fafbd9;color:#4b5563;font-size:.72rem;font-weight:500;padding:6px 9px}.sim-card-foot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(229,231,235,.65);display:flex;justify-content:space-between;align-items:center;gap:8px}.sim-card-foot small{color:#9ca3af;font-size:.72rem}.sim-link-btn{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;color:#4f46e5;cursor:pointer;font-size:.82rem;font-weight:500}.sim-link-btn:hover{color:#4338ca}.theme-dark .sim-hero-card,.theme-dark .sim-config-card,.theme-dark .sim-card,.theme-dark .sim-live-chat-card,.theme-dark .sim-live-side-card{background:#ffffff05;border-color:#ffffff0f}.theme-dark .sim-hero-left h1,.theme-dark .sim-config-head h3,.theme-dark .sim-history-head h2,.theme-dark .sim-card-head h3,.theme-dark .sim-live-head h1,.theme-dark .sim-live-ai-row h3,.theme-dark .sim-live-side-list p,.theme-dark .sim-live-progress-head strong,.theme-dark .sim-live-coach-list strong,.theme-dark .sim-live-time strong{color:#fff}.theme-dark .sim-hero-left p,.theme-dark .sim-benefits li,.theme-dark .sim-config-head p,.theme-dark .sim-config-card label,.theme-dark .sim-card-head p,.theme-dark .sim-tags span,.theme-dark .sim-history-head button,.theme-dark .sim-live-head p,.theme-dark .sim-live-side-list small,.theme-dark .sim-live-coach-list p,.theme-dark .sim-live-time small,.theme-dark .sim-leave-btn{color:#9ca3af}.theme-dark .sim-start-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.12)}.theme-dark .sim-select-wrap{background:#ffffff08;border-color:#ffffff14}.theme-dark .sim-select-wrap select{color:#d1d5db}.theme-dark .sim-live-chat-head,.theme-dark .sim-live-voice{border-color:#ffffff14;background:#ffffff0a}.theme-dark .sim-live-more-btn{background:#ffffff14;color:#9ca3af}.theme-dark .sim-live-ai-avatar,.theme-dark .sim-live-msg-avatar.ai{background:#6366f133;border-color:#818cf866;color:#a5b4fc}.theme-dark .sim-live-msg-avatar.me{border-color:#ffffff1f;background:#ffffff0f}.theme-dark .sim-live-msg-bubble.ai{background:#ffffff0a;border-color:#ffffff1a}.theme-dark .sim-live-msg-bubble.ai p{color:#d1d5db}.theme-dark .sim-live-msg-bubble.me{background:#4f46e5}.theme-dark .sim-live-progress-track{background:#ffffff1a}.theme-dark .sim-live-coach-card{background:linear-gradient(to bottom right,#4f46e52e,#ffffff08);border-color:#818cf873}.theme-dark .sim-live-coach-card h2{color:#c7d2fe}.theme-dark .sim-live-coach-list>div{background:#ffffff0a;border-color:#ffffff1a}.theme-dark .sim-tags span{background:#ffffff08;border-color:#ffffff14}.theme-dark .sim-status.done{background:#10b98126;border-color:#10b98173;color:#34d399}.theme-dark .sim-status.draft{background:#ffffff12;border-color:#ffffff1f;color:#d1d5db}.theme-dark .sim-card-foot{border-top-color:#ffffff14}.theme-dark .sim-link-btn{color:#818cf8}.theme-dark .sim-live-actions button{background:#ffffff0a;border-color:#ffffff1a;color:#d1d5db}.theme-dark .sim-live-actions button.stop{background:#1f2937;border-color:#374151;color:#fff}@media(max-width:1180px){.sim-live-grid{grid-template-columns:1fr;min-height:auto}.sim-live-chat-card{min-height:520px}.sim-live-side{overflow:visible;padding-right:0}.sim-hero-card{grid-template-columns:1fr}.sim-history-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sim-live-chat-card{min-height:auto}.sim-live-time-row{flex-direction:column;gap:8px}.sim-wrap{padding-bottom:18px}.sim-hero-card{padding:20px;border-radius:24px}.sim-history-grid,.sim-mini-grid{grid-template-columns:1fr}}.sim-eval-main{position:relative}.sim-eval-top-actions{display:inline-flex;align-items:center;gap:10px}.sim-eval-back-btn{border:1px solid rgba(229,231,235,.82);background:#ffffffa6;border-radius:999px;padding:8px 12px;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer}.sim-eval-back-btn:hover{background:#fff;color:#111827}.sim-eval-crumb-pill{border:1px solid rgba(229,231,235,.75);background:#ffffff9e;border-radius:999px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;color:#6b7280;font-size:.78rem}.sim-eval-crumb-pill strong{color:#0f766e;font-weight:600}.sim-eval-wrap{max-width:1160px;margin:0 auto;padding-bottom:26px}.sim-eval-head{margin-bottom:24px}.sim-eval-label{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:6px 10px;border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:12px}.sim-eval-head h1{margin:0 0 12px;color:#111827;font-size:clamp(1.9rem,3vw,2.4rem);letter-spacing:-.03em}.sim-eval-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#6b7280;font-size:.86rem}.sim-eval-meta strong{color:#111827;font-weight:600}.sim-eval-meta p,.sim-eval-meta small{margin:0;display:inline-flex;align-items:center;gap:6px}.sim-eval-meta span{width:4px;height:4px;border-radius:999px;background:#d1d5db}.sim-eval-overview-card{border-radius:28px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 28px #0f172a0a;padding:24px;margin-bottom:26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:20px}.sim-eval-overview-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}.sim-eval-overview-title h2{margin:0;color:#111827;font-size:1.08rem}.sim-eval-overview-title svg{color:#14b8a6}.sim-eval-overview-text .lead{margin:0 0 10px;color:#374151;font-size:1rem}.sim-eval-overview-text p{margin:0;color:#4b5563;line-height:1.65}.sim-eval-score-card{border-radius:18px;border:1px solid rgba(229,231,235,.82);background:linear-gradient(to bottom,#f9fafb,#fff);padding:18px}.sim-eval-score-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sim-eval-score-head h3{margin:0;color:#111827;font-size:.88rem;font-weight:500}.sim-eval-score-head svg{color:#9ca3af}.sim-eval-score-rows{display:grid;gap:10px;margin-bottom:14px}.sim-eval-score-rows>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-eval-score-rows span{color:#6b7280;font-size:.84rem}.sim-eval-score-rows strong{border-radius:7px;background:#f3f4f6;color:#111827;font-size:.85rem;padding:4px 8px}.sim-eval-score-rows strong.good{color:#0f766e;border:1px solid #99f6e4;background:#f0fdfa}.sim-eval-gap-block{border-top:1px solid rgba(229,231,235,.9);padding-top:12px}.sim-eval-gap-block>span{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 8px;background:#f0fdfa;color:#0f766e;font-size:.72rem;font-weight:600;margin-bottom:7px}.sim-eval-gap-block p{margin:0;color:#6b7280;font-size:.76rem;line-height:1.5}.sim-eval-improvements{margin-bottom:26px}.sim-eval-section-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.sim-eval-section-title h2{margin:0;color:#111827;font-size:1.25rem}.sim-eval-improvement-list{display:grid;gap:12px}.sim-eval-improvement-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:18px;display:flex;align-items:flex-start;gap:12px}.sim-eval-improvement-index{width:30px;height:30px;border-radius:999px;background:#111827;color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:600;flex-shrink:0}.sim-eval-improvement-content{flex:1}.sim-eval-improvement-content h3{margin:3px 0 14px;color:#111827;font-size:1rem}.sim-eval-improvement-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.sim-eval-improvement-grid>div{border-radius:14px;border:1px solid #f3f4f6;background:#f9fafbd9;padding:12px}.sim-eval-improvement-grid>div.impact{border-color:#fecdd3;background:#fff1f2b8}.sim-eval-improvement-grid>div.next{border-color:#99f6e4;background:#f0fdfab8}.sim-eval-improvement-grid small{display:block;margin-bottom:8px;color:#6b7280;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sim-eval-improvement-grid>div.impact small{color:#be123c}.sim-eval-improvement-grid>div.next small{color:#0f766e}.sim-eval-improvement-grid p{margin:0;color:#4b5563;font-size:.82rem;line-height:1.55}.sim-eval-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.sim-eval-list-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:20px}.sim-eval-card-title{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.sim-eval-card-title h2{margin:0;color:#111827;font-size:1.04rem}.sim-eval-list-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sim-eval-list-card li{display:flex;align-items:flex-start;gap:8px}.sim-eval-list-card li svg{margin-top:2px;color:#14b8a6;flex-shrink:0}.sim-eval-list-card li span{color:#4b5563;line-height:1.58;font-size:.84rem}.sim-eval-list-card.recommendations .sim-eval-card-title svg{color:#6366f1}.sim-eval-list-card .hint{margin:0 0 12px;color:#6b7280;font-size:.8rem}.sim-eval-list-card.recommendations li>div{width:18px;height:18px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;margin-top:2px;flex-shrink:0}.sim-eval-rating-card{border-radius:24px;border:1px solid rgba(20,184,166,.18);background:linear-gradient(to bottom right,#14b8a60f,#06b6d414);padding:22px;text-align:center}.sim-eval-rating-card>p{margin:0 0 16px;color:#0d5953f2;font-size:.95rem;font-weight:500}.sim-eval-rating-box{max-width:460px;margin:0 auto;border-radius:18px;border:1px solid rgba(229,231,235,.8);background:#fff;padding:18px;box-shadow:0 10px 24px #0000000a}.sim-eval-rating-box h3{margin:0 0 3px;color:#111827;font-size:1rem}.sim-eval-rating-box small{display:block;color:#6b7280;margin-bottom:12px;font-size:.74rem}.sim-eval-stars{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px}.sim-eval-stars button{border:0;background:transparent;color:#d1d5db;padding:0;display:inline-flex;cursor:pointer}.sim-eval-stars button:hover,.sim-eval-stars button.selected{color:#f59e0b}.sim-eval-rating-box textarea{width:100%;border-radius:12px;border:1px solid rgba(229,231,235,.9);background:#f9fafbd9;color:#111827;padding:11px;resize:none;margin-bottom:10px;font-size:.84rem;font-family:inherit}.sim-eval-rating-box textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a624}.sim-eval-rating-box>button{width:100%;border:0;border-radius:11px;background:#111827;color:#fff;padding:10px;font-size:.84rem;font-weight:500;cursor:pointer}.sim-eval-rating-box>button:hover{background:#1f2937}.sim-eval-rating-box>button:disabled{opacity:.65;cursor:not-allowed}.sim-eval-submit-status{margin-top:8px;color:#0f766e;font-size:.78rem}.theme-dark .sim-eval-back-btn,.theme-dark .sim-eval-crumb-pill,.theme-dark .sim-eval-overview-card,.theme-dark .sim-eval-improvement-card,.theme-dark .sim-eval-list-card,.theme-dark .sim-eval-rating-box{background:#ffffff08;border-color:#ffffff17}.theme-dark .sim-eval-head h1,.theme-dark .sim-eval-meta strong,.theme-dark .sim-eval-overview-title h2,.theme-dark .sim-eval-score-head h3,.theme-dark .sim-eval-section-title h2,.theme-dark .sim-eval-improvement-content h3,.theme-dark .sim-eval-card-title h2,.theme-dark .sim-eval-rating-box h3{color:#fff}.theme-dark .sim-eval-meta,.theme-dark .sim-eval-overview-text p,.theme-dark .sim-eval-overview-text .lead,.theme-dark .sim-eval-gap-block p,.theme-dark .sim-eval-improvement-grid p,.theme-dark .sim-eval-list-card li span,.theme-dark .sim-eval-list-card .hint,.theme-dark .sim-eval-rating-box small,.theme-dark .sim-eval-back-btn,.theme-dark .sim-eval-score-rows span{color:#9ca3af}.theme-dark .sim-eval-score-card,.theme-dark .sim-eval-improvement-grid>div{background:#ffffff05;border-color:#ffffff14}.theme-dark .sim-eval-improvement-grid>div.impact{background:#be185d14;border-color:#f472b652}.theme-dark .sim-eval-improvement-grid>div.next{background:#14b8a614;border-color:#2dd4bf4d}.theme-dark .sim-eval-score-rows strong{background:#ffffff14;color:#fff}.theme-dark .sim-eval-score-rows strong.good,.theme-dark .sim-eval-gap-block>span,.theme-dark .sim-eval-label{border-color:#2dd4bf59;background:#14b8a61f;color:#5eead4}.theme-dark .sim-eval-list-card.recommendations li>div{border-color:#818cf859;background:#4f46e538;color:#a5b4fc}.theme-dark .sim-eval-rating-card{border-color:#2dd4bf38;background:linear-gradient(to bottom right,#14b8a61a,#06b6d41a)}.theme-dark .sim-eval-rating-card>p{color:#99f6e4}.theme-dark .sim-eval-rating-box textarea{border-color:#ffffff17;background:#ffffff08;color:#fff}.theme-dark .sim-eval-rating-box>button{background:#1f2937}@media(max-width:1080px){.sim-eval-overview-card,.sim-eval-improvement-grid,.sim-eval-split-grid{grid-template-columns:1fr}}@media(max-width:760px){.sim-eval-wrap{padding-bottom:18px}.sim-eval-top-actions{width:100%;justify-content:space-between}.sim-eval-crumb-pill{display:none}.sim-eval-meta{gap:7px}.sim-eval-overview-card,.sim-eval-improvement-card,.sim-eval-list-card,.sim-eval-rating-card{padding:16px;border-radius:20px}}.sub-main{position:relative}.sub-top-actions{display:inline-flex;align-items:center;gap:10px}.sub-crumb-pill{border-radius:999px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;padding:7px 11px;font-size:.8rem;color:#4b5563;display:inline-flex;align-items:center;gap:6px}.sub-crumb-pill svg{color:#14b8a6}.sub-toggle-btn{border:0;border-radius:999px;background:#111827;color:#fff;font-size:.72rem;font-weight:500;padding:8px 12px;cursor:pointer}.sub-toggle-btn:hover{background:#1f2937}.sub-head{margin-bottom:18px;max-width:850px}.sub-head-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sub-head-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);color:#fff;display:grid;place-items:center}.sub-head h1{margin:0;color:#111827;font-size:clamp(2rem,3.2vw,2.5rem);letter-spacing:-.03em}.sub-head p{margin:0;color:#6b7280;line-height:1.65}.sub-wrap{max-width:1200px;padding-bottom:20px}.sub-redeem-card{max-width:900px;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 24px #00000008;padding:20px;margin-bottom:22px}.sub-redeem-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sub-redeem-head h2{margin:0;color:#111827;font-size:1.06rem}.sub-redeem-card p{margin:0 0 12px;color:#6b7280;font-size:.86rem}.sub-redeem-row{max-width:560px;display:grid;grid-template-columns:1fr auto;gap:8px}.sub-redeem-row input{border-radius:12px;border:1px solid rgba(229,231,235,.8);background:#ffffffd9;color:#111827;font-size:.86rem;padding:10px 12px;outline:none}.sub-redeem-row input:focus{border-color:#14b8a6b3;box-shadow:0 0 0 3px #14b8a61f}.sub-redeem-row button{border:0;border-radius:12px;background:#111827;color:#fff;font-size:.82rem;font-weight:500;padding:10px 14px;cursor:pointer}.sub-redeem-row button:hover{background:#1f2937}.sub-redeem-row button:disabled{opacity:.7;cursor:not-allowed}.sub-redeem-card small{margin-top:8px;display:block;color:#0f766e}.sub-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sub-plan-card{position:relative;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);padding:20px;cursor:pointer}.sub-plan-card.popular{background:#fffc}.sub-plan-card.yearly{border-color:#c7d2fee6}.sub-plan-card.selected{border-color:#14b8a6cc;box-shadow:0 8px 28px #14b8a61f;background:#f0fdfa6b}.sub-plan-card.yearly.selected{border-color:#6366f1cc;box-shadow:0 8px 28px #6366f11f;background:#eef2ff59}.sub-plan-card input{position:absolute;opacity:0;pointer-events:none}.sub-popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);border-radius:999px;padding:4px 10px;background:#111827;color:#fff;font-size:.64rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sub-radio-indicator{position:absolute;top:20px;right:20px;width:20px;height:20px;border-radius:999px;border:1px solid #d1d5db;display:grid;place-items:center}.sub-radio-indicator i{width:8px;height:8px;border-radius:999px;background:#fff;opacity:0}.sub-plan-card.selected .sub-radio-indicator{border-color:#14b8a6;background:#14b8a6}.sub-plan-card.selected .sub-radio-indicator i{opacity:1}.sub-plan-card.yearly.selected .sub-radio-indicator{border-color:#6366f1;background:#6366f1}.sub-plan-content{display:grid;align-content:start;height:100%}.sub-plan-title-row{display:flex;align-items:center;gap:8px}.sub-plan-title-row h3{margin:0;color:#111827;font-size:1.08rem}.sub-plan-title-row span{border-radius:6px;border:1px solid rgba(153,246,228,.7);background:#f0fdfae6;color:#0f766e;font-size:.64rem;font-weight:600;padding:2px 6px}.sub-price{margin-top:10px;color:#111827;font-size:2rem;font-weight:600;letter-spacing:-.03em}.sub-price-daily{margin:2px 0 0;color:#6b7280;font-size:.8rem}.sub-gift-box{margin-top:12px;border-radius:12px;border:1px solid rgba(199,210,254,.8);background:linear-gradient(to bottom right,#eef2ffe6,#f5f3ffcc);padding:10px;display:flex;align-items:flex-start;gap:8px}.sub-gift-box strong{display:block;color:#111827;font-size:.78rem;margin-bottom:2px}.sub-gift-box small{color:#4b5563;font-size:.72rem;line-height:1.45}.sub-divider{margin:14px 0;height:1px;background:#e5e7ebcc}.sub-plan-content ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sub-plan-content li{display:flex;align-items:flex-start;gap:8px}.sub-plan-content li svg{color:#14b8a6;margin-top:2px;flex-shrink:0}.sub-plan-card.yearly .sub-plan-content li svg{color:#6366f1}.sub-plan-content li span{color:#374151;font-size:.8rem;line-height:1.5}.sub-checkout-card{margin-top:20px;border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sub-checkout-card h3{margin:0 0 4px;color:#111827;font-size:1.06rem}.sub-checkout-card p{margin:0;color:#6b7280;font-size:.84rem}.sub-checkout-actions{display:grid;gap:10px;justify-items:end}.sub-checkout-actions label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#4b5563;font-size:.8rem}.sub-checkout-actions input{position:absolute;opacity:0;pointer-events:none}.sub-checkbox{width:18px;height:18px;border-radius:5px;border:1px solid #d1d5db;background:#fff;display:grid;place-items:center;color:#fff}.sub-checkout-actions input:checked+.sub-checkbox{background:#14b8a6;border-color:#14b8a6}.sub-checkout-actions .sub-checkbox svg{opacity:0}.sub-checkout-actions input:checked+.sub-checkbox svg{opacity:1}.sub-checkout-actions>button{border:0;border-radius:12px;background:#111827;color:#fff;font-size:.92rem;font-weight:500;padding:11px 22px;cursor:pointer}.sub-checkout-actions>button:hover{background:#1f2937}.sub-checkout-actions>button:disabled{opacity:.65;cursor:not-allowed}.sub-active-wrap{max-width:940px}.sub-gift-alert{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(to right,#6366f1,#8b5cf6,#6366f1);color:#fff;padding:18px;margin-bottom:18px;display:flex;align-items:center;gap:12px}.sub-gift-glow{position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:999px;background:#ffffff3d;filter:blur(40px)}.sub-gift-icon{width:50px;height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff2e;display:grid;place-items:center;font-size:1.6rem;position:relative;z-index:1}.sub-gift-alert h2{margin:0 0 2px;font-size:1.16rem}.sub-gift-alert p{margin:0;font-size:.82rem;color:#e0e7ff}.sub-gift-alert button{margin-left:auto;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff24;color:#fff;font-size:.78rem;font-weight:500;padding:8px 12px;cursor:pointer;position:relative;z-index:1}.sub-active-card{border-radius:24px;border:1px solid rgba(229,231,235,.8);background:#ffffff9e;overflow:hidden}.sub-active-head{padding:18px;border-bottom:1px solid rgba(229,231,235,.72);display:flex;align-items:center;gap:8px}.sub-active-head h2{margin:0;color:#111827;font-size:1.24rem}.sub-active-grid{display:grid;grid-template-columns:1fr 1fr}.sub-active-features{padding:18px;border-right:1px solid rgba(229,231,235,.7);background:#f9fafb66}.sub-active-features ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sub-active-features li{display:flex;align-items:flex-start;gap:8px}.sub-active-features li svg{color:#14b8a6;margin-top:2px}.sub-active-features li span{color:#374151;font-size:.82rem;line-height:1.5}.sub-active-status-col{padding:18px}.sub-active-status-box{border-radius:16px;border:1px solid rgba(153,246,228,.72);background:linear-gradient(to bottom right,#f0fdfacc,#ecfeffb3);padding:18px;text-align:center}.sub-active-check{width:56px;height:56px;border-radius:999px;border:1px solid rgba(153,246,228,.8);background:#fff;color:#14b8a6;display:grid;place-items:center;margin:0 auto 10px}.sub-active-status-box h3{margin:0 0 5px;color:#111827;font-size:1rem}.sub-active-status-box strong{display:block;color:#0f766e;font-size:.95rem}.sub-active-status-box p{margin:3px 0 10px;color:#0f766e;font-size:.82rem}.sub-renew-pill{border-radius:12px;border:1px solid rgba(153,246,228,.72);background:#fffc;color:#374151;font-size:.82rem;font-weight:500;padding:9px 11px;display:inline-flex;align-items:center;gap:8px}.sub-renew-pill svg{color:#14b8a6}.sub-manage-link{margin-top:12px;width:100%;border:0;background:transparent;color:#6b7280;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.theme-dark .sub-crumb-pill,.theme-dark .sub-redeem-card,.theme-dark .sub-plan-card,.theme-dark .sub-checkout-card,.theme-dark .sub-active-card{border-color:#ffffff14;background:#ffffff08}.theme-dark .sub-head h1,.theme-dark .sub-redeem-head h2,.theme-dark .sub-plan-title-row h3,.theme-dark .sub-checkout-card h3,.theme-dark .sub-active-head h2,.theme-dark .sub-active-status-box h3{color:#fff}.theme-dark .sub-head p,.theme-dark .sub-redeem-card p,.theme-dark .sub-price-daily,.theme-dark .sub-plan-content li span,.theme-dark .sub-checkout-card p,.theme-dark .sub-checkout-actions label,.theme-dark .sub-active-features li span,.theme-dark .sub-manage-link,.theme-dark .sub-crumb-pill{color:#9ca3af}.theme-dark .sub-redeem-row input,.theme-dark .sub-checkbox,.theme-dark .sub-renew-pill,.theme-dark .sub-gift-box{border-color:#ffffff1a;background:#ffffff0d;color:#d1d5db}.theme-dark .sub-price,.theme-dark .sub-active-status-box strong,.theme-dark .sub-active-status-box p,.theme-dark .sub-renew-pill{color:#f3f4f6}.theme-dark .sub-divider,.theme-dark .sub-active-head,.theme-dark .sub-active-features{border-color:#ffffff14}.theme-dark .sub-active-features{background:#ffffff05}.theme-dark .sub-toggle-btn,.theme-dark .sub-redeem-row button,.theme-dark .sub-checkout-actions>button{background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.theme-dark .sub-gift-alert{background:linear-gradient(to right,#4f46e5c7,#7c3aedbd,#4f46e5c7)}@media(max-width:1200px){.sub-plan-grid{grid-template-columns:1fr 1fr}.sub-active-grid{grid-template-columns:1fr}.sub-active-features{border-right:0;border-bottom:1px solid rgba(229,231,235,.72)}}@media(max-width:860px){.sub-top-actions{flex-wrap:wrap;justify-content:flex-end}.sub-redeem-row,.sub-plan-grid{grid-template-columns:1fr}.sub-checkout-card{flex-direction:column;align-items:stretch}.sub-checkout-actions{justify-items:start}.sub-gift-alert{flex-wrap:wrap}.sub-gift-alert button{margin-left:0}} diff --git a/dist/assets/index-BLITCir6.js b/dist/assets/index-BLITCir6.js new file mode 100644 index 0000000..bd8f2a2 --- /dev/null +++ b/dist/assets/index-BLITCir6.js @@ -0,0 +1,11 @@ +(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const g of h)if(g.type==="childList")for(const M of g.addedNodes)M.tagName==="LINK"&&M.rel==="modulepreload"&&o(M)}).observe(document,{childList:!0,subtree:!0});function c(h){const g={};return h.integrity&&(g.integrity=h.integrity),h.referrerPolicy&&(g.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?g.credentials="include":h.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function o(h){if(h.ep)return;h.ep=!0;const g=c(h);fetch(h.href,g)}})();var Yc={exports:{}},Hn={};var Nh;function Zg(){if(Nh)return Hn;Nh=1;var u=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function c(o,h,g){var M=null;if(g!==void 0&&(M=""+g),h.key!==void 0&&(M=""+h.key),"key"in h){g={};for(var H in h)H!=="key"&&(g[H]=h[H])}else g=h;return h=g.ref,{$$typeof:u,type:o,key:M,ref:h!==void 0?h:null,props:g}}return Hn.Fragment=s,Hn.jsx=c,Hn.jsxs=c,Hn}var Sh;function Kg(){return Sh||(Sh=1,Yc.exports=Zg()),Yc.exports}var l=Kg(),Jc={exports:{}},me={};var kh;function Wg(){if(kh)return me;kh=1;var u=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),g=Symbol.for("react.consumer"),M=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),j=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),T=Symbol.for("react.activity"),V=Symbol.iterator;function J(m){return m===null||typeof m!="object"?null:(m=V&&m[V]||m["@@iterator"],typeof m=="function"?m:null)}var P={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},X=Object.assign,he={};function ie(m,S,L){this.props=m,this.context=S,this.refs=he,this.updater=L||P}ie.prototype.isReactComponent={},ie.prototype.setState=function(m,S){if(typeof m!="object"&&typeof m!="function"&&m!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,m,S,"setState")},ie.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function ne(){}ne.prototype=ie.prototype;function Y(m,S,L){this.props=m,this.context=S,this.refs=he,this.updater=L||P}var K=Y.prototype=new ne;K.constructor=Y,X(K,ie.prototype),K.isPureReactComponent=!0;var ee=Array.isArray;function Z(){}var D={H:null,A:null,T:null,S:null},$=Object.prototype.hasOwnProperty;function de(m,S,L){var G=L.ref;return{$$typeof:u,type:m,key:S,ref:G!==void 0?G:null,props:L}}function te(m,S){return de(m.type,S,m.props)}function oe(m){return typeof m=="object"&&m!==null&&m.$$typeof===u}function ue(m){var S={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(L){return S[L]})}var Ae=/\/+/g;function Ne(m,S){return typeof m=="object"&&m!==null&&m.key!=null?ue(""+m.key):S.toString(36)}function le(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(Z,Z):(m.status="pending",m.then(function(S){m.status==="pending"&&(m.status="fulfilled",m.value=S)},function(S){m.status==="pending"&&(m.status="rejected",m.reason=S)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function v(m,S,L,G,ce){var re=typeof m;(re==="undefined"||re==="boolean")&&(m=null);var _e=!1;if(m===null)_e=!0;else switch(re){case"bigint":case"string":case"number":_e=!0;break;case"object":switch(m.$$typeof){case u:case s:_e=!0;break;case B:return _e=m._init,v(_e(m._payload),S,L,G,ce)}}if(_e)return ce=ce(m),_e=G===""?"."+Ne(m,0):G,ee(ce)?(L="",_e!=null&&(L=_e.replace(Ae,"$&/")+"/"),v(ce,S,L,"",function(Ql){return Ql})):ce!=null&&(oe(ce)&&(ce=te(ce,L+(ce.key==null||m&&m.key===ce.key?"":(""+ce.key).replace(Ae,"$&/")+"/")+_e)),S.push(ce)),1;_e=0;var it=G===""?".":G+":";if(ee(m))for(var Be=0;Be>>1,F=v[q];if(0>>1;qh(L,b))Gh(ce,L)?(v[q]=ce,v[G]=b,q=G):(v[q]=L,v[S]=b,q=S);else if(Gh(ce,b))v[q]=ce,v[G]=b,q=G;else break e}}return E}function h(v,E){var b=v.sortIndex-E.sortIndex;return b!==0?b:v.id-E.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var g=performance;u.unstable_now=function(){return g.now()}}else{var M=Date,H=M.now();u.unstable_now=function(){return M.now()-H}}var R=[],j=[],B=1,T=null,V=3,J=!1,P=!1,X=!1,he=!1,ie=typeof setTimeout=="function"?setTimeout:null,ne=typeof clearTimeout=="function"?clearTimeout:null,Y=typeof setImmediate<"u"?setImmediate:null;function K(v){for(var E=c(j);E!==null;){if(E.callback===null)o(j);else if(E.startTime<=v)o(j),E.sortIndex=E.expirationTime,s(R,E);else break;E=c(j)}}function ee(v){if(X=!1,K(v),!P)if(c(R)!==null)P=!0,Z||(Z=!0,ue());else{var E=c(j);E!==null&&le(ee,E.startTime-v)}}var Z=!1,D=-1,$=5,de=-1;function te(){return he?!0:!(u.unstable_now()-de<$)}function oe(){if(he=!1,Z){var v=u.unstable_now();de=v;var E=!0;try{e:{P=!1,X&&(X=!1,ne(D),D=-1),J=!0;var b=V;try{t:{for(K(v),T=c(R);T!==null&&!(T.expirationTime>v&&te());){var q=T.callback;if(typeof q=="function"){T.callback=null,V=T.priorityLevel;var F=q(T.expirationTime<=v);if(v=u.unstable_now(),typeof F=="function"){T.callback=F,K(v),E=!0;break t}T===c(R)&&o(R),K(v)}else o(R);T=c(R)}if(T!==null)E=!0;else{var m=c(j);m!==null&&le(ee,m.startTime-v),E=!1}}break e}finally{T=null,V=b,J=!1}E=void 0}}finally{E?ue():Z=!1}}}var ue;if(typeof Y=="function")ue=function(){Y(oe)};else if(typeof MessageChannel<"u"){var Ae=new MessageChannel,Ne=Ae.port2;Ae.port1.onmessage=oe,ue=function(){Ne.postMessage(null)}}else ue=function(){ie(oe,0)};function le(v,E){D=ie(function(){v(u.unstable_now())},E)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(v){v.callback=null},u.unstable_forceFrameRate=function(v){0>v||125q?(v.sortIndex=b,s(j,v),c(R)===null&&v===c(j)&&(X?(ne(D),D=-1):X=!0,le(ee,b-q))):(v.sortIndex=F,s(R,v),P||J||(P=!0,Z||(Z=!0,ue()))),v},u.unstable_shouldYield=te,u.unstable_wrapCallback=function(v){var E=V;return function(){var b=V;V=E;try{return v.apply(this,arguments)}finally{V=b}}}})(Zc)),Zc}var Ah;function $g(){return Ah||(Ah=1,Xc.exports=Fg()),Xc.exports}var Kc={exports:{}},nt={};var Th;function Ig(){if(Th)return nt;Th=1;var u=ho();function s(R){var j="https://react.dev/errors/"+R;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(s){console.error(s)}}return u(),Kc.exports=Ig(),Kc.exports}var Dh;function ep(){if(Dh)return Bn;Dh=1;var u=$g(),s=ho(),c=Pg();function o(e){var t="https://react.dev/errors/"+e;if(1F||(e.current=q[F],q[F]=null,F--)}function L(e,t){F++,q[F]=e.current,e.current=t}var G=m(null),ce=m(null),re=m(null),_e=m(null);function it(e,t){switch(L(re,t),L(ce,e),L(G,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qf(t),e=Xf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}S(G),L(G,e)}function Be(){S(G),S(ce),S(re)}function Ql(e){e.memoizedState!==null&&L(_e,e);var t=G.current,a=Xf(t,e.type);t!==a&&(L(ce,e),L(G,a))}function Fn(e){ce.current===e&&(S(G),S(ce)),_e.current===e&&(S(_e),Ln._currentValue=b)}var ws,yo;function Oa(e){if(ws===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);ws=t&&t[1]||"",yo=-1)":-1i||p[n]!==k[i]){var C=` +`+p[n].replace(" at new "," at ");return e.displayName&&C.includes("")&&(C=C.replace("",e.displayName)),C}while(1<=n&&0<=i);break}}}finally{_s=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Oa(a):""}function km(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return As(e.type,!1);case 11:return As(e.type.render,!1);case 1:return As(e.type,!0);case 31:return Oa("Activity");default:return""}}function jo(e){try{var t="",a=null;do t+=km(e,a),a=e,e=e.return;while(e);return t}catch(n){return` +Error generating stack: `+n.message+` +`+n.stack}}var Ts=Object.prototype.hasOwnProperty,zs=u.unstable_scheduleCallback,Ds=u.unstable_cancelCallback,wm=u.unstable_shouldYield,_m=u.unstable_requestPaint,gt=u.unstable_now,Am=u.unstable_getCurrentPriorityLevel,No=u.unstable_ImmediatePriority,So=u.unstable_UserBlockingPriority,$n=u.unstable_NormalPriority,Tm=u.unstable_LowPriority,ko=u.unstable_IdlePriority,zm=u.log,Dm=u.unstable_setDisableYieldValue,Xl=null,pt=null;function ua(e){if(typeof zm=="function"&&Dm(e),pt&&typeof pt.setStrictMode=="function")try{pt.setStrictMode(Xl,e)}catch{}}var vt=Math.clz32?Math.clz32:Cm,Mm=Math.log,Em=Math.LN2;function Cm(e){return e>>>=0,e===0?32:31-(Mm(e)/Em|0)|0}var In=256,Pn=262144,ei=4194304;function Ra(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ti(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var f=n&134217727;return f!==0?(n=f&~r,n!==0?i=Ra(n):(d&=f,d!==0?i=Ra(d):a||(a=f&~e,a!==0&&(i=Ra(a))))):(f=n&~r,f!==0?i=Ra(f):d!==0?i=Ra(d):a||(a=n&~e,a!==0&&(i=Ra(a)))),i===0?0:t!==0&&t!==i&&(t&r)===0&&(r=i&-i,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:i}function Zl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Um(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function wo(){var e=ei;return ei<<=1,(ei&62914560)===0&&(ei=4194304),e}function Ms(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Kl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Lm(e,t,a,n,i,r){var d=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var f=e.entanglements,p=e.expirationTimes,k=e.hiddenUpdates;for(a=d&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var qm=/[\n"\\]/g;function At(e){return e.replace(qm,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Rs(e,t,a,n,i,r,d,f){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+_t(t)):e.value!==""+_t(t)&&(e.value=""+_t(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?Vs(e,d,_t(t)):a!=null?Vs(e,d,_t(a)):n!=null&&e.removeAttribute("value"),i==null&&r!=null&&(e.defaultChecked=!!r),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+_t(f):e.removeAttribute("name")}function Vo(e,t,a,n,i,r,d,f){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||a!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){Os(e);return}a=a!=null?""+_t(a):"",t=t!=null?""+_t(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}n=n??i,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=f?e.checked:!!n,e.defaultChecked=!!n,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),Os(e)}function Vs(e,t,a){t==="number"&&ni(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function cl(e,t,a,n){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ys=!1;if(Kt)try{var Il={};Object.defineProperty(Il,"passive",{get:function(){Ys=!0}}),window.addEventListener("test",Il,Il),window.removeEventListener("test",Il,Il)}catch{Ys=!1}var fa=null,Js=null,si=null;function Qo(){if(si)return si;var e,t=Js,a=t.length,n,i="value"in fa?fa.value:fa.textContent,r=i.length;for(e=0;e=tn),$o=" ",Io=!1;function Po(e,t){switch(e){case"keyup":return g0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function eu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var fl=!1;function v0(e,t){switch(e){case"compositionend":return eu(t);case"keypress":return t.which!==32?null:(Io=!0,$o);case"textInput":return e=t.data,e===$o&&Io?null:e;default:return null}}function x0(e,t){if(fl)return e==="compositionend"||!Ws&&Po(e,t)?(e=Qo(),si=Js=fa=null,fl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=cu(a)}}function uu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?uu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function du(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ni(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=ni(e.document)}return t}function Is(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var _0=Kt&&"documentMode"in document&&11>=document.documentMode,hl=null,Ps=null,sn=null,er=!1;function fu(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;er||hl==null||hl!==ni(n)||(n=hl,"selectionStart"in n&&Is(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),sn&&nn(sn,n)||(sn=n,n=Pi(Ps,"onSelect"),0>=d,i-=d,Bt=1<<32-vt(t)+i|a<pe?(ye=I,I=null):ye=I.sibling;var ke=w(y,I,N[pe],U);if(ke===null){I===null&&(I=ye);break}e&&I&&ke.alternate===null&&t(y,I),x=r(ke,x,pe),Se===null?ae=ke:Se.sibling=ke,Se=ke,I=ye}if(pe===N.length)return a(y,I),je&&Ft(y,pe),ae;if(I===null){for(;pepe?(ye=I,I=null):ye=I.sibling;var Ua=w(y,I,ke.value,U);if(Ua===null){I===null&&(I=ye);break}e&&I&&Ua.alternate===null&&t(y,I),x=r(Ua,x,pe),Se===null?ae=Ua:Se.sibling=Ua,Se=Ua,I=ye}if(ke.done)return a(y,I),je&&Ft(y,pe),ae;if(I===null){for(;!ke.done;pe++,ke=N.next())ke=O(y,ke.value,U),ke!==null&&(x=r(ke,x,pe),Se===null?ae=ke:Se.sibling=ke,Se=ke);return je&&Ft(y,pe),ae}for(I=n(I);!ke.done;pe++,ke=N.next())ke=A(I,y,pe,ke.value,U),ke!==null&&(e&&ke.alternate!==null&&I.delete(ke.key===null?pe:ke.key),x=r(ke,x,pe),Se===null?ae=ke:Se.sibling=ke,Se=ke);return e&&I.forEach(function(Xg){return t(y,Xg)}),je&&Ft(y,pe),ae}function Ee(y,x,N,U){if(typeof N=="object"&&N!==null&&N.type===X&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case J:e:{for(var ae=N.key;x!==null;){if(x.key===ae){if(ae=N.type,ae===X){if(x.tag===7){a(y,x.sibling),U=i(x,N.props.children),U.return=y,y=U;break e}}else if(x.elementType===ae||typeof ae=="object"&&ae!==null&&ae.$$typeof===$&&Ka(ae)===x.type){a(y,x.sibling),U=i(x,N.props),fn(U,N),U.return=y,y=U;break e}a(y,x);break}else t(y,x);x=x.sibling}N.type===X?(U=Ya(N.props.children,y.mode,U,N.key),U.return=y,y=U):(U=pi(N.type,N.key,N.props,null,y.mode,U),fn(U,N),U.return=y,y=U)}return d(y);case P:e:{for(ae=N.key;x!==null;){if(x.key===ae)if(x.tag===4&&x.stateNode.containerInfo===N.containerInfo&&x.stateNode.implementation===N.implementation){a(y,x.sibling),U=i(x,N.children||[]),U.return=y,y=U;break e}else{a(y,x);break}else t(y,x);x=x.sibling}U=rr(N,y.mode,U),U.return=y,y=U}return d(y);case $:return N=Ka(N),Ee(y,x,N,U)}if(le(N))return W(y,x,N,U);if(ue(N)){if(ae=ue(N),typeof ae!="function")throw Error(o(150));return N=ae.call(N),se(y,x,N,U)}if(typeof N.then=="function")return Ee(y,x,Si(N),U);if(N.$$typeof===Y)return Ee(y,x,bi(y,N),U);ki(y,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,x!==null&&x.tag===6?(a(y,x.sibling),U=i(x,N),U.return=y,y=U):(a(y,x),U=sr(N,y.mode,U),U.return=y,y=U),d(y)):a(y,x)}return function(y,x,N,U){try{dn=0;var ae=Ee(y,x,N,U);return kl=null,ae}catch(I){if(I===Sl||I===ji)throw I;var Se=bt(29,I,null,y.mode);return Se.lanes=U,Se.return=y,Se}}}var Fa=Lu(!0),Ou=Lu(!1),va=!1;function br(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function yr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function xa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ba(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(we&2)!==0){var i=n.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),n.pending=t,t=gi(e),bu(e,null,a),t}return mi(e,n,t,a),gi(e)}function hn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Ao(e,a)}}function jr(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var i=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?i=r=d:r=r.next=d,a=a.next}while(a!==null);r===null?i=r=t:r=r.next=t}else i=r=t;a={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Nr=!1;function mn(){if(Nr){var e=Nl;if(e!==null)throw e}}function gn(e,t,a,n){Nr=!1;var i=e.updateQueue;va=!1;var r=i.firstBaseUpdate,d=i.lastBaseUpdate,f=i.shared.pending;if(f!==null){i.shared.pending=null;var p=f,k=p.next;p.next=null,d===null?r=k:d.next=k,d=p;var C=e.alternate;C!==null&&(C=C.updateQueue,f=C.lastBaseUpdate,f!==d&&(f===null?C.firstBaseUpdate=k:f.next=k,C.lastBaseUpdate=p))}if(r!==null){var O=i.baseState;d=0,C=k=p=null,f=r;do{var w=f.lane&-536870913,A=w!==f.lane;if(A?(be&w)===w:(n&w)===w){w!==0&&w===jl&&(Nr=!0),C!==null&&(C=C.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var W=e,se=f;w=t;var Ee=a;switch(se.tag){case 1:if(W=se.payload,typeof W=="function"){O=W.call(Ee,O,w);break e}O=W;break e;case 3:W.flags=W.flags&-65537|128;case 0:if(W=se.payload,w=typeof W=="function"?W.call(Ee,O,w):W,w==null)break e;O=T({},O,w);break e;case 2:va=!0}}w=f.callback,w!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[w]:A.push(w))}else A={lane:w,tag:f.tag,payload:f.payload,callback:f.callback,next:null},C===null?(k=C=A,p=O):C=C.next=A,d|=w;if(f=f.next,f===null){if(f=i.shared.pending,f===null)break;A=f,f=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);C===null&&(p=O),i.baseState=p,i.firstBaseUpdate=k,i.lastBaseUpdate=C,r===null&&(i.shared.lanes=0),ka|=d,e.lanes=d,e.memoizedState=O}}function Ru(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Vu(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;er?r:8;var d=v.T,f={};v.T=f,qr(e,!1,t,a);try{var p=i(),k=v.S;if(k!==null&&k(f,p),p!==null&&typeof p=="object"&&typeof p.then=="function"){var C=L0(p,n);xn(e,t,C,kt(e))}else xn(e,t,n,kt(e))}catch(O){xn(e,t,{then:function(){},status:"rejected",reason:O},kt())}finally{E.p=r,d!==null&&f.types!==null&&(d.types=f.types),v.T=d}}function q0(){}function Hr(e,t,a,n){if(e.tag!==5)throw Error(o(476));var i=pd(e).queue;gd(e,i,t,b,a===null?q0:function(){return vd(e),a(n)})}function pd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:b,baseState:b,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ea,lastRenderedState:b},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ea,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function vd(e){var t=pd(e);t.next===null&&(t=e.alternate.memoizedState),xn(e,t.next.queue,{},kt())}function Br(){return tt(Ln)}function xd(){return Ge().memoizedState}function bd(){return Ge().memoizedState}function G0(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=kt();e=xa(a);var n=ba(t,e,a);n!==null&&(ht(n,t,a),hn(n,t,a)),t={cache:gr()},e.payload=t;return}t=t.return}}function Y0(e,t,a){var n=kt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ui(e)?jd(t,a):(a=nr(e,t,a,n),a!==null&&(ht(a,e,n),Nd(a,t,n)))}function yd(e,t,a){var n=kt();xn(e,t,a,n)}function xn(e,t,a,n){var i={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ui(e))jd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var d=t.lastRenderedState,f=r(d,a);if(i.hasEagerState=!0,i.eagerState=f,xt(f,d))return mi(e,t,i,0),Ce===null&&hi(),!1}catch{}if(a=nr(e,t,i,n),a!==null)return ht(a,e,n),Nd(a,t,n),!0}return!1}function qr(e,t,a,n){if(n={lane:2,revertLane:bc(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ui(e)){if(t)throw Error(o(479))}else t=nr(e,a,n,2),t!==null&&ht(t,e,2)}function Ui(e){var t=e.alternate;return e===ge||t!==null&&t===ge}function jd(e,t){_l=Ai=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Nd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Ao(e,a)}}var bn={readContext:tt,use:Di,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};bn.useEffectEvent=Re;var Sd={readContext:tt,use:Di,useCallback:function(e,t){return st().memoizedState=[e,t===void 0?null:t],e},useContext:tt,useEffect:sd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ei(4194308,4,ud.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ei(4194308,4,e,t)},useInsertionEffect:function(e,t){Ei(4,2,e,t)},useMemo:function(e,t){var a=st();t=t===void 0?null:t;var n=e();if($a){ua(!0);try{e()}finally{ua(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=st();if(a!==void 0){var i=a(t);if($a){ua(!0);try{a(t)}finally{ua(!1)}}}else i=t;return n.memoizedState=n.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},n.queue=e,e=e.dispatch=Y0.bind(null,ge,e),[n.memoizedState,e]},useRef:function(e){var t=st();return e={current:e},t.memoizedState=e},useState:function(e){e=Ur(e);var t=e.queue,a=yd.bind(null,ge,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Rr,useDeferredValue:function(e,t){var a=st();return Vr(a,e,t)},useTransition:function(){var e=Ur(!1);return e=gd.bind(null,ge,e.queue,!0,!1),st().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=ge,i=st();if(je){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Ce===null)throw Error(o(349));(be&127)!==0||Ju(n,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,sd(Xu.bind(null,n,r,e),[e]),n.flags|=2048,Tl(9,{destroy:void 0},Qu.bind(null,n,r,a,t),null),a},useId:function(){var e=st(),t=Ce.identifierPrefix;if(je){var a=qt,n=Bt;a=(n&~(1<<32-vt(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Ti++,0<\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof n.is=="string"?d.createElement("select",{is:n.is}):d.createElement("select"),n.multiple?r.multiple=!0:n.size&&(r.size=n.size);break;default:r=typeof n.is=="string"?d.createElement(i,{is:n.is}):d.createElement(i)}}r[Pe]=t,r[rt]=n;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)r.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=r;e:switch(lt(r,i,n),i){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&aa(t)}}return Le(t),tc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&aa(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(o(166));if(e=re.current,bl(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,i=et,i!==null)switch(i.tag){case 27:case 5:n=i.memoizedProps}e[Pe]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Yf(e.nodeValue,a)),e||ga(t,!0)}else e=es(e).createTextNode(n),e[Pe]=t,t.stateNode=e}return Le(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=bl(t),a!==null){if(e===null){if(!n)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[Pe]=t}else Ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),e=!1}else a=dr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(jt(t),t):(jt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Le(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=bl(t),n!==null&&n.dehydrated!==null){if(e===null){if(!i)throw Error(o(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(o(317));i[Pe]=t}else Ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),i=!1}else i=dr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(jt(t),t):(jt(t),null)}return jt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,i=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(i=n.alternate.memoizedState.cachePool.pool),r=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(r=n.memoizedState.cachePool.pool),r!==i&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Hi(t,t.updateQueue),Le(t),null);case 4:return Be(),e===null&&Sc(t.stateNode.containerInfo),Le(t),null;case 10:return It(t.type),Le(t),null;case 19:if(S(qe),n=t.memoizedState,n===null)return Le(t),null;if(i=(t.flags&128)!==0,r=n.rendering,r===null)if(i)jn(n,!1);else{if(Ve!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=_i(e),r!==null){for(t.flags|=128,jn(n,!1),e=r.updateQueue,t.updateQueue=e,Hi(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)yu(a,e),a=a.sibling;return L(qe,qe.current&1|2),je&&Ft(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&>()>Ji&&(t.flags|=128,i=!0,jn(n,!1),t.lanes=4194304)}else{if(!i)if(e=_i(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Hi(t,e),jn(n,!0),n.tail===null&&n.tailMode==="hidden"&&!r.alternate&&!je)return Le(t),null}else 2*gt()-n.renderingStartTime>Ji&&a!==536870912&&(t.flags|=128,i=!0,jn(n,!1),t.lanes=4194304);n.isBackwards?(r.sibling=t.child,t.child=r):(e=n.last,e!==null?e.sibling=r:t.child=r,n.last=r)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=gt(),e.sibling=null,a=qe.current,L(qe,i?a&1|2:a&1),je&&Ft(t,n.treeForkCount),e):(Le(t),null);case 22:case 23:return jt(t),kr(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(Le(t),t.subtreeFlags&6&&(t.flags|=8192)):Le(t),a=t.updateQueue,a!==null&&Hi(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&S(Za),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),It(Ye),Le(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function K0(e,t){switch(or(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return It(Ye),Be(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Fn(t),null;case 31:if(t.memoizedState!==null){if(jt(t),t.alternate===null)throw Error(o(340));Ja()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Ja()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return S(qe),null;case 4:return Be(),null;case 10:return It(t.type),null;case 22:case 23:return jt(t),kr(),e!==null&&S(Za),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return It(Ye),null;case 25:return null;default:return null}}function Zd(e,t){switch(or(t),t.tag){case 3:It(Ye),Be();break;case 26:case 27:case 5:Fn(t);break;case 4:Be();break;case 31:t.memoizedState!==null&&jt(t);break;case 13:jt(t);break;case 19:S(qe);break;case 10:It(t.type);break;case 22:case 23:jt(t),kr(),e!==null&&S(Za);break;case 24:It(Ye)}}function Nn(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var i=n.next;a=i;do{if((a.tag&e)===e){n=void 0;var r=a.create,d=a.inst;n=r(),d.destroy=n}a=a.next}while(a!==i)}}catch(f){ze(t,t.return,f)}}function Na(e,t,a){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){var d=n.inst,f=d.destroy;if(f!==void 0){d.destroy=void 0,i=t;var p=a,k=f;try{k()}catch(C){ze(i,p,C)}}}n=n.next}while(n!==r)}}catch(C){ze(t,t.return,C)}}function Kd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Vu(t,a)}catch(n){ze(e,e.return,n)}}}function Wd(e,t,a){a.props=Ia(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){ze(e,t,n)}}function Sn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(i){ze(e,t,i)}}function Gt(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(i){ze(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){ze(e,t,i)}else a.current=null}function Fd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(i){ze(e,e.return,i)}}function ac(e,t,a){try{var n=e.stateNode;pg(n,e.type,a,t),n[rt]=t}catch(i){ze(e,e.return,i)}}function $d(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&za(e.type)||e.tag===4}function lc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$d(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&za(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nc(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Zt));else if(n!==4&&(n===27&&za(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(nc(e,t,a),e=e.sibling;e!==null;)nc(e,t,a),e=e.sibling}function Bi(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&za(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Bi(e,t,a),e=e.sibling;e!==null;)Bi(e,t,a),e=e.sibling}function Id(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);lt(t,n,a),t[Pe]=e,t[rt]=a}catch(r){ze(e,e.return,r)}}var la=!1,Xe=!1,ic=!1,Pd=typeof WeakSet=="function"?WeakSet:Set,$e=null;function W0(e,t){if(e=e.containerInfo,_c=rs,e=du(e),Is(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var i=n.anchorOffset,r=n.focusNode;n=n.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var d=0,f=-1,p=-1,k=0,C=0,O=e,w=null;t:for(;;){for(var A;O!==a||i!==0&&O.nodeType!==3||(f=d+i),O!==r||n!==0&&O.nodeType!==3||(p=d+n),O.nodeType===3&&(d+=O.nodeValue.length),(A=O.firstChild)!==null;)w=O,O=A;for(;;){if(O===e)break t;if(w===a&&++k===i&&(f=d),w===r&&++C===n&&(p=d),(A=O.nextSibling)!==null)break;O=w,w=O.parentNode}O=A}a=f===-1||p===-1?null:{start:f,end:p}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ac={focusedElem:e,selectionRange:a},rs=!1,$e=t;$e!==null;)if(t=$e,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$e=e;else for(;$e!==null;){switch(t=$e,r=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),lt(r,n,a),r[Pe]=e,Fe(r),n=r;break e;case"link":var d=sh("link","href",i).get(n+(a.href||""));if(d){for(var f=0;fEe&&(d=Ee,Ee=se,se=d);var y=ou(f,se),x=ou(f,Ee);if(y&&x&&(A.rangeCount!==1||A.anchorNode!==y.node||A.anchorOffset!==y.offset||A.focusNode!==x.node||A.focusOffset!==x.offset)){var N=O.createRange();N.setStart(y.node,y.offset),A.removeAllRanges(),se>Ee?(A.addRange(N),A.extend(x.node,x.offset)):(N.setEnd(x.node,x.offset),A.addRange(N))}}}}for(O=[],A=f;A=A.parentNode;)A.nodeType===1&&O.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fa?32:a,v.T=null,a=fc,fc=null;var r=_a,d=ca;if(Ke=0,Cl=_a=null,ca=0,(we&6)!==0)throw Error(o(331));var f=we;if(we|=4,df(r.current),cf(r,r.current,d,a),we=f,zn(0,!1),pt&&typeof pt.onPostCommitFiberRoot=="function")try{pt.onPostCommitFiberRoot(Xl,r)}catch{}return!0}finally{E.p=i,v.T=n,zf(e,t)}}function Mf(e,t,a){t=zt(a,t),t=Qr(e.stateNode,t,2),e=ba(e,t,2),e!==null&&(Kl(e,2),Yt(e))}function ze(e,t,a){if(e.tag===3)Mf(e,e,a);else for(;t!==null;){if(t.tag===3){Mf(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(wa===null||!wa.has(n))){e=zt(a,e),a=Md(2),n=ba(t,a,2),n!==null&&(Ed(a,n,t,e),Kl(n,2),Yt(n));break}}t=t.return}}function pc(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new I0;var i=new Set;n.set(t,i)}else i=n.get(t),i===void 0&&(i=new Set,n.set(t,i));i.has(a)||(cc=!0,i.add(a),e=lg.bind(null,e,t,a),t.then(e,e))}function lg(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ce===e&&(be&a)===a&&(Ve===4||Ve===3&&(be&62914560)===be&&300>gt()-Yi?(we&2)===0&&Ul(e,0):oc|=a,El===be&&(El=0)),Yt(e)}function Ef(e,t){t===0&&(t=wo()),e=Ga(e,t),e!==null&&(Kl(e,t),Yt(e))}function ng(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Ef(e,a)}function ig(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(o(314))}n!==null&&n.delete(t),Ef(e,a)}function sg(e,t){return zs(e,t)}var Fi=null,Ol=null,vc=!1,$i=!1,xc=!1,Ta=0;function Yt(e){e!==Ol&&e.next===null&&(Ol===null?Fi=Ol=e:Ol=Ol.next=e),$i=!0,vc||(vc=!0,cg())}function zn(e,t){if(!xc&&$i){xc=!0;do for(var a=!1,n=Fi;n!==null;){if(e!==0){var i=n.pendingLanes;if(i===0)var r=0;else{var d=n.suspendedLanes,f=n.pingedLanes;r=(1<<31-vt(42|e)+1)-1,r&=i&~(d&~f),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,Of(n,r))}else r=be,r=ti(n,n===Ce?r:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(r&3)===0||Zl(n,r)||(a=!0,Of(n,r));n=n.next}while(a);xc=!1}}function rg(){Cf()}function Cf(){$i=vc=!1;var e=0;Ta!==0&&xg()&&(e=Ta);for(var t=gt(),a=null,n=Fi;n!==null;){var i=n.next,r=Uf(n,t);r===0?(n.next=null,a===null?Fi=i:a.next=i,i===null&&(Ol=a)):(a=n,(e!==0||(r&3)!==0)&&($i=!0)),n=i}Ke!==0&&Ke!==5||zn(e),Ta!==0&&(Ta=0)}function Uf(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0f)break;var C=p.transferSize,O=p.initiatorType;C&&Jf(O)&&(p=p.responseEnd,d+=C*(p"u"?null:document;function ah(e,t,a){var n=Rl;if(n&&typeof t=="string"&&t){var i=At(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),th.has(i)||(th.add(i),e={rel:e,crossOrigin:a,href:t},n.querySelector(i)===null&&(t=n.createElement("link"),lt(t,"link",e),Fe(t),n.head.appendChild(t)))}}function Ag(e){oa.D(e),ah("dns-prefetch",e,null)}function Tg(e,t){oa.C(e,t),ah("preconnect",e,t)}function zg(e,t,a){oa.L(e,t,a);var n=Rl;if(n&&e&&t){var i='link[rel="preload"][as="'+At(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+At(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+At(a.imageSizes)+'"]')):i+='[href="'+At(e)+'"]';var r=i;switch(t){case"style":r=Vl(e);break;case"script":r=Hl(e)}Lt.has(r)||(e=T({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Lt.set(r,e),n.querySelector(i)!==null||t==="style"&&n.querySelector(Cn(r))||t==="script"&&n.querySelector(Un(r))||(t=n.createElement("link"),lt(t,"link",e),Fe(t),n.head.appendChild(t)))}}function Dg(e,t){oa.m(e,t);var a=Rl;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+At(n)+'"][href="'+At(e)+'"]',r=i;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=Hl(e)}if(!Lt.has(r)&&(e=T({rel:"modulepreload",href:e},t),Lt.set(r,e),a.querySelector(i)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Un(r)))return}n=a.createElement("link"),lt(n,"link",e),Fe(n),a.head.appendChild(n)}}}function Mg(e,t,a){oa.S(e,t,a);var n=Rl;if(n&&e){var i=sl(n).hoistableStyles,r=Vl(e);t=t||"default";var d=i.get(r);if(!d){var f={loading:0,preload:null};if(d=n.querySelector(Cn(r)))f.loading=5;else{e=T({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Lt.get(r))&&Uc(e,a);var p=d=n.createElement("link");Fe(p),lt(p,"link",e),p._p=new Promise(function(k,C){p.onload=k,p.onerror=C}),p.addEventListener("load",function(){f.loading|=1}),p.addEventListener("error",function(){f.loading|=2}),f.loading|=4,as(d,t,n)}d={type:"stylesheet",instance:d,count:1,state:f},i.set(r,d)}}}function Eg(e,t){oa.X(e,t);var a=Rl;if(a&&e){var n=sl(a).hoistableScripts,i=Hl(e),r=n.get(i);r||(r=a.querySelector(Un(i)),r||(e=T({src:e,async:!0},t),(t=Lt.get(i))&&Lc(e,t),r=a.createElement("script"),Fe(r),lt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(i,r))}}function Cg(e,t){oa.M(e,t);var a=Rl;if(a&&e){var n=sl(a).hoistableScripts,i=Hl(e),r=n.get(i);r||(r=a.querySelector(Un(i)),r||(e=T({src:e,async:!0,type:"module"},t),(t=Lt.get(i))&&Lc(e,t),r=a.createElement("script"),Fe(r),lt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(i,r))}}function lh(e,t,a,n){var i=(i=re.current)?ts(i):null;if(!i)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Vl(a.href),a=sl(i).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Vl(a.href);var r=sl(i).hoistableStyles,d=r.get(e);if(d||(i=i.ownerDocument||i,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,d),(r=i.querySelector(Cn(e)))&&!r._p&&(d.instance=r,d.state.loading=5),Lt.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Lt.set(e,a),r||Ug(i,e,a,d.state))),t&&n===null)throw Error(o(528,""));return d}if(t&&n!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Hl(a),a=sl(i).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Vl(e){return'href="'+At(e)+'"'}function Cn(e){return'link[rel="stylesheet"]['+e+"]"}function nh(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function Ug(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),lt(t,"link",a),Fe(t),e.head.appendChild(t))}function Hl(e){return'[src="'+At(e)+'"]'}function Un(e){return"script[async]"+e}function ih(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+At(a.href)+'"]');if(n)return t.instance=n,Fe(n),n;var i=T({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Fe(n),lt(n,"style",i),as(n,a.precedence,e),t.instance=n;case"stylesheet":i=Vl(a.href);var r=e.querySelector(Cn(i));if(r)return t.state.loading|=4,t.instance=r,Fe(r),r;n=nh(a),(i=Lt.get(i))&&Uc(n,i),r=(e.ownerDocument||e).createElement("link"),Fe(r);var d=r;return d._p=new Promise(function(f,p){d.onload=f,d.onerror=p}),lt(r,"link",n),t.state.loading|=4,as(r,a.precedence,e),t.instance=r;case"script":return r=Hl(a.src),(i=e.querySelector(Un(r)))?(t.instance=i,Fe(i),i):(n=a,(i=Lt.get(r))&&(n=T({},a),Lc(n,i)),e=e.ownerDocument||e,i=e.createElement("script"),Fe(i),lt(i,"link",n),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,as(n,a.precedence,e));return t.instance}function as(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=n.length?n[n.length-1]:null,r=i,d=0;d title"):null)}function Lg(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function ch(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Og(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Vl(n.href),r=t.querySelector(Cn(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ns.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,Fe(r);return}r=t.ownerDocument||t,n=nh(n),(i=Lt.get(i))&&Uc(n,i),r=r.createElement("link"),Fe(r);var d=r;d._p=new Promise(function(f,p){d.onload=f,d.onerror=p}),lt(r,"link",n),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ns.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Oc=0;function Rg(e,t){return e.stylesheets&&e.count===0&&ss(e,e.stylesheets),0Oc?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(i)}}:null}function ns(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ss(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var is=null;function ss(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,is=new Map,t.forEach(Vg,e),is=null,ns.call(e))}function Vg(e,t){if(!(t.state.loading&4)){var a=is.get(e);if(a)var n=a.get(null);else{a=new Map,is.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(s){console.error(s)}}return u(),Qc.exports=ep(),Qc.exports}var ap=tp();class lp{observers=new Set;next(s){this.observers.forEach(c=>c(s))}asObservable(){return{subscribe:s=>(this.observers.add(s),{unsubscribe:()=>this.observers.delete(s)})}}}class np extends lp{currentValue;constructor(s){super(),this.currentValue=s}next(s){this.currentValue=s,super.next(s)}get value(){return this.currentValue}asObservable(){return{subscribe:s=>(s(this.currentValue),super.asObservable().subscribe(s))}}}class ip{authId="id";authToken="token";authEmail="email";runOutDate="runOutDate";authTokenSubject=new np(null);constructor(){}async loadAuthTokenFromStorage(){const s=window.localStorage.getItem(this.authToken);this.authTokenSubject.next(s)}async setAuthData(s,c){if(await this.setPreference(this.authId,s.id),await this.setPreference(this.authToken,s.token),await this.setPreference(this.authEmail,s.email),c)await this.setPreference(this.runOutDate,"forever");else{const o=new Date,h=new Date(o);h.setDate(o.getDate()+1);const g=h.toISOString();await this.setPreference(this.runOutDate,g)}}async setPreference(s,c){window.localStorage.setItem(s,c)}async getCandidateId(){return window.localStorage.getItem(this.authId)}async getCandidateEmail(){return window.localStorage.getItem(this.authEmail)}async getAuthToken(){return window.localStorage.getItem(this.authToken)}getAuthTokenNoneAsync(){return this.authTokenSubject.value}async getRunOutDate(){return window.localStorage.getItem(this.runOutDate)}async clearCredentials(){window.localStorage.removeItem(this.authId),window.localStorage.removeItem(this.authToken),window.localStorage.removeItem(this.runOutDate)}async getAuth(){let s=await this.getCandidateId(),c=await this.getAuthToken(),o=await this.getCandidateEmail(),h=await this.getRunOutDate();return s&&c&&o&&h?{id:s,token:c,email:o,runOutDate:h}:null}getAuthTokenWithoutWindow(){const s=this.getAuthTokenNoneAsync();return s||""}getAuthWithoutWindow(){const s=this.getAuthTokenNoneAsync();return s?{id:"",token:s,email:"",runOutDate:"forever"}:null}}const Jl=new ip;const Ph=(...u)=>u.filter((s,c,o)=>!!s&&s.trim()!==""&&o.indexOf(s)===c).join(" ").trim();const sp=u=>u.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const rp=u=>u.replace(/^([A-Z])|[\s-_]+(\w)/g,(s,c,o)=>o?o.toUpperCase():c.toLowerCase());const Eh=u=>{const s=rp(u);return s.charAt(0).toUpperCase()+s.slice(1)};var cp={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const op=u=>{for(const s in u)if(s.startsWith("aria-")||s==="role"||s==="title")return!0;return!1};const up=_.forwardRef(({color:u="currentColor",size:s=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:h="",children:g,iconNode:M,...H},R)=>_.createElement("svg",{ref:R,...cp,width:s,height:s,stroke:u,strokeWidth:o?Number(c)*24/Number(s):c,className:Ph("lucide",h),...!g&&!op(H)&&{"aria-hidden":"true"},...H},[...M.map(([j,B])=>_.createElement(j,B)),...Array.isArray(g)?g:[g]]));const Q=(u,s)=>{const c=_.forwardRef(({className:o,...h},g)=>_.createElement(up,{ref:g,iconNode:s,className:Ph(`lucide-${sp(Eh(u))}`,`lucide-${u}`,o),...h}));return c.displayName=Eh(u),c};const dp=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],mo=Q("arrow-left",dp);const fp=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],La=Q("arrow-right",fp);const hp=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],mp=Q("arrow-up-down",hp);const gp=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],em=Q("badge-check",gp);const pp=[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]],vp=Q("bolt",pp);const xp=[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],bp=Q("bookmark",xp);const yp=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],tm=Q("bot",yp);const jp=[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],lo=Q("briefcase-business",jp);const Np=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],go=Q("briefcase",Np);const Sp=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],kp=Q("calendar-days",Sp);const wp=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],_p=Q("calendar",wp);const Ap=[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]],am=Q("car",Ap);const Tp=[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]],zp=Q("check-check",Tp);const Dp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Mp=Q("check",Dp);const Ep=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Gn=Q("chevron-down",Ep);const Cp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],We=Q("circle-check",Cp);const Up=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]],Lp=Q("circle-pause",Up);const Op=[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Rp=Q("circle-play",Op);const Vp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]],Hp=Q("circle-plus",Vp);const Bp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],qp=Q("circle-stop",Bp);const Gp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Yp=Q("circle-user",Gp);const Jp=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],Qp=Q("clipboard-list",Jp);const Xp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],no=Q("clock-3",Xp);const Zp=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],io=Q("code-xml",Zp);const Kp=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],so=Q("crown",Kp);const Wp=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Fp=Q("ellipsis",Wp);const $p=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],Ip=Q("file-plus-corner",$p);const Pp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ro=Q("file-text",Pp);const ev=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],lm=Q("funnel",ev);const tv=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],nm=Q("gamepad-2",tv);const av=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",key:"1sqzm4"}],["path",{d:"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5",key:"kc0143"}],["rect",{x:"3",y:"7",width:"18",height:"4",rx:"1",key:"1hberx"}]],lv=Q("gift",av);const nv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],js=Q("globe",nv);const iv=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],im=Q("graduation-cap",iv);const sv=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],sm=Q("grid-3x3",sv);const rv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],cv=Q("info",rv);const ov=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],co=Q("laptop",ov);const uv=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],dv=Q("layout-grid",uv);const fv=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]],rm=Q("layout-panel-top",fv);const hv=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],mv=Q("lightbulb",hv);const gv=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],pv=Q("link-2",gv);const vv=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],cm=Q("lock-keyhole",vv);const xv=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],bv=Q("log-out",xv);const yv=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],Ns=Q("mail",yv);const jv=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],Xn=Q("map-pin",jv);const Nv=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Sv=Q("menu",Nv);const kv=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],om=Q("message-circle",kv);const wv=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],_v=Q("mic",wv);const Av=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Tv=Q("monitor",Av);const zv=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Dv=Q("moon",zv);const Mv=[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]],Ev=Q("move-right",Mv);const Cv=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Uv=Q("paperclip",Cv);const Lv=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Ov=Q("pen-line",Lv);const Rv=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],Vv=Q("phone",Rv);const Hv=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Bv=Q("play",Hv);const qv=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Gv=Q("plus",qv);const Yv=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Jv=Q("presentation",Yv);const Qv=[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]],Xv=Q("radar",Qv);const Zv=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Kv=Q("radio",Zv);const Wv=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],Fv=Q("rocket",Wv);const $v=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],oo=Q("route",$v);const Iv=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Pv=Q("save",Iv);const e1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],uo=Q("search",e1);const t1=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],a1=Q("send",t1);const l1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],um=Q("settings",l1);const n1=[["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"}]],i1=Q("shield",n1);const s1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],r1=Q("smile",s1);const c1=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Kn=Q("sparkles",c1);const o1=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],dm=Q("square-pen",o1);const u1=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],po=Q("star",u1);const d1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],f1=Q("sun",d1);const h1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Wn=Q("target",h1);const m1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Ch=Q("trending-up",m1);const g1=[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]],fm=Q("trophy",g1);const p1=[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],ql=Q("user-round",p1);const v1=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Uh=Q("user",v1);const x1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],b1=Q("users",x1);const y1=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],j1=Q("wand-sparkles",y1);const N1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],fo=Q("x",N1);function Gl({icon:u,label:s,...c}){return l.jsxs("label",{className:"auth-field",children:[l.jsx("span",{children:s}),l.jsxs("div",{className:"auth-input-wrap",children:[l.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:u}),l.jsx("input",{...c})]})]})}function S1({email:u,loading:s,onBackToLogin:c,onChangeEmail:o,onSubmit:h}){return l.jsxs("div",{className:"auth-view view-enter",children:[l.jsxs("div",{className:"auth-head",children:[l.jsx("button",{className:"link-btn back-link",type:"button",onClick:c,children:"Tilbage"}),l.jsx("h1",{children:"Glemt kodeord?"}),l.jsx("p",{children:"Indtast din e-mail, sa sender vi instruktioner til at nulstille din kode."})]}),l.jsxs("form",{className:"auth-form",onSubmit:h,children:[l.jsx(Gl,{icon:l.jsx(Ns,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:u,onChange:g=>o(g.target.value),required:!0}),l.jsx("button",{className:"submit-btn",type:"submit",disabled:s,children:s?"Sender...":"Send nulstillingslink"})]})]})}function k1({email:u,loading:s,onChangeEmail:c,onChangePassword:o,onChangeRememberMe:h,onForgotPassword:g,onRegister:M,onSubmit:H,password:R,rememberMe:j}){return l.jsxs("div",{className:"auth-view view-enter",children:[l.jsxs("div",{className:"auth-head auth-head-center",children:[l.jsx("h1",{children:"Velkommen tilbage"}),l.jsx("p",{children:"Indtast dine oplysninger for at logge ind pa din konto."})]}),l.jsxs("form",{className:"auth-form",onSubmit:H,children:[l.jsx(Gl,{icon:l.jsx(Ns,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:u,onChange:B=>c(B.target.value),required:!0}),l.jsxs("label",{className:"auth-field",children:[l.jsxs("div",{className:"auth-field-row",children:[l.jsx("span",{children:"Adgangskode"}),l.jsx("button",{className:"link-btn",type:"button",onClick:g,children:"Glemt adgangskode?"})]}),l.jsxs("div",{className:"auth-input-wrap",children:[l.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:l.jsx(cm,{size:16,strokeWidth:1.8})}),l.jsx("input",{type:"password",placeholder:"••••••••",value:R,onChange:B=>o(B.target.value),required:!0})]})]}),l.jsxs("label",{className:"check-row",children:[l.jsx("input",{type:"checkbox",checked:j,onChange:B=>h(B.target.checked)}),l.jsx("span",{children:"Husk mig i 30 dage"})]}),l.jsx("button",{className:"submit-btn",type:"submit",disabled:s,children:s?"Logger ind...":"Log ind"})]}),l.jsxs("p",{className:"auth-foot",children:["Har du ikke en konto?",l.jsx("button",{className:"link-btn",type:"button",onClick:M,children:"Opret bruger"})]})]})}function w1({email:u,firstName:s,lastName:c,loading:o,locationQuery:h,locationSuggestions:g,onBackToLogin:M,onChangeEmail:H,onChangeFirstName:R,onChangeLastName:j,onChangeLocationQuery:B,onChangePassword:T,onSelectLocation:V,onSubmit:J,password:P}){return l.jsxs("div",{className:"auth-view view-enter",children:[l.jsxs("div",{className:"auth-head auth-head-center",children:[l.jsx("h1",{children:"Opret konto"}),l.jsx("p",{children:"Start din karriere-rejse med os i dag."})]}),l.jsxs("form",{className:"auth-form",onSubmit:J,children:[l.jsx(Gl,{icon:l.jsx(Uh,{size:16,strokeWidth:1.8}),label:"Fornavn",type:"text",placeholder:"Lasse",value:s,onChange:X=>R(X.target.value),required:!0}),l.jsx(Gl,{icon:l.jsx(Uh,{size:16,strokeWidth:1.8}),label:"Efternavn",type:"text",placeholder:"Hansen",value:c,onChange:X=>j(X.target.value),required:!0}),l.jsx(Gl,{icon:l.jsx(Ns,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:u,onChange:X=>H(X.target.value),required:!0}),l.jsx(Gl,{icon:l.jsx(cm,{size:16,strokeWidth:1.8}),label:"Adgangskode",type:"password",placeholder:"Skab en staerk kode",value:P,onChange:X=>T(X.target.value),required:!0,minLength:8}),l.jsxs("label",{className:"auth-field",children:[l.jsx("span",{children:"Lokation"}),l.jsxs("div",{className:"auth-input-wrap",children:[l.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:l.jsx(Xn,{size:16,strokeWidth:1.8})}),l.jsx("input",{type:"text",placeholder:"Soeg by eller adresse",value:h,onChange:X=>B(X.target.value),autoComplete:"off",required:!0})]}),g.length>0?l.jsx("div",{className:"location-suggestions",children:g.map(X=>l.jsx("button",{type:"button",className:"location-suggestion-item",onClick:()=>{V(X.placeId,X.description)},children:X.description},X.placeId))}):null]}),l.jsx("button",{className:"submit-btn",type:"submit",disabled:o,children:o?"Opretter...":"Opret bruger"})]}),l.jsxs("p",{className:"auth-foot",children:["Har du allerede en konto?",l.jsx("button",{className:"link-btn",type:"button",onClick:M,children:"Log ind"})]})]})}class tl{searchParams;constructor(s){this.searchParams=s?new URLSearchParams(s):new URLSearchParams}append(s,c){const o=new URLSearchParams(this.searchParams);return o.append(s,String(c)),new tl(o)}set(s,c){const o=new URLSearchParams(this.searchParams);return o.set(s,String(c)),new tl(o)}toString(){return this.searchParams.toString()}}function ms(u,s){if(!s)return u;const c=new URL(u);if(s instanceof tl){const o=s.toString();return o&&new URLSearchParams(o).forEach((g,M)=>c.searchParams.append(M,g)),c.toString()}return Object.entries(s).forEach(([o,h])=>{if(Array.isArray(h)){h.forEach(g=>c.searchParams.append(o,String(g)));return}c.searchParams.set(o,String(h))}),c.toString()}async function gs(u,s="json"){if(!u.ok){const c=await u.text();throw new Error(c||`HTTP ${u.status}`)}if(u.status!==204)return s==="blob"?await u.blob():await u.json()}function ps(u){const s=typeof window>"u"?null:window.localStorage.getItem("token");return{...s?{Authorization:`Bearer ${s}`}:{},...u??{}}}class _1{async get(s,c){const o=await fetch(ms(s,c?.params),{method:"GET",headers:ps(c?.headers)});return gs(o,c?.responseType)}async post(s,c,o){const h=await fetch(ms(s,o?.params),{method:"POST",headers:{"Content-Type":"application/json",...ps(o?.headers)},body:c===void 0?void 0:JSON.stringify(c)});return gs(h)}async put(s,c,o){const h=await fetch(ms(s,o?.params),{method:"PUT",headers:{"Content-Type":"application/json",...ps(o?.headers)},body:c===void 0?void 0:JSON.stringify(c)});return gs(h)}async delete(s,c){const o=await fetch(ms(s,c?.params),{method:"DELETE",headers:ps(c?.headers)});return gs(o)}}const He=new _1,z={backendApi:"https://api.arbejd.com/",backendApiV2:"https://api2.arbejd.com/api/"};class A1{http;constructor(s=He){this.http=s}login(s,c){let o=z.backendApi+"api/1.1.0/candidate/login",h={email:s,password:c};return this.http.post(o,h)}forgotPassword(s){let c=z.backendApi+"api/1.1.0/candidate/resetPassword/"+s.toLowerCase();return this.http.get(c)}}class al{constructor(s=He,c=Jl){this.http=s,this.localStorageService=c}closeAccount(s){let c=z.backendApi+"api/1.1.0/candidate/"+s.toLowerCase();return this.http.delete(c)}accountRetention(s){let c=z.backendApi+"api/1.1.0/candidate/"+s+"/account-retention/";return this.http.get(c)}getCandidatesQualifications(){let s=z.backendApi+"api/1.1.0/candidate/skill/";return this.http.get(s)}getCandidatesCertifications(){let s=z.backendApi+"api/1.1.0/candidate/certificate/";return this.http.get(s)}getCandidatesLanguages(){let s=z.backendApi+"api/1.1.0/candidate/language/";return this.http.get(s)}getCandidatesDriverLicenses(){let s=z.backendApi+"api/1.1.0/candidate/driversLicense/";return this.http.get(s)}changePassword(s,c){let o=z.backendApi+"api/1.1.0/candidate/resetPassword",h={key:s,password:c};return this.http.post(o,h)}getCandidatesEducations(){let s=z.backendApiV2+"1.0.0/client/candidate_education";return this.http.get(s)}updateExperience(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_experience/"+s.id,h={comments:s.comments,company_name:s.companyName,is_current:s.isCurrent,from_date:s.fromDate,to_date:s.toDate,language:c};return this.http.put(o,h)}createAccountV2(s){let c=z.backendApiV2+"1.0.0/client/candidate";return this.http.post(c,s)}updateCandidate(s,c){let o=z.backendApiV2+"1.0.0/client/candidate/v2/"+s.id,h={...s};s.birthday&&(s.birthday=new Date(s.birthday)),s.birthday instanceof Date&&(h.birthday=s.birthday.toISOString());let g={language:c,candidate:h};return this.http.put(o,g)}getCandidate(){let s=z.backendApiV2+"1.0.0/client/candidate";return this.http.get(s)}getCvSuggestion(){let s=z.backendApiV2+"1.0.0/client/suggestion";return this.http.get(s)}saveExperience(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_experience",h={comments:s.comments,company_name:s.companyName,is_current:s.isCurrent,esco_id:s.occupation.id,from_date:s.fromDate,to_date:s.toDate,language:c};return this.http.post(o,h)}removeExperience(s){let c=z.backendApiV2+"1.0.0/client/candidate_experience/"+s;return this.http.delete(c)}getCandidatesExperiences(){let s=z.backendApiV2+"1.0.0/client/candidate_experience";return this.http.get(s)}getJobAgentFilters(){let s=z.backendApiV2+"1.0.0/client/job_agent_filter";return this.http.get(s)}updateJobAgentFilter(s){let c=z.backendApiV2+"1.0.0/client/job_agent_filter/"+s.id,o=s;return this.http.put(c,o)}removeJobAgentFilter(s){let c=z.backendApiV2+"1.0.0/client/job_agent_filter/"+s;return this.http.delete(c)}updateCandidateJobSeeker(s){let c=z.backendApiV2+"1.0.0/client/candidate/update_job_seeker/"+s.id;return this.http.put(c,s)}updateCvUploadProfileText(s,c,o){let h=z.backendApiV2+"1.0.0/client/candidate/update_cv_upload_profile/"+s,g={description:c,language:o};return this.http.put(h,g)}saveExperienceV2(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_experience",h={comments:s.comments,company_name:s.companyName,is_current:s.isCurrent,esco_id:s.escoId,from_date:s.fromDate,to_date:s.toDate,language:c};return this.http.post(o,h)}updateProfileText(s){let c=z.backendApiV2+"1.0.0/client/candidate/update_profile_text";return this.http.put(c,s)}}function Wc(u,s){const c=u[s];return typeof c=="string"?c:null}class T1{authService;candidateService;constructor(s=new A1,c=new al){this.authService=s,this.candidateService=c}async login(s,c,o){const g=await this.authService.login(s,c)??{},M=Wc(g,"token");if(!M)return{ok:!1,message:"Login fejlede: token mangler i svaret fra serveren."};const H={id:Wc(g,"id")??"",token:M,email:Wc(g,"email")??s,runOutDate:"forever"};return await Jl.setAuthData(H,o),{ok:!0,message:"Du er nu logget ind."}}async forgotPassword(s){return await this.authService.forgotPassword(s),{ok:!0,message:"Anmodning om nulstilling af kodeord er sendt."}}async register(s){const c=Number.parseInt(s.zip,10);if(Number.isNaN(c))return{ok:!1,message:"Postnummer skal være et tal."};const o={email:s.email,password:s.password,zip:c,zipName:s.zipName,awsUrl:"",latitude:0,longitude:0,firstName:s.firstName,lastName:s.lastName,subscribe:s.subscribe};return await this.candidateService.createAccountV2(o),{ok:!0,message:"Kontoen er oprettet."}}}class hm{constructor(s=He){this.http=s}searchPlaces(s){const c=z.backendApiV2+"client/google_maps/1.0.0/get_places?query="+encodeURIComponent(s);return this.http.get(c)}getPlaceDetails(s){const c=z.backendApiV2+"client/google_maps/1.0.0/get_place_details?place_id="+encodeURIComponent(s);return this.http.get(c)}}function z1(u){const s=_.useMemo(()=>new T1,[]),c=_.useMemo(()=>new hm,[]),[o,h]=_.useState(""),[g,M]=_.useState(!1),[H,R]=_.useState(""),[j,B]=_.useState(""),[T,V]=_.useState(""),[J,P]=_.useState(""),[X,he]=_.useState(""),[ie,ne]=_.useState(""),[Y,K]=_.useState([]),[ee,Z]=_.useState(null),[D,$]=_.useState(""),[de,te]=_.useState(!1),[oe,ue]=_.useState(null),[Ae,Ne]=_.useState("login");function le(S){ue(null),Ne(S)}async function v(S){const L=S.trim();if(L.length<3){K([]);return}try{const ce=((await c.searchPlaces(L)).predictions??[]).filter(re=>typeof re.place_id=="string"&&typeof re.description=="string").map(re=>({description:re.description,placeId:re.place_id}));K(ce)}catch{K([])}}function E(S){const L=S.match(/\b(\d{4})\b/);if(!L)return null;const G=L[1],re=S.slice(S.indexOf(G)+G.length).trim().split(",")[0]?.trim()||"";return re?{cityName:re,zip:G}:null}async function b(S,L){let G=L;try{const re=await c.getPlaceDetails(S);typeof re.result?.formatted_address=="string"&&re.result.formatted_address.trim()&&(G=re.result.formatted_address.trim())}catch{}const ce=E(G)??E(L);if(ne(G),K([]),!ce){Z(null);return}Z({cityName:ce.cityName,description:G,zip:ce.zip})}async function q(S){S.preventDefault(),M(!0),ue(null);try{const L=await s.login(H.trim(),j,de);ue(L),L.ok&&u?.()}catch(L){const G=L instanceof Error?L.message:"Login mislykkedes.";ue({ok:!1,message:G})}finally{M(!1)}}async function F(S){S.preventDefault(),M(!0),ue(null);try{if(!ee){ue({ok:!1,message:"Vaelg en lokation fra listen (med postnummer)."});return}const L=await s.register({email:J.trim(),firstName:T.trim(),lastName:X.trim(),password:D,subscribe:!0,zip:ee.zip,zipName:ee.cityName});ue(L),L.ok&&Ne("login")}catch(L){const G=L instanceof Error?L.message:"Oprettelse mislykkedes.";ue({ok:!1,message:G})}finally{M(!1)}}async function m(S){S.preventDefault(),M(!0),ue(null);try{const L=await s.forgotPassword(o.trim());ue(L)}catch(L){const G=L instanceof Error?L.message:"Kunne ikke sende nulstillingslink.";ue({ok:!1,message:G})}finally{M(!1)}}return{forgotEmail:o,handleForgotSubmit:m,handleLoginSubmit:q,handleRegisterSubmit:F,loading:g,loginEmail:H,loginPassword:j,registerFirstName:T,registerEmail:J,registerLastName:X,registerLocationQuery:ie,registerLocationSuggestions:Y,registerPassword:D,rememberMe:de,result:oe,setForgotEmail:h,setLoginEmail:R,setLoginPassword:B,setRegisterEmail:P,setRegisterFirstName:V,setRegisterLastName:he,setRegisterLocationQuery:S=>{ne(S),Z(null),v(S)},setRegisterPassword:$,setRememberMe:te,selectRegisterLocation:b,switchView:le,view:Ae}}function D1({onAuthenticated:u}){const{forgotEmail:s,handleForgotSubmit:c,handleLoginSubmit:o,handleRegisterSubmit:h,loading:g,loginEmail:M,loginPassword:H,registerFirstName:R,registerEmail:j,registerLastName:B,registerLocationQuery:T,registerLocationSuggestions:V,registerPassword:J,rememberMe:P,result:X,setForgotEmail:he,setLoginEmail:ie,setLoginPassword:ne,setRegisterEmail:Y,setRegisterFirstName:K,setRegisterLastName:ee,setRegisterLocationQuery:Z,setRegisterPassword:D,setRememberMe:$,selectRegisterLocation:de,switchView:te,view:oe}=z1(u);return l.jsxs("main",{className:"auth-page",children:[l.jsx("div",{className:"orb orb-1"}),l.jsx("div",{className:"orb orb-2"}),l.jsx("div",{className:"orb orb-3"}),l.jsxs("div",{className:"auth-logo-wrap",children:[l.jsx("div",{className:"auth-logo-dot",children:"A"}),l.jsx("span",{className:"auth-logo-text",children:"ARBEJD"})]}),l.jsxs("section",{className:"auth-card",children:[oe==="login"?l.jsx(k1,{email:M,loading:g,onChangeEmail:ie,onChangePassword:ne,onChangeRememberMe:$,onForgotPassword:()=>te("forgot"),onRegister:()=>te("register"),onSubmit:o,password:H,rememberMe:P}):null,oe==="register"?l.jsx(w1,{email:j,firstName:R,lastName:B,loading:g,locationQuery:T,locationSuggestions:V,onBackToLogin:()=>te("login"),onChangeEmail:Y,onChangeFirstName:K,onChangeLastName:ee,onChangeLocationQuery:Z,onChangePassword:D,onSelectLocation:de,onSubmit:h,password:J}):null,oe==="forgot"?l.jsx(S1,{email:s,loading:g,onBackToLogin:()=>te("login"),onChangeEmail:he,onSubmit:c}):null,X?l.jsx("p",{className:X.ok?"status success":"status error",children:X.message}):null]},oe)]})}class mm{constructor(s=He){this.http=s}listEscoByParent(s){let c=z.backendApiV2+"1.0.0/client/esco";return s&&(c+="/"+s),this.http.get(c)}listAllEscos(){let s=z.backendApiV2+"1.0.0/client/esco";return this.http.get(s)}}class M1{constructor(s=He){this.http=s}addEscoToJobAgent(s){let c=z.backendApiV2+"1.0.0/client/job_agent_filter",o={esco_id:s};return this.http.post(c,o)}removeJobAgentFilter(s){let c=z.backendApiV2+"1.0.0/client/job_agent_filter/"+s;return this.http.delete(c)}}class Ss{constructor(s=He){this.http=s}getPaymentOverview(){let s=z.backendApiV2+"client/end_user_subscription/1.0.0/payment_overview";return this.http.get(s)}getSubscriptionProducts(){let s=z.backendApiV2+"client/end_user_subscription/1.0.0/get_products";return this.http.get(s)}deactivateAutoRenew(){let s=z.backendApiV2+"client/end_user_subscription/1.0.0/deactivate_auto_renew";return this.http.put(s,{})}activateAutoRenew(){let s=z.backendApiV2+"client/end_user_subscription/1.0.0/activate_auto_renew";return this.http.put(s,{})}redeemCode(s){let c=z.backendApiV2+"client/candidate_redeem_code/v1";return this.http.post(c,{code:s})}}class gm{constructor(s=new al,c=new Ss,o=new M1,h=new mm){this.candidateService=s,this.subscriptionService=c,this.jobAgentService=o,this.escoService=h}async loadInitialData(){const[s,c,o,h]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.candidateService.getJobAgentFilters(),this.candidateService.getCvSuggestion(),this.escoService.listAllEscos()]);return{paymentOverview:s.status==="fulfilled"?s.value:null,jobAgentFilters:c.status==="fulfilled"?c.value:[],cvSuggestions:o.status==="fulfilled"?this.withImprovements(o.value):[],escos:h.status==="fulfilled"?h.value:[]}}async getCandidateProfile(){try{const s=await this.candidateService.getCandidate(),c=s.firstName?.trim()||s.name?.trim()||"Lasse",o=s.imageUrl||s.image||void 0;return{name:c,imageUrl:o}}catch{return{name:"Lasse"}}}async addEscoToFilter(s){await this.jobAgentService.addEscoToJobAgent(s)}async removeFilter(s){await this.jobAgentService.removeJobAgentFilter(s)}async setFilterVisibility(s,c){await this.candidateService.updateJobAgentFilter({...s,visible:c})}getEscoSuggestions(s,c,o){const h=s.trim().toLowerCase();if(!h)return[];const g=new Set(o.map(M=>M.escoId));return c.filter(M=>!g.has(M.id)).filter(M=>M.preferedLabelDa.toLowerCase().includes(h)).slice(0,10)}getSuggestionText(s){return s>=0&&s<50?"Et godt første skridt mod flere relevante job.":s>=50&&s<100?"Kan styrke dine chancer i ansøgningsbunken.":s>=100&&s<150?"Ofte efterspurgt og forbedrer dine jobmuligheder markant.":s>=150&&s<200?"Et klart plus som gør dig mere attraktiv for arbejdsgivere.":s>=200?"En afgørende faktor der åbner langt flere jobmuligheder.":"Forbedrer din profil til kommende jobmatch."}withImprovements(s){return s.map(c=>{const o=[],h=[{items:c.jobImprovementSuggestion.educations??[],type:"education"},{items:c.jobImprovementSuggestion.languages??[],type:"language"},{items:c.jobImprovementSuggestion.driversLicenses??[],type:"driversLicense"},{items:c.jobImprovementSuggestion.qualifications??[],type:"qualification"},{items:c.jobImprovementSuggestion.certificates??[],type:"certificate"}];for(const g of h)for(const M of g.items)o.push({...M,improvementType:g.type});return o.sort((g,M)=>M.jobChanceIncrease-g.jobChanceIncrease),{...c,improvements:o}})}}class E1{constructor(s=He){this.http=s}saveJobFilter(s){let c=z.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.post(c,s)}getJobFilter(){let s=z.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.get(s)}resetJobFilter(){let s=z.backendApiV2+"1.0.0/client/candidate_search_filter/reset_job_filter";return this.http.put(s,{})}}class vo{http;constructor(s=He){this.http=s}getSearchWords(){let s=z.backendApiV2+"1.0.0/client/candidate_search/list_search_words";return this.http.get(s)}getJobs(s,c,o){let h=z.backendApi+"api/1.1.0/jobs/all/"+c+"/"+o;return this.http.post(h,s)}getJobsV2(s,c,o,h){let g=z.backendApiV2+"1.0.0/client/candidate_search/v2/"+s+"/"+c+"/"+o,M=new tl;return h.length>0&&h.forEach(H=>{M=M.append("terms",H)}),this.http.get(g,{params:M})}getSavedJobs(s,c){let o=z.backendApi+"api/1.1.0/candidate/jobs/saved";return this.http.get(o)}getSavedJobsV2(s,c){let o=z.backendApiV2+"1.0.0/client/job/bookmarked_jobs/"+s+"/"+c;return this.http.get(o)}getAppliedJobs(s,c){let o=z.backendApi+"api/1.1.0/applications/candidate/";return this.http.get(o)}getAppliedJobsV2(s,c){let o=z.backendApiV2+"1.0.0/client/job/applied_jobs/"+s+"/"+c;return this.http.get(o)}payWithStripe(s,c){const o=z.backendApiV2+"1.0.0/client/payment/create-payment-intent",h={paymentMethodId:s,amount:c};return this.http.post(o,h)}bookmarkJob(s){let c=z.backendApi+"api/1.1.0/candidate/jobs/"+s+"/jobnet/updateSavedStatus",o={saved:!0};return this.http.post(c,o)}unbookmarkJob(s){let c=z.backendApi+"api/1.1.0/candidate/jobs/"+s+"/jobnet/updateSavedStatus",o={saved:!1};return this.http.post(c,o)}bookmarkJobV2(s,c,o){let h=z.backendApiV2+"1.0.0/client/job/bookmark/"+s,g={job_type:o,save:c};return this.http.post(h,g)}getJobNetJobDetail(s){let c=z.backendApiV2+"1.0.0/client/job/detail/star/"+s;return this.http.get(c)}getJobDetail(s){let c=z.backendApi+"api/1.1.0/jobs/"+s;return this.http.get(c)}getOccupationCategorizations(){let s=z.backendApiV2+"1.0.0/client/ds_tree";return this.http.get(s)}getJobSummary(s){let c=z.backendApi+"api/1.1.0/jobs/"+s+"/summary";return this.http.get(c)}applyJob(s){let c=z.backendApi+"api/1.1.0/applications/job/"+s,o={jobPostingId:s};return this.http.post(c,o)}undoApplyJob(s){let c=z.backendApi+"api/1.1.0/applications/"+s;return this.http.delete(c)}toggleApplyJobnetjob(s,c){let o=z.backendApiV2+"1.0.0/client/job/detail/star/apply/"+s,h={apply:c};return this.http.put(o,h)}}const Fc={escoIds:[],workTypePermanent:!1,workTypePartTime:!1,workDistance:50,partTimeHours:null,distanceCenterName:"",latitude:null,longitude:null};function Ze(u){return typeof u=="string"?u:""}function Jn(u){return typeof u=="object"&&u!==null?u:null}function $c(u,s){if(!u)return[];const c=u[s];return Array.isArray(c)?c:[]}function Ic(u){if(Array.isArray(u))return u;const s=Jn(u);if(!s)return[];const c=$c(s,"searchList");if(c.length>0)return c;const o=Jn(s.data),h=$c(o,"searchList");if(h.length>0)return h;const g=$c(s,"items");return g.length>0?g:[]}function Lh(u,s){if(!u)return null;const c=u[s];return typeof c=="number"?c:null}function C1(u){return u.trim()}function U1(u){if(!u)return[];const s=new Set,c=u.searchText?.trim();c&&c.length>0&&s.add(c);for(const o of u.desiredTitles??[]){const h=C1(o);h.length>0&&s.add(h)}return Array.from(s)}function L1(u,s){return{id:Ze(u.id),title:Ze(u.title),companyName:Ze(u.companyName),occupationName:Ze(u.occupationName),descriptionIntro:Ze(u.descriptionIntro),address:Ze(u.address),time:Ze(u.time),applicationDeadline:u.applicationDeadline instanceof Date?u.applicationDeadline.toISOString():Ze(String(u.applicationDeadline??"")),candidateDistance:typeof u.candidateDistance=="number"?u.candidateDistance:null,logoUrl:Ze(u.logoUrl),companyLogoImage:Ze(u.companyLogoImage),fromJobnet:!!u.fromJobnet,isSaved:!!u.saved,matchPercent:s}}function Oh(u){return{id:Ze(u.id),title:Ze(u.title),companyName:Ze(u.companyName),occupationName:Ze(u.occupationName),descriptionIntro:Ze(u.descriptionIntro),address:Ze(u.address),time:Ze(u.time),applicationDeadline:u.applicationDeadline instanceof Date?u.applicationDeadline.toISOString():Ze(String(u.applicationDeadline??"")),candidateDistance:typeof u.candidateDistance=="number"?u.candidateDistance:null,logoUrl:Ze(u.logoUrl),companyLogoImage:Ze(u.companyLogoImage),isActive:typeof u.isActive=="boolean"?u.isActive:void 0,fromJobnet:!!u.fromJobnet,isSaved:!0}}class ks{constructor(s=new vo,c=new E1,o=new hm,h=new al){this.jobService=s,this.filterService=c,this.placesService=o,this.candidateService=h}async getCandidateProfile(){try{const s=await this.candidateService.getCandidate(),c=s.firstName?.trim()||s.name?.trim()||"Lasse",o=s.imageUrl||s.image||void 0;return{name:c,imageUrl:o}}catch{return{name:"Lasse"}}}async getOccupationOptions(){const s=await this.jobService.getOccupationCategorizations(),c=[];for(const o of s)for(const h of o.subAreas)for(const g of h.occupations)typeof g.id=="number"&&typeof g.name=="string"&&g.name.trim().length>0&&c.push({id:g.id,name:g.name});return c.sort((o,h)=>o.name.localeCompare(h.name,"da"))}async getJobSearchWords(){return(await this.jobService.getSearchWords()).filter(c=>typeof c=="string"&&c.trim().length>0)}async getSavedFilter(){try{const s=await this.filterService.getJobFilter(),c=s?.candidateSearchFilter;return c?{escoIds:s.escoIds??[],workTypePermanent:!!c.workTypePermanent,workTypePartTime:!!c.workTypePartTime,workDistance:c.workDistance??c.defaultDistance??50,partTimeHours:c.partTimeHours??null,distanceCenterName:c.distanceCenterName??c.defaultCenterName??"",latitude:c.latitude??null,longitude:c.longitude??null}:{...Fc}}catch{return{...Fc}}}async saveFilter(s){const c=s.workTypePartTime&&s.partTimeHours&&s.partTimeHours>0&&s.partTimeHours<=37?s.partTimeHours:null,o={escoIds:s.escoIds,candidateSearchFilter:{workTimeDay:!1,workTimeEvening:!1,workTimeNight:!1,workTimeWeekend:!1,workTypePermanent:s.workTypePermanent,workTypeFreelance:!1,workTypePartTime:s.workTypePartTime,workTypeSubstitute:!1,workTypeTemporary:!1,workDistance:s.workDistance,partTimeHours:c,distanceCenterName:s.distanceCenterName,latitude:s.latitude,longitude:s.longitude}};await this.filterService.saveJobFilter(o)}async resetFilter(){return await this.filterService.resetJobFilter(),{...Fc}}async searchPlaceSuggestions(s){const c=s.trim();return c.length<3?[]:((await this.placesService.searchPlaces(c)).predictions??[]).filter(h=>typeof h.place_id=="string"&&typeof h.description=="string").map(h=>({placeId:h.place_id,description:h.description}))}async getPlaceSelection(s){const o=(await this.placesService.getPlaceDetails(s)).result;return!o||typeof o.formatted_address!="string"?null:{description:o.formatted_address,latitude:typeof o.geometry?.location?.lat=="number"?o.geometry.location.lat:null,longitude:typeof o.geometry?.location?.lng=="number"?o.geometry.location.lng:null}}async getTabItems(s,c){if(s==="gemte"){const o=await this.jobService.getSavedJobsV2(0,100);return Ic(o).map(g=>Oh(g))}if(s==="sogte"){const o=await this.jobService.getAppliedJobsV2(0,100);return Ic(o).map(g=>Oh(g))}return this.getJobsFeedItems(c?[c]:void 0)}async applyFiltersAndGetJobs(s,c){await this.saveFilter(s);const o=U1(c);return this.getJobsFeedItems(o)}async toggleBookmark(s,c){const o=s.fromJobnet?"star":"arbejd.com";await this.jobService.bookmarkJobV2(s.id,c,o)}async getJobsFeedItems(s){let o=10,h=0;const g=12,M=120,H=new Set,R=[];let j=[];const B=(s??[]).map(T=>T.trim()).filter(T=>T.length>0);if(B.length>0)j=B;else try{j=(await this.jobService.getSearchWords()).filter(V=>typeof V=="string"&&V.trim().length>0)}catch{j=[]}for(let T=0;T{o(!1)},[u]),_.useEffect(()=>{if(!c)return;function g(H){H.key==="Escape"&&o(!1)}const M=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",g),()=>{document.body.style.overflow=M,window.removeEventListener("keydown",g)}},[c]);function h(g){s?.(g),o(!1)}return l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"dash-mobile-menu-btn","aria-label":c?"Luk menu":"Aabn menu","aria-expanded":c,onClick:()=>o(g=>!g),children:c?l.jsx(fo,{size:18,strokeWidth:1.9}):l.jsx(Sv,{size:18,strokeWidth:1.9})}),l.jsx("button",{type:"button",className:`dash-mobile-overlay ${c?"open":""}`,"aria-label":"Luk menu",onClick:()=>o(!1)}),l.jsxs("aside",{className:`dash-sidebar ${c?"open":""}`,children:[l.jsxs("div",{className:"dash-logo-row",children:[l.jsx("div",{className:"dash-logo-dot",children:"A"}),l.jsx("span",{className:"dash-logo-text",children:"ARBEJD"})]}),l.jsxs("nav",{className:"dash-nav",children:[O1.map(g=>{const M=g.icon,H=g.key===u;return l.jsxs("button",{type:"button",className:H?"dash-nav-item active":"dash-nav-item",onClick:()=>h(g.key),children:[l.jsx("span",{className:g.accent?"dash-nav-icon accent":"dash-nav-icon",children:l.jsx(M,{size:19,strokeWidth:1.7})}),l.jsx("span",{className:"dash-nav-label",children:g.label}),g.badge?l.jsx("span",{className:"dash-nav-badge",children:g.badge}):null]},g.key)}),l.jsx("div",{className:"dash-nav-divider"}),R1.map(g=>{const M=g.icon,H=g.key===u;return l.jsxs("button",{type:"button",className:H?"dash-nav-item active":"dash-nav-item",onClick:()=>h(g.key),children:[l.jsx("span",{className:g.accent?"dash-nav-icon accent":"dash-nav-icon",children:l.jsx(M,{size:19,strokeWidth:1.7})}),l.jsx("span",{className:"dash-nav-label",children:g.label}),g.dot?l.jsx("span",{className:"dash-nav-dot"}):null]},g.key)})]}),l.jsxs("div",{className:"dash-sidebar-pro",children:[l.jsx("div",{className:"dash-sidebar-pro-glow"}),l.jsx(Kn,{size:19,strokeWidth:1.8}),l.jsx("h4",{children:"Pro-medlemskab"}),l.jsx("p",{children:"Faa ubegrænsede simuleringer"})]})]})]})}function Qt({actions:u,imageUrl:s,name:c,onLogout:o,onToggleTheme:h,theme:g="light"}){return l.jsxs("header",{className:"dash-topbar",children:[l.jsx("a",{href:"/home",className:"dash-home-btn",children:"HomePage"}),h?l.jsxs("button",{type:"button",className:"dash-theme-btn",onClick:h,children:[g==="dark"?l.jsx(f1,{size:15,strokeWidth:1.8}):l.jsx(Dv,{size:15,strokeWidth:1.8}),l.jsx("span",{children:g==="dark"?"Light":"Dark"})]}):null,u?l.jsx("div",{className:"dash-topbar-actions",children:u}):null,l.jsxs("div",{className:"dash-profile-wrap",children:[l.jsxs("button",{className:"dash-profile-btn",type:"button",children:[s?l.jsx("img",{src:s,alt:c,className:"dash-profile-avatar"}):l.jsx("div",{className:"dash-profile-avatar dash-profile-avatar-fallback",children:c.slice(0,1).toUpperCase()}),l.jsx("span",{children:c}),l.jsx(Gn,{size:15,strokeWidth:1.8})]}),l.jsxs("div",{className:"dash-profile-menu",children:[l.jsxs("button",{type:"button",children:[l.jsx(Yp,{size:16,strokeWidth:1.8})," Profil"]}),l.jsxs("button",{type:"button",children:[l.jsx(um,{size:16,strokeWidth:1.8})," Indstillinger"]}),l.jsx("div",{className:"dash-profile-divider"}),l.jsxs("button",{type:"button",className:"danger",onClick:o,children:[l.jsx(bv,{size:16,strokeWidth:1.8})," Log ud"]})]})]})]})}const V1={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function H1(u){return u.trim().slice(0,1).toUpperCase()||"A"}function B1(u){return Math.max(68,98-u*4)}function q1(u,s){const c=s.trim().toLowerCase();return c?u.filter(o=>o.preferedLabelDa.toLowerCase().includes(c)).slice(0,8):[]}function G1({onLogout:u,onNavigate:s,onOpenJobDetail:c,onToggleTheme:o,theme:h}){const g=_.useMemo(()=>new gm,[]),M=_.useMemo(()=>new ks,[]),[H,R]=_.useState("Lasse"),[j,B]=_.useState(void 0),[T,V]=_.useState(V1),[J,P]=_.useState([]),[X,he]=_.useState(!0),[ie,ne]=_.useState(""),[Y,K]=_.useState(""),[ee,Z]=_.useState(""),[D,$]=_.useState(""),[de,te]=_.useState(""),[oe,ue]=_.useState(25);_.useEffect(()=>{let b=!0;async function q(){he(!0);const[F,m,S]=await Promise.all([g.getCandidateProfile(),g.loadInitialData(),M.getTabItems("jobs")]);b&&(R(F.name),B(F.imageUrl),V(m),P(S),he(!1))}return q(),()=>{b=!1}},[g,M]);async function Ae(){const b=await g.loadInitialData();V(b)}async function Ne(){const b=Y.trim()||ie.trim()||ee.trim(),q=g.getEscoSuggestions(b,T.escos,T.jobAgentFilters)[0]||q1(T.escos,b)[0];q&&(await g.addEscoToFilter(q.id),await Ae(),ne(""),K(""),Z(""),$(""),te(""),ue(25))}async function le(b){await g.setFilterVisibility(b,!b.visible),await Ae()}const v=T.jobAgentFilters,E=(J.length>0?J:[]).slice(0,6);return l.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"agents",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar ai-agent-main",children:[l.jsx(Qt,{name:H,imageUrl:j,onLogout:u,theme:h,onToggleTheme:o}),l.jsxs("div",{className:"ai-head",children:[l.jsx("h1",{children:"Jobagenter"}),l.jsx("p",{children:"Saet din jobsogning pa autopilot. Lad agenter overvage og matche dig med de perfekte jobs."})]}),l.jsxs("section",{className:"ai-create-card",children:[l.jsxs("div",{className:"ai-create-title",children:[l.jsx("div",{className:"ai-create-icon",children:l.jsx(tm,{size:20,strokeWidth:1.8})}),l.jsx("h2",{children:"Opret ny jobagent"})]}),l.jsxs("div",{className:"ai-form-grid",children:[l.jsxs("div",{className:"ai-field",children:[l.jsx("label",{children:"Agentens navn"}),l.jsx("input",{value:ie,onChange:b=>ne(b.target.value),placeholder:"F.eks. Frontend Udvikler CPH"})]}),l.jsxs("div",{className:"ai-field",children:[l.jsx("label",{children:"Sogetekst / Nogleord"}),l.jsx("input",{value:Y,onChange:b=>K(b.target.value),placeholder:"F.eks. React, TypeScript, Tailwind"})]}),l.jsxs("div",{className:"ai-field",children:[l.jsx("label",{children:"Arbejdsomrade"}),l.jsxs("select",{value:ee,onChange:b=>Z(b.target.value),children:[l.jsx("option",{value:"",children:"Vaelg branche"}),l.jsx("option",{value:"IT & Udvikling",children:"IT & Udvikling"}),l.jsx("option",{value:"Design & UX",children:"Design & UX"}),l.jsx("option",{value:"Salg & Marketing",children:"Salg & Marketing"}),l.jsx("option",{value:"HR & Ledelse",children:"HR & Ledelse"})]})]}),l.jsxs("div",{className:"ai-field",children:[l.jsx("label",{children:"Arbejdstype"}),l.jsxs("select",{value:D,onChange:b=>$(b.target.value),children:[l.jsx("option",{value:"",children:"Vaelg type"}),l.jsx("option",{value:"Fuldtid",children:"Fuldtid"}),l.jsx("option",{value:"Deltid",children:"Deltid"}),l.jsx("option",{value:"Freelance",children:"Freelance / Konsulent"}),l.jsx("option",{value:"Studiejob",children:"Studiejob"})]})]}),l.jsxs("div",{className:"ai-field",children:[l.jsx("label",{children:"Arbejdssted"}),l.jsxs("div",{className:"ai-location-wrap",children:[l.jsx(Xn,{size:16,strokeWidth:1.8}),l.jsx("input",{value:de,onChange:b=>te(b.target.value),placeholder:"By eller postnummer"})]})]}),l.jsxs("div",{className:"ai-field ai-distance-field",children:[l.jsxs("div",{className:"ai-distance-head",children:[l.jsx("label",{children:"Maks. distance"}),l.jsxs("span",{children:[oe," km"]})]}),l.jsx("input",{type:"range",min:0,max:100,value:oe,onChange:b=>ue(Number(b.target.value))})]})]}),l.jsx("div",{className:"ai-create-actions",children:l.jsxs("button",{type:"button",onClick:()=>{Ne()},children:[l.jsx(Pv,{size:16,strokeWidth:1.8})," Gem jobagent"]})})]}),l.jsxs("section",{className:"ai-agents-section",children:[l.jsx("h3",{children:"Dine aktive agenter"}),l.jsxs("div",{className:"ai-agents-row custom-scrollbar",children:[v.length===0?l.jsx("p",{className:"dash-loading",children:"Ingen aktive agenter endnu."}):null,v.map((b,q)=>l.jsxs("article",{className:"ai-agent-chip-card",children:[l.jsxs("div",{className:"ai-agent-card-head",children:[l.jsxs("div",{className:"ai-agent-chip-left",children:[l.jsx("div",{className:`ai-agent-mini-icon ${q%2===0?"teal":"indigo"}`,children:q%2===0?l.jsx(Tv,{size:16,strokeWidth:1.8}):l.jsx(dm,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:b.escoName}),l.jsx("p",{children:b.isCalculated?"Aktiv siden i går":"Aktiv"})]})]}),l.jsx("button",{type:"button",className:b.visible?"ai-toggle on":"ai-toggle",onClick:()=>{le(b)},children:l.jsx("span",{})})]}),l.jsxs("div",{className:"ai-tags",children:[l.jsx("span",{children:b.escoName}),l.jsx("span",{children:de||"København"}),l.jsxs("span",{children:[oe," km"]})]})]},b.id))]})]}),l.jsxs("section",{className:"ai-jobs-section",children:[l.jsxs("div",{className:"ai-jobs-head",children:[l.jsxs("h3",{children:[l.jsx(Kn,{size:16,strokeWidth:1.8})," Anbefalede jobs til dig"]}),l.jsx("span",{children:"Opdateret for 5 min siden"})]}),l.jsxs("div",{className:"ai-jobs-grid",children:[X?l.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,!X&&E.length===0?l.jsx("p",{className:"dash-loading",children:"Ingen jobanbefalinger fundet endnu."}):null,E.map((b,q)=>l.jsxs("article",{className:"ai-job-card",role:"button",tabIndex:0,onClick:()=>c(b.id,b.fromJobnet,"agents"),onKeyDown:F=>{(F.key==="Enter"||F.key===" ")&&(F.preventDefault(),c(b.id,b.fromJobnet,"agents"))},children:[l.jsx("div",{className:`ai-job-rail ${q%3===2?"indigo":"teal"}`}),l.jsxs("div",{className:"ai-job-top",children:[b.companyLogoImage||b.logoUrl?l.jsx("img",{src:b.companyLogoImage||b.logoUrl,alt:b.companyName,className:"ai-company-logo"}):l.jsx("div",{className:"ai-company-logo-fallback",children:H1(b.companyName)}),l.jsxs("div",{className:"ai-match-col",children:[l.jsxs("div",{className:"ai-match-pill",children:[l.jsx(Wn,{size:13,strokeWidth:1.8})," ",B1(q),"% Match"]}),l.jsxs("small",{children:["Via: ",v[0]?.escoName||"Jobagent"]})]})]}),l.jsxs("div",{className:"ai-job-title-wrap",children:[l.jsx("h4",{children:b.title}),l.jsxs("p",{children:[b.companyName," • ",b.address||"Lokation"]})]}),l.jsxs("div",{className:"ai-job-tags",children:[l.jsx("span",{children:b.occupationName||"Frontend"}),l.jsx("span",{children:b.fromJobnet?"Jobnet":"Arbejd.com"}),l.jsx("span",{children:b.candidateDistance!=null?`${Math.round(b.candidateDistance)} km`:"Remote"})]}),l.jsxs("div",{className:"ai-job-bottom",children:[l.jsx("span",{children:"Slået op for nyligt"}),l.jsxs("button",{type:"button",onClick:F=>{F.stopPropagation(),c(b.id,b.fromJobnet,"agents")},children:["Læs mere ",l.jsx(La,{size:14,strokeWidth:1.8})]})]})]},b.id))]})]})]})]})}const Y1={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function Rh(){return["Diamantskærer","Ministerialbetjent","Kiropraktor","System Developer","Senior Software Developer","Founder and Developer","Senior .Net Developer","Freelance Programmer","Støberichef","Softwareudvikler, frontend","CSR-ansvarlig","Lagerchef inden for råstof","Ios developer","Kokkeelev","IT-kvalitetsmedarbejder","Efterretningsofficer"]}function J1(u){return u>=70?{text:"Kan styrke dine chancer i ansøgningsbunken",kind:"strong"}:u>=40?{text:"Ofte efterspurgt – forbedrer dine jobmuligheder markant",kind:"neutral"}:{text:"Et godt første skridt mod flere relevante job",kind:"soft"}}function Q1(u){return u==="education"?im:u==="language"?js:u==="driversLicense"?am:u==="certificate"?em:u==="qualification"?Wn:po}function X1(u){return u==="education"?"blue":u==="language"?"emerald":u==="driversLicense"?"orange":u==="certificate"?"rose":u==="qualification"?"indigo":"slate"}function Z1({onLogout:u,onNavigate:s,onToggleTheme:c,theme:o}){const h=_.useMemo(()=>new gm,[]),[g,M]=_.useState("Lasse"),[H,R]=_.useState(void 0),[j,B]=_.useState(Y1),[T,V]=_.useState(!0),[J,P]=_.useState("");_.useEffect(()=>{let Y=!0;async function K(){V(!0);const[ee,Z]=await Promise.all([h.getCandidateProfile(),h.loadInitialData()]);if(!Y)return;M(ee.name),R(ee.imageUrl),B(Z);const D=Z.jobAgentFilters[0]?.escoName||Rh()[1];P($=>$||D),V(!1)}return K(),()=>{Y=!1}},[h]);const X=j.jobAgentFilters.length>0?j.jobAgentFilters.map(Y=>Y.escoName):Rh(),he=j.jobAgentFilters.find(Y=>Y.escoName===J)||j.jobAgentFilters[0],ie=(he?j.cvSuggestions.find(Y=>Y.escoId===he.escoId)?.improvements:j.cvSuggestions[0]?.improvements)||[],ne=ie.length>0?ie:[{name:"Grundkursus i sikkerhed og beredskab",jobChanceIncrease:78,improvementType:"education"},{name:"Service og kommunikation i offentlige institutioner",jobChanceIncrease:52,improvementType:"qualification"},{name:"Dansk (Flydende)",jobChanceIncrease:65,improvementType:"language"},{name:"B - Almindelig bil",jobChanceIncrease:34,improvementType:"driversLicense"},{name:"Konflikthåndtering",jobChanceIncrease:72,improvementType:"qualification"},{name:"Førstehjælpsbevis",jobChanceIncrease:44,improvementType:"certificate"},{name:"Sikkerhedsgodkendelse (PET)",jobChanceIncrease:81,improvementType:"certificate"}];return l.jsxs("section",{className:`dash-root ${o==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"ai-agent",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar career-main",children:[l.jsx(Qt,{name:g,imageUrl:H,onLogout:u,theme:o,onToggleTheme:c,actions:l.jsxs("div",{className:"career-status-pill",children:[l.jsx(We,{size:15,strokeWidth:1.8}),"CV analyseret"]})}),l.jsxs("div",{className:"career-head",children:[l.jsxs("div",{className:"career-head-title-row",children:[l.jsx("div",{className:"career-head-icon",children:l.jsx(j1,{size:19,strokeWidth:1.8})}),l.jsx("h1",{children:"Karriereagent"})]}),l.jsx("p",{className:"career-head-kicker",children:"Din Karriereagent Foreslår"}),l.jsx("p",{className:"career-head-desc",children:"Boost din profil ved hjælp af kunstig intelligens. Forslagene er udvalgt til din profil ud fra analyser af over 100.000+ jobopslag og dit nuværende CV."})]}),l.jsxs("div",{className:"career-grid",children:[l.jsxs("aside",{className:"career-agents-col",children:[l.jsxs("div",{className:"career-agents-head",children:[l.jsx("h2",{children:"Mine agenter"}),l.jsxs("button",{type:"button",children:[l.jsx(Hp,{size:16,strokeWidth:1.8})," Tilføj ny agent"]})]}),l.jsx("div",{className:"career-agents-list custom-scrollbar",children:X.map(Y=>l.jsxs("button",{type:"button",className:J===Y?"active":"",onClick:()=>P(Y),children:[l.jsx("span",{children:Y}),J===Y?l.jsx("i",{}):null]},Y))})]}),l.jsxs("section",{className:"career-reco-col",children:[l.jsxs("div",{className:"career-reco-head",children:[l.jsxs("h2",{children:["Viser anbefalinger for",l.jsx("span",{children:J||"Ministerialbetjent"})]}),l.jsxs("button",{type:"button",children:[l.jsx(lm,{size:14,strokeWidth:1.8})," Filtrer"]})]}),T?l.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,l.jsx("div",{className:"career-cards custom-scrollbar",children:ne.map((Y,K)=>{const ee=Q1(Y.improvementType||"qualification"),Z=J1(Y.jobChanceIncrease||0),D=X1(Y.improvementType||"qualification");return l.jsxs("article",{className:"career-card",children:[l.jsx("div",{className:"career-card-glow"}),l.jsx("div",{className:"career-card-wand",children:l.jsx(Kn,{size:16,strokeWidth:1.8})}),l.jsxs("div",{className:"career-card-content",children:[l.jsx("div",{className:`career-card-icon ${D}`,children:l.jsx(ee,{size:18,strokeWidth:1.8})}),l.jsx("h3",{children:Y.shortName||Y.name}),l.jsxs("p",{className:`tone ${Z.kind}`,children:[Z.kind==="strong"?l.jsx(fm,{size:13,strokeWidth:1.8}):Z.kind==="neutral"?l.jsx(Wn,{size:13,strokeWidth:1.8}):l.jsx(i1,{size:13,strokeWidth:1.8}),Z.text]})]})]},`${Y.name}-${K}`)})})]})]})]})]})}class K1{constructor(s=He){this.http=s}generateApplication(s,c,o,h){let g=z.backendApiV2+"1.0.0/client/ai_handler/create_my_application",M={isStar:s,jobId:c,language:o,userInput:h};return this.http.post(g,M)}listGeneratedJobApplications(s){let c=z.backendApiV2+"1.0.0/client/ai_handler/list_created_job_application/"+s;return this.http.get(c)}listPredefinedUserInput(){let s=z.backendApiV2+"1.0.0/client/ai_handler/list_predefined_user_input";return this.http.get(s)}getJobApplication(s){let c=z.backendApiV2+"1.0.0/client/ai_handler/"+s;return this.http.get(c)}updateMyCvDescriptions(s){let c=z.backendApiV2+"1.0.0/client/ai_handler/update_my_cv_descriptions",o={language:s};return this.http.post(c,o)}updateStatesOnMyCvDescription(s,c,o){let h=z.backendApiV2+"1.0.0/client/ai_handler/update_states_on_my_cv_descriptions/"+s,g={state:c,subState:o};return this.http.put(h,g)}getMyCvDescriptions(){let s=z.backendApiV2+"1.0.0/client/ai_handler/get_my_cv_descriptions";return this.http.get(s)}submitJobApplicationRating(s,c,o){let h=z.backendApiV2+"1.0.0/client/ai_handler/job_application_rating",g={ai_generated_job_application_id:s,rating:c,rating_text:o};return this.http.post(h,g)}startApplicationExamination(s){const c=z.backendApiV2+"1.0.0/client/ai_handler/create_application_examination",o={ai_generated_job_application_id:s};return this.http.post(c,o)}getApplicationExamination(s){const c=z.backendApiV2+"1.0.0/client/ai_handler/application_examination/"+encodeURIComponent(s);return this.http.get(c)}getApplicationExaminationByJobApplicationId(s){const c=z.backendApiV2+"1.0.0/client/ai_handler/application_examination_by_job_application/"+s;return this.http.get(c)}}class W1{constructor(s=He){this.http=s}searchForCertification(s){let c=encodeURIComponent(s),o=z.backendApiV2+`1.0.0/client/certificate?search_text=${c}`;return this.http.get(o)}saveCertification(s){let c=z.backendApiV2+"1.0.0/client/candidate_certificate",o={qualification_id:s};return this.http.post(c,o)}updateCertification(s){let c=z.backendApiV2+"1.0.0/client/candidate_certificate/"+s.id,o=s;return this.http.put(c,o)}removeCertification(s){let c=z.backendApiV2+"1.0.0/client/candidate_certificate/"+s;return this.http.delete(c)}addUnknownCertificate(s){let c=z.backendApiV2+"1.0.0/client/certificate",o={certificate_name:s};return this.http.post(c,o)}}class F1{constructor(s=He){this.http=s}sendMyCvToEmail(){let s=z.backendApi+"api/1.1.0/candidate/sendPdf",c={};return this.http.post(s,c)}getMyCv(){let s=z.backendApiV2+"1.0.0/client/candidate/pdf";return this.http.get(s,{responseType:"blob"})}getMyCvV2(s){let c=z.backendApiV2+"1.0.0/client/candidate/pdf_url?language="+s;return this.http.get(c)}generateCv(s){let c=z.backendApiV2+"1.0.0/client/candidate/generateCv",o={language:s};return this.http.post(c,o)}}class $1{constructor(s=He,c=Jl){this.http=s,this.localStorageService=c}uploadCv(s,c){const o=z.backendApiV2+"1.0.0/client/cv_upload";return this.http.post(o,s,{headers:{Authorization:`Bearer ${c}`}})}getCvUploadData(){let s=z.backendApiV2+"1.0.0/client/cv_upload/get_upload_cv";return this.http.get(s)}setProfileTextToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/profile_text_is_done/"+s,o={};return this.http.put(c,o)}setExperienceToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/experience_is_done/"+s,o={};return this.http.put(c,o)}setEducationToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/education_is_done/"+s,o={};return this.http.put(c,o)}setQualificationToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/qualification_is_done/"+s,o={};return this.http.put(c,o)}setCertificateToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/certificate_is_done/"+s,o={};return this.http.put(c,o)}setLanguageToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/language_is_done/"+s,o={};return this.http.put(c,o)}setDriversLicenseToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/drivers_license_is_done/"+s,o={};return this.http.put(c,o)}setCvUploadToDone(s){let c=z.backendApiV2+"1.0.0/client/cv_upload/cv_is_done/"+s,o={};return this.http.put(c,o)}}class I1{constructor(s=He){this.http=s}getAllDriverLicenses(){let s=z.backendApi+"api/1.1.0/driversLicenses";return this.http.get(s)}updateDriverLicense(s,c){let o=z.backendApi+"api/1.1.0/candidate/driversLicense/"+s,h={};return this.http.put(o,h)}removeLanguage(s){let c=z.backendApiV2+"1.0.0/client/candidate_drivers_license/"+s;return this.http.delete(c)}saveDriverLicense(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_drivers_license",h={level:c,drivers_license_id:s.id};return this.http.post(o,h)}saveDriverLicenseV2(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_drivers_license",h={level:s,drivers_license_id:c};return this.http.post(o,h)}}class P1{constructor(s=He){this.http=s}searchForEducations(s){let c=z.backendApi+"api/1.1.0/educations/search/"+s;return this.http.get(c)}searchForSchools(s){let c=z.backendApi+"api/1.1.0/institutions/search/"+s;return this.http.get(c)}saveEducation(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_education",h={comments:s.comments,education_disced_15:s.education.disced15,from_date:s.fromDate,to_date:s.toDate,institution_number:s.institution?.instNumber,is_current:s.isCurrent,language:c};return this.http.post(o,h)}removeEducation(s){let c=z.backendApiV2+"1.0.0/client/candidate_education/"+s;return this.http.delete(c)}updateEducation(s,c,o){let h=z.backendApiV2+"1.0.0/client/candidate_education/"+s,g={comments:c.comments,from_date:c.fromDate,to_date:c.toDate,is_current:c.isCurrent,language:o};return this.http.put(h,g)}getEducationOccupationSuggestions(s){let c=z.backendApi+"api/1.1.0/educations/suggestions/occupation/"+s;return this.http.get(c)}saveUnknownEducation(s){let c=z.backendApiV2+"1.0.0/client/education/save_unknown_education",o={education_name:s};return this.http.post(c,o)}saveEducationV2(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_education",h={comments:s.comments,education_disced_15:s.education_disced_15,from_date:s.from_date,to_date:s.to_date,institution_number:s.institution_number,is_current:s.is_current,language:c};return this.http.post(o,h)}}class ex{constructor(s=He){this.http=s}getAllLanguages(){let s=z.backendApi+"api/1.1.0/languages";return this.http.get(s)}saveLanguage(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_language",h={language_id:c.id,level:s};return this.http.post(o,h)}updateLanguage(s,c,o){let h=z.backendApiV2+"1.0.0/client/candidate_language/"+s,g={level:c};return this.http.put(h,g)}removeLanguage(s){let c=z.backendApiV2+"1.0.0/client/candidate_language/"+s;return this.http.delete(c)}saveLanguageV2(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_language",h={language_id:c,level:s};return this.http.post(o,h)}}class tx{constructor(s=He){this.http=s}searchForQualification(s){let c=z.backendApi+"api/1.1.0/qualifications/type/3/search/"+s;return this.http.get(c)}updateQualification(s,c){let o=z.backendApiV2+"1.0.0/client/candidate_qualification/"+s,h={level:c};return this.http.put(o,h)}saveQualification(s){let c=z.backendApiV2+"1.0.0/client/candidate_qualification",o={level:s.level,qualification_id:s.qualification.id};return this.http.post(c,o)}removeQualification(s){let c=z.backendApiV2+"1.0.0/client/candidate_qualification/"+s;return this.http.delete(c)}getQualificationsOccupationSuggestions(s,c){let o=z.backendApi+"api/1.1.0/qualifications/type/"+c+"/suggestions/occupation/"+s;return this.http.get(o)}addUnknownQualification(s){let c=z.backendApi+"api/1.1.0/qualifications/type/3/fromCandidate",o={name:s,type:3};return this.http.post(c,o)}saveQualificationV2(s){let c=z.backendApiV2+"1.0.0/client/candidate_qualification",o={level:s.level,qualification_id:s.qualification_id};return this.http.post(c,o)}}class ax{constructor(s=He){this.http=s}addUnknownOccupation(s){let c=z.backendApi+"api/1.1.0/occupations/fromCandidate",o={name:s};return this.http.post(c,o)}}class lx{constructor(s=He){this.http=s}saveUnknownInstitution(s){let c=z.backendApiV2+"1.0.0/client/institution/save_unknown_institution",o={institution_name:s};return this.http.post(c,o)}}class nx{constructor(s=new al,c=new F1,o=new $1,h=new Ss,g=new K1,M=new P1,H=new tx,R=new W1,j=new ex,B=new I1,T=new mm,V=new ax,J=new lx,P=Jl){this.candidateService=s,this.cvService=c,this.cvUploadService=o,this.subscriptionService=h,this.aiHandlerService=g,this.educationService=M,this.qualificationService=H,this.certificationService=R,this.languageService=j,this.driverLicenseService=B,this.escoService=T,this.occupationService=V,this.institutionService=J,this.localStorageService=P}escosCache=null;async getSnapshot(){const[s,c,o,h,g,M,H,R,j,B]=await Promise.allSettled([this.candidateService.getCandidate(),this.candidateService.getCandidatesExperiences(),this.candidateService.getCandidatesEducations(),this.candidateService.getCandidatesQualifications(),this.candidateService.getCandidatesCertifications(),this.candidateService.getCandidatesLanguages(),this.candidateService.getCandidatesDriverLicenses(),this.subscriptionService.getPaymentOverview(),this.cvUploadService.getCvUploadData(),this.aiHandlerService.getMyCvDescriptions()]);return{candidate:s.status==="fulfilled"?s.value:null,experiences:c.status==="fulfilled"?c.value:[],educations:o.status==="fulfilled"?o.value:[],skills:h.status==="fulfilled"?h.value:[],certifications:g.status==="fulfilled"?g.value:[],languages:M.status==="fulfilled"?M.value:[],driverLicenses:H.status==="fulfilled"?H.value:[],paymentOverview:R.status==="fulfilled"?R.value:null,cvUploadData:j.status==="fulfilled"?j.value:null,aiGeneratedCVDescription:B.status==="fulfilled"&&B.value?.id?B.value:null}}async setActiveSeeker(s,c,o){const h={...s,isActive:c};return this.candidateService.updateCandidate(h,o)}async updateCandidate(s,c){return this.candidateService.updateCandidate(s,c)}async generateCv(s){await this.cvService.generateCv(s)}async getCvDownloadUrl(s){return(await this.cvService.getMyCvV2(s)).url}async uploadCv(s,c){const o=await this.localStorageService.getAuthToken();if(!o)throw new Error("No auth token found.");await this.cvUploadService.uploadCv({base_64_cv_file:s,cv_file_type:c},o)}async optimizeCv(s){await this.aiHandlerService.updateMyCvDescriptions(s)}async updateExperience(s,c){await this.candidateService.updateExperience(s,c)}async updateEducation(s,c){const o={comments:s.comments,education:s.education,institution:s.institution,fromDate:new Date(s.fromDate),toDate:new Date(s.toDate),isCurrent:s.isCurrent};await this.educationService.updateEducation(s.id,o,c)}async updateCertification(s){await this.certificationService.updateCertification(s)}async updateLanguage(s){const c={id:s.language.id,isO639:s.language.isO639,name:s.language.name,ownName:s.language.ownName,priority:s.language.priority};await this.languageService.updateLanguage(s.id,s.level,c)}async removeExperience(s){await this.candidateService.removeExperience(s)}async removeEducation(s){await this.educationService.removeEducation(s)}async removeQualification(s){await this.qualificationService.removeQualification(s)}async removeCertification(s){await this.certificationService.removeCertification(s)}async removeLanguage(s){await this.languageService.removeLanguage(s)}async removeDriverLicense(s){await this.driverLicenseService.removeLanguage(s)}async getEscoSuggestions(s,c=25){this.escosCache||(this.escosCache=await this.escoService.listAllEscos());const o=s.trim().toLowerCase();return o?this.escosCache.filter(h=>h.preferedLabelDa.toLowerCase().includes(o)).slice(0,c):this.escosCache.slice(0,c)}async getLanguageOptions(){return(await this.languageService.getAllLanguages()).allLanguages??[]}async getDriverLicenseOptions(){return this.driverLicenseService.getAllDriverLicenses()}async createExperience(s,c){let o=s.escoId??null;if(!o&&s.occupationName?.trim()&&(o=(await this.occupationService.addUnknownOccupation(s.occupationName.trim())).id),!o)throw new Error("Vælg eller opret en stilling først.");await this.candidateService.saveExperienceV2({companyName:s.companyName,comments:s.comments,fromDate:s.fromDate,toDate:s.toDate,isCurrent:s.isCurrent,escoId:o},c)}async createEducation(s,c){let o=s.educationDisced15??null;if(!o&&s.educationName?.trim()&&(o=(await this.educationService.saveUnknownEducation(s.educationName)).disced15),!o)throw new Error("Vælg eller opret en uddannelse først.");let h=s.institutionNumber;!h&&s.institutionName?.trim()&&(h=(await this.institutionService.saveUnknownInstitution(s.institutionName.trim())).inst_number),await this.educationService.saveEducationV2({comments:s.comments,institution_number:h,from_date:s.fromDate,to_date:s.toDate,education_disced_15:o,is_current:s.isCurrent},c)}async createCertification(s){let c=s.certificateId??null;if(!c&&s.certificateName?.trim()&&(c=(await this.certificationService.addUnknownCertificate(s.certificateName.trim())).certificate_id),!c)throw new Error("Vælg eller opret et certifikat først.");await this.certificationService.saveCertification(c)}async createLanguage(s,c){await this.languageService.saveLanguageV2(c,s)}async getQualificationSuggestions(s){const c=s.trim();return c?this.qualificationService.searchForQualification(c):[]}async createQualification(s){let c=s.qualificationId?.trim()||"";if(!c&&s.qualificationName?.trim()&&(c=(await this.qualificationService.addUnknownQualification(s.qualificationName.trim())).id),!c)throw new Error("Vælg eller opret en kvalifikation først.");await this.qualificationService.saveQualificationV2({qualification_id:c,level:s.level})}async getEducationSuggestions(s){const c=s.trim();return c?this.educationService.searchForEducations(c):[]}async getSchoolSuggestions(s){const c=s.trim();return c?this.educationService.searchForSchools(c):[]}async getCertificationSuggestions(s){const c=s.trim();return c?this.certificationService.searchForCertification(c):[]}async createDriverLicense(s,c){await this.driverLicenseService.saveDriverLicenseV2(c,s)}}const ix={candidate:null,experiences:[],educations:[],skills:[],certifications:[],languages:[],driverLicenses:[],paymentOverview:null,cvUploadData:null,aiGeneratedCVDescription:null},sx=[{id:"e1",title:"Senior Frontend-udvikler",company:"Lunar",from:"2020-08-01",to:null,description:"Udvikling og vedligeholdelse af core-features i bankens app samt performance-optimering."},{id:"e2",title:"Web-udvikler",company:"Trustpilot",from:"2017-01-01",to:"2020-07-01",description:"Udviklede dashboards og analysevaerktojer i taet samarbejde med UX-teamet."}],rx=[{id:"ed1",title:"Cand.it i Webudvikling",school:"IT-Universitetet i Kobenhavn",from:"2013-08-01",to:"2015-06-01",description:"Specialisering i webteknologier, databaser og brugercentreret design."},{id:"ed2",title:"Datamatiker",school:"KEA - Kobenhavns Erhvervsakademi",from:"2010-08-01",to:"2013-06-01",description:"Softwarekonstruktion, systemarkitektur og programmering i Java og C#."}];function bs(u){if(!u)return null;const s=u instanceof Date?u:new Date(u);return Number.isNaN(s.getTime())?null:s}function Vh(u){const s=bs(u);return s?new Intl.DateTimeFormat("da-DK",{month:"short",year:"numeric"}).format(s):"Ukendt"}function Hh(u,s,c){const o=Vh(u),h=c?"Nu":Vh(s);return`${o} - ${h}`}function cx(u){const s=bs(u);return s?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"long",year:"numeric"}).format(s):"Ikke angivet"}function Bh(u){return[...u].sort((s,c)=>{const o=bs(s.fromDate)?.getTime()??0;return(bs(c.fromDate)?.getTime()??0)-o})}function ox(u){return u.qualification?.name||"Kvalifikation"}function ux(u){return u.qualification?.name||u.levelName||"Certificering"}function dx(u){return u.driversLicense?.name||u.levelName||"Korekort"}function fx(u){return u.levelName||"Niveau ukendt"}function hx({onLogout:u,onNavigate:s,onToggleTheme:c,theme:o}){const h=_.useMemo(()=>new nx,[]),[g,M]=_.useState("standard"),[H,R]=_.useState(ix),[j,B]=_.useState(!0);_.useEffect(()=>{let D=!0;return h.getSnapshot().then($=>{D&&R($)}).finally(()=>{D&&B(!1)}),()=>{D=!1}},[h]);const T=H.candidate,V=T?.firstName?.trim()||T?.name?.trim()||"Lasse",J=T?.firstName||"Lasse",P=T?.lastName||"Hansen",X=T?.imageUrl||T?.image||"",he=H.experiences.length>0?Bh(H.experiences):[],ie=H.educations.length>0?Bh(H.educations):[],ne=H.skills,Y=H.languages,K=H.certifications,ee=H.driverLicenses,Z=Y.length>0?Y.map(D=>({id:D.id,name:D.language?.name||"Sprog",level:fx(D)})):[{id:"da",name:"Dansk",level:"Modersmal"},{id:"en",name:"Engelsk",level:"Flydende"}];return l.jsxs("section",{className:`dash-root ${o==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"cv",onNavigate:s}),l.jsxs("main",{className:`dash-main custom-scrollbar cv-page ${g==="reference"?"cv-design-reference":""}`,children:[l.jsx(Qt,{name:V,imageUrl:X||void 0,onLogout:u,theme:o,onToggleTheme:c,actions:l.jsxs("button",{type:"button",className:"cv-design-toggle",onClick:()=>M(D=>D==="standard"?"reference":"standard"),children:[g==="reference"?l.jsx(sm,{size:16,strokeWidth:1.8}):l.jsx(rm,{size:16,strokeWidth:1.8}),l.jsx("span",{children:g==="reference"?"Skift til standard design":"Skift til reference design"})]})}),l.jsxs("div",{className:"cv-head",children:[l.jsxs("div",{children:[l.jsx("h1",{children:"Dit CV"}),l.jsx("p",{children:"Handter dine faglige oplysninger, erfaringer og uddannelser."})]}),l.jsxs("button",{type:"button",className:"cv-edit-btn",children:[l.jsx(Ov,{size:16,strokeWidth:1.8})," Rediger CV"]})]}),j?l.jsx("p",{className:"dash-loading",children:"Indlaeser CV..."}):null,l.jsxs("div",{className:"cv-layout",children:[l.jsxs("div",{className:"cv-left",children:[l.jsxs("article",{className:"cv-card",children:[l.jsx("div",{className:"cv-avatar-wrap",children:X?l.jsx("img",{src:X,alt:V,className:"cv-avatar"}):l.jsx("div",{className:"cv-avatar cv-avatar-fallback",children:V.slice(0,1).toUpperCase()})}),l.jsxs("div",{className:"cv-section-head",children:[l.jsx(ql,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Personlige oplysninger"})]}),l.jsxs("div",{className:"cv-personal-list",children:[l.jsxs("div",{children:[l.jsx("span",{children:"Fornavn"}),l.jsx("strong",{children:J})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Efternavn"}),l.jsx("strong",{children:P})]}),l.jsxs("div",{children:[l.jsx("span",{children:"E-mail"}),l.jsx("strong",{children:T?.email||"lasse@eksempel.dk"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Telefon"}),l.jsx("strong",{children:T?.phoneNumber||"+45 12 34 56 78"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Fodselsdato"}),l.jsx("strong",{children:cx(T?.birthday)})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Kon"}),l.jsx("strong",{children:T?.gender||"Mand"})]})]})]}),l.jsxs("article",{className:"cv-card",children:[l.jsxs("div",{className:"cv-section-head",children:[l.jsx(po,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Kvalifikationer"})]}),l.jsx("div",{className:"cv-chip-wrap",children:(ne.length>0?ne.map(ox):["HTML & CSS","Tailwind CSS","JavaScript","React","UI/UX Design"]).slice(0,12).map(D=>l.jsx("span",{className:"cv-chip",children:D},D))})]}),l.jsxs("article",{className:"cv-card",children:[l.jsxs("div",{className:"cv-section-head",children:[l.jsx(js,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Sprog"})]}),l.jsx("div",{className:"cv-language-list",children:Z.map(D=>l.jsxs("div",{children:[l.jsx("strong",{children:D.name}),l.jsx("span",{children:D.level})]},D.id))})]}),l.jsxs("div",{className:"cv-mini-grid",children:[l.jsxs("article",{className:"cv-card",children:[l.jsxs("div",{className:"cv-section-head",children:[l.jsx(em,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Certificeringer"})]}),l.jsxs("ul",{className:"cv-list",children:[(K.length>0?K:[]).slice(0,4).map(D=>l.jsxs("li",{children:[l.jsx(We,{size:15,strokeWidth:1.8})," ",ux(D)]},D.id)),K.length===0?l.jsxs(l.Fragment,{children:[l.jsxs("li",{children:[l.jsx(We,{size:15,strokeWidth:1.8})," AWS Certified Developer"]}),l.jsxs("li",{children:[l.jsx(We,{size:15,strokeWidth:1.8})," Certificeret Scrum Master"]})]}):null]})]}),l.jsxs("article",{className:"cv-card",children:[l.jsxs("div",{className:"cv-section-head",children:[l.jsx(am,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Korekort"})]}),l.jsx("div",{className:"cv-chip-wrap",children:(ee.length>0?ee.map(dx):["B (Almindelig bil)","A (Motorcykel)"]).map(D=>l.jsx("span",{className:"cv-chip",children:D},D))})]})]})]}),l.jsxs("div",{className:"cv-right",children:[l.jsxs("section",{children:[l.jsxs("div",{className:"cv-timeline-head",children:[l.jsx("div",{className:"cv-timeline-icon",children:l.jsx(go,{size:19,strokeWidth:1.8})}),l.jsx("h2",{children:"Erhvervserfaring"})]}),l.jsx("div",{className:"cv-timeline",children:(he.length>0?he:sx).map((D,$)=>{const de="occupation"in D?D.occupation?.name||"Stilling":D.title,te="companyName"in D?D.companyName:D.company,oe="comments"in D?D.comments:D.description,ue="fromDate"in D?D.fromDate:D.from,Ae="toDate"in D?D.toDate:D.to,Ne="isCurrent"in D?!!D.isCurrent:!1;return l.jsxs("article",{className:"cv-timeline-item",children:[l.jsx("div",{className:"cv-timeline-dot",children:l.jsx(ro,{size:15,strokeWidth:1.8})}),l.jsxs("div",{className:"cv-timeline-card",children:[l.jsx("h3",{children:de}),l.jsxs("div",{className:"cv-meta",children:[l.jsx("strong",{children:te}),l.jsx("span",{children:Hh(ue,Ae,Ne)})]}),l.jsx("p",{children:oe||"Ingen beskrivelse."})]})]},"id"in D?String(D.id):`exp-${$}`)})})]}),l.jsx("div",{className:"cv-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"cv-timeline-head",children:[l.jsx("div",{className:"cv-timeline-icon",children:l.jsx(im,{size:19,strokeWidth:1.8})}),l.jsx("h2",{children:"Uddannelse"})]}),l.jsx("div",{className:"cv-timeline",children:(ie.length>0?ie:rx).map((D,$)=>{const de="education"in D?D.education?.name||"Uddannelse":D.title,te="institution"in D?D.institution?.name||"Institution":D.school,oe="comments"in D?D.comments:D.description,ue="fromDate"in D?D.fromDate:D.from,Ae="toDate"in D?D.toDate:D.to,Ne="isCurrent"in D?!!D.isCurrent:!1;return l.jsxs("article",{className:"cv-timeline-item",children:[l.jsx("div",{className:"cv-timeline-dot",children:l.jsx(ro,{size:15,strokeWidth:1.8})}),l.jsxs("div",{className:"cv-timeline-card",children:[l.jsx("h3",{children:de}),l.jsxs("div",{className:"cv-meta",children:[l.jsx("strong",{children:te}),l.jsx("span",{children:Hh(ue,Ae,Ne)})]}),l.jsx("p",{children:oe||"Ingen beskrivelse."})]})]},"id"in D?String(D.id):`edu-${$}`)})})]})]})]})]})]})}class mx{constructor(s=He){this.http=s}getNotificationSetting(){const s=z.backendApiV2+"2.0.0/client/notification/settings";return this.http.get(s)}createNotificationSetting(s){const c=z.backendApiV2+"2.0.0/client/notification/settings";return this.http.post(c,s)}updateNotificationSetting(s,c){const o=z.backendApiV2+"2.0.0/client/notification/settings/"+s;return this.http.put(o,c)}deleteNotificationSetting(s){const c=z.backendApiV2+"2.0.0/client/notification/settings/"+s;return this.http.delete(c)}getNewNotificationCount(){let s=z.backendApiV2+"1.0.0/client/notification/unseen_notifications";return this.http.get(s)}getNotifications(s,c){let o=z.backendApiV2+"1.0.0/client/notification/"+s+"/"+c;return this.http.get(o)}notificationSeenByUser(s){let c=z.backendApiV2+"1.0.0/client/notification/seen_by_user/"+s,o={};return this.http.put(c,o)}}class xo{constructor(s=He,c=Jl){this.http=s,this.localStorage=c}listSimulationPersonalities(){let s=z.backendApiV2+"client/simulation/1.0.0/list_simulation_personalities",c=new tl().set("language","da");return this.http.get(s,{params:c})}getInterviewEvaluation(s){const c=z.backendApiV2+`client/simulation/1.0.0/interview_evaluation/${s}`;return this.http.get(c)}listInterviews(s=20,c=0){const o=z.backendApiV2+"client/job_simulator/1.0.0/list_interviews",h=new tl().set("limit",s.toString()).set("offset",c.toString());return this.http.get(o,{params:h})}submitEvaluationRating(s,c,o){const h=z.backendApiV2+"client/simulation/1.0.0/evaluation_rating",g={interview_id:s,rating:c,rating_text:o};return this.http.post(h,g)}submitInterviewRating(s,c,o){const h=z.backendApiV2+"client/simulation/1.0.0/interview_rating",g={interview_id:s,rating:c,rating_text:o};return this.http.post(h,g)}}class gx{constructor(s=He){this.http=s}chatMessageThreads=[];getChatMessages(){let s=z.backendApi+"api/1.1.0/chatMessages/forCandidate/";return this.http.get(s)}sendMessage(s){let c=z.backendApi+"api/1.1.0/chatMessages/"+s.threadId+"/fromCandidate";return this.http.post(c,s)}markThreadRead(s){let c=z.backendApi+"api/1.1.0/chatMessages/markRead/"+s;return this.http.get(c)}}class px{constructor(s=He){this.http=s}getUnreadMessages(){let s=z.backendApi+"api/1.1.0/chatMessages/getUnreadCount";return this.http.get(s)}}function vs(u){if(!u)return 0;const c=(u instanceof Date?u:new Date(u)).getTime();return Number.isNaN(c)?0:c}function Pc(u,s){const c=u?.timeSent?new Date(u.timeSent):new Date,o=u?.seen?new Date(u.seen):void 0;return{id:u?.id,threadId:u?.threadId??s,timeSent:c,fromCandidate:!!u?.fromCandidate,text:u?.text??"",seen:o}}class pm{constructor(s=new gx,c=new px,o=new al){this.chatMessagesService=s,this.messageService=c,this.candidateService=o}async getCandidateProfile(){try{const s=await this.candidateService.getCandidate(),c=s.firstName?.trim()||s.name?.trim()||"Lasse",o=s.imageUrl||s.image||void 0;return{name:c,imageUrl:o}}catch{return{name:"Lasse"}}}async getThreads(){return(await this.chatMessagesService.getChatMessages()??[]).map(c=>{const o=(c.allMessages??[]).map(g=>Pc(g,c.id));o.sort((g,M)=>vs(g.timeSent)-vs(M.timeSent));const h=c.latestMessage?Pc(c.latestMessage,c.id):o[o.length-1]??Pc(void 0,c.id);return{...c,allMessages:o,latestMessage:h}}).sort((c,o)=>vs(o.latestMessage?.timeSent)-vs(c.latestMessage?.timeSent))}async getUnreadCount(){const s=await this.messageService.getUnreadMessages();return Number(s?.unreadCount??0)}async sendMessage(s,c){const o={threadId:s,text:c.trim(),fromCandidate:!0,timeSent:new Date};return this.chatMessagesService.sendMessage(o)}async markThreadReadByMessageId(s){s&&await this.chatMessagesService.markThreadRead(s)}}function Zn(u){return typeof u=="object"&&u!==null?u:null}function Ot(u){return typeof u=="string"?u:""}function vx(u){return typeof u=="number"?u:null}function xx(u){const s=Zn(u);if(!s)return null;const o=Zn(s.jobPosting)??s,h=Ot(o.id);return h?{id:h,title:Ot(o.title),companyName:Ot(o.companyName),address:Ot(o.address),applicationDeadline:Ot(o.applicationDeadline),candidateDistance:vx(o.candidateDistance),fromJobnet:!!o.fromJobnet,logoUrl:Ot(o.logoUrl),companyLogoImage:Ot(o.companyLogoImage)}:null}function bx(u){const s=Zn(u);return(Array.isArray(s?.interviews)?s.interviews:[]).map(o=>{const h=Zn(o);if(!h)return null;const g=Ot(h.id);return g?{id:g,jobName:Ot(h.job_name)||"Interview",companyName:Ot(h.company_name)||null,interviewDate:Ot(h.interview_date)||null,recommendation:Ot(h.recommendation)||null,isCompleted:!!h.is_completed}:null}).filter(o=>!!o).sort((o,h)=>{const g=o.interviewDate?new Date(o.interviewDate).getTime():0;return(h.interviewDate?new Date(h.interviewDate).getTime():0)-g}).slice(0,5)}function yx(u){const s=Zn(u);return s?Array.isArray(s.searchList)?s.searchList:[]:[]}class jx{constructor(s=new al,c=new mx,o=new vo,h=new Ss,g=new xo,M=new pm){this.candidateService=s,this.notificationService=c,this.jobService=o,this.subscriptionService=h,this.simulationService=g,this.messagesViewModel=M}async loadInitialData(){const[s,c,o,h,g,M]=await Promise.allSettled([this.candidateService.getCandidate(),this.notificationService.getNotifications(0,5),this.messagesViewModel.getThreads(),this.loadBestJobs(),this.subscriptionService.getPaymentOverview(),this.simulationService.listInterviews(5,0)]);return{candidate:s.status==="fulfilled"?s.value:null,notifications:c.status==="fulfilled"?c.value.slice(0,5):[],messages:o.status==="fulfilled"?o.value.slice(0,5):[],bestJobs:h.status==="fulfilled"?h.value:[],subscription:g.status==="fulfilled"?g.value:null,evaluations:M.status==="fulfilled"?bx(M.value):[]}}async loadBestJobs(){const s=await this.jobService.getJobsV2(10,0,5,[]);return yx(s).map(o=>xx(o)).filter(o=>!!o).slice(0,5)}}const Nx={bestJobs:[],candidate:null,evaluations:[],messages:[],notifications:[],subscription:null};function qh(u){return u.trim().slice(0,1).toUpperCase()||"A"}function Sx({onLogout:u,onNavigate:s,onOpenJobDetail:c,onToggleTheme:o,theme:h}){const g=_.useMemo(()=>new jx,[]),[M,H]=_.useState(Nx),[R,j]=_.useState(!0);_.useEffect(()=>{let V=!0;return g.loadInitialData().then(J=>{V&&H(J)}).finally(()=>{V&&j(!1)}),()=>{V=!1}},[g]);const B=M.candidate?.firstName?.trim()||M.candidate?.name?.trim()||"Lasse",T=M.candidate?.imageUrl||M.candidate?.image||"";return l.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"dashboard",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar",children:[l.jsx(Qt,{name:B,imageUrl:T||void 0,onLogout:u,theme:h,onToggleTheme:o}),l.jsxs("div",{className:"dash-welcome",children:[l.jsxs("h1",{children:["Velkommen tilbage ",B," ",l.jsx("span",{children:"👋"})]}),l.jsx("p",{children:"Her er, hvad der sker med din jobsøgning i dag."})]}),R?l.jsx("p",{className:"dash-loading",children:"Indlaeser dashboard..."}):null,l.jsxs("div",{className:"dash-grid",children:[l.jsxs("div",{className:"dash-grid-main",children:[l.jsxs("article",{className:"dash-card",children:[l.jsx("div",{className:"dash-card-head",children:l.jsx("h2",{children:"Anbefalet til dig"})}),l.jsx("div",{className:"dash-job-list",children:(M.bestJobs.length>0?M.bestJobs:[{id:"d1",title:"Senior Frontend-udvikler",companyName:"Lunar",address:"Kobenhavn, DK",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""},{id:"d2",title:"React-udvikler",companyName:"Pleo",address:"Remote",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""}]).slice(0,5).map(V=>l.jsxs("div",{className:"dash-job-item",role:"button",tabIndex:0,onClick:()=>c(V.id,!!V.fromJobnet,"dashboard"),onKeyDown:J=>{(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),c(V.id,!!V.fromJobnet,"dashboard"))},children:[l.jsxs("div",{className:"dash-job-left",children:[l.jsx("div",{className:"dash-company-chip",children:qh(V.companyName)}),l.jsxs("div",{children:[l.jsx("h4",{children:V.title}),l.jsxs("p",{children:[V.companyName," • ",V.address||"Lokation ikke angivet"]})]})]}),l.jsx("button",{type:"button",className:"dash-job-arrow-btn","aria-label":"Se job",onClick:J=>{J.stopPropagation(),c(V.id,!!V.fromJobnet,"dashboard")},children:l.jsx(La,{size:16,strokeWidth:1.8})})]},V.id))})]}),l.jsxs("div",{className:"dash-split-grid",children:[l.jsxs("article",{className:"dash-card",children:[l.jsx("h3",{children:"Seneste beskeder"}),l.jsxs("div",{className:"dash-message-list",children:[(M.messages.length>0?M.messages:[]).slice(0,5).map(V=>l.jsxs("div",{className:"dash-message-item",children:[l.jsx("div",{className:"dash-avatar",children:qh(V.companyName||"A")}),l.jsxs("div",{children:[l.jsx("h4",{children:V.companyName||"Samtale"}),l.jsx("p",{children:V.latestMessage?.text||"Ingen besked endnu"})]})]},V.id)),M.messages.length===0?l.jsx("p",{className:"dash-muted",children:"Ingen beskeder endnu."}):null]})]}),l.jsxs("article",{className:"dash-card",children:[l.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[l.jsx("h3",{children:"Seneste simuleringer"}),l.jsx("button",{type:"button",className:"dash-icon-btn",children:l.jsx(Gv,{size:16,strokeWidth:1.8})})]}),l.jsxs("div",{className:"dash-sim-list",children:[l.jsxs("div",{className:"dash-sim-item",children:[l.jsxs("div",{className:"dash-sim-left",children:[l.jsx("span",{className:"dash-sim-icon teal",children:l.jsx(io,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:"Teknisk samtale"}),l.jsx("p",{children:"Frontend-fokus"})]})]}),l.jsxs("div",{className:"dash-sim-right",children:[l.jsx("strong",{children:"92/100"}),l.jsx("div",{className:"dash-progress",children:l.jsx("span",{style:{width:"92%"}})})]})]}),l.jsxs("div",{className:"dash-sim-item",children:[l.jsxs("div",{className:"dash-sim-left",children:[l.jsx("span",{className:"dash-sim-icon purple",children:l.jsx(b1,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:"Kulturelt match"}),l.jsx("p",{children:"Lunar Bank"})]})]}),l.jsxs("div",{className:"dash-sim-right",children:[l.jsx("strong",{children:"88/100"}),l.jsx("div",{className:"dash-progress",children:l.jsx("span",{style:{width:"88%"}})})]})]}),l.jsxs("div",{className:"dash-sim-item",children:[l.jsxs("div",{className:"dash-sim-left",children:[l.jsx("span",{className:"dash-sim-icon amber",children:l.jsx(Jv,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:"Systemdesign"}),l.jsx("p",{children:"Arkitektur"})]})]}),l.jsxs("div",{className:"dash-sim-right",children:[l.jsx("strong",{className:"warn",children:"65/100"}),l.jsx("div",{className:"dash-progress",children:l.jsx("span",{className:"warn",style:{width:"65%"}})})]})]}),l.jsxs("div",{className:"dash-sim-item",children:[l.jsxs("div",{className:"dash-sim-left",children:[l.jsx("span",{className:"dash-sim-icon blue",children:l.jsx(io,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:"Live-kodning"}),l.jsx("p",{children:"React.js"})]})]}),l.jsxs("div",{className:"dash-sim-right",children:[l.jsx("strong",{children:"95/100"}),l.jsx("div",{className:"dash-progress",children:l.jsx("span",{style:{width:"95%"}})})]})]}),l.jsxs("div",{className:"dash-sim-item",children:[l.jsxs("div",{className:"dash-sim-left",children:[l.jsx("span",{className:"dash-sim-icon gray",children:l.jsx(om,{size:16,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h4",{children:"HR-screening"}),l.jsx("p",{children:"Generelt"})]})]}),l.jsxs("div",{className:"dash-sim-right",children:[l.jsx("strong",{className:"na",children:"N/A"}),l.jsx("div",{className:"dash-progress"})]})]})]})]})]})]}),l.jsxs("div",{className:"dash-grid-side",children:[l.jsxs("article",{className:"dash-card dash-ai-card dash-ai-card-group",children:[l.jsx("div",{className:"dash-ai-peel"}),l.jsxs("div",{className:"dash-ai-content",children:[l.jsxs("div",{className:"dash-ai-head",children:[l.jsx(Kn,{size:22,strokeWidth:1.8}),l.jsx("h3",{children:"AI-indsigter til dit CV"})]}),l.jsx("p",{children:"Vi analyserede dit seneste CV op imod dine målroller."}),l.jsxs("ul",{className:"dash-ai-list",children:[l.jsxs("li",{className:"dash-ai-item",children:[l.jsx("span",{className:"dash-ai-item-icon",children:l.jsx(vp,{size:13,strokeWidth:2})}),l.jsxs("div",{children:[l.jsx("strong",{children:"Kvantificer dine resultater"}),l.jsx("small",{children:'Tilføj tal til din rolle hos TechCorp (f.eks. \\"Forbedrede loadhastighed med 40%\\").'})]})]}),l.jsxs("li",{className:"dash-ai-item",children:[l.jsx("span",{className:"dash-ai-item-icon",children:l.jsx(mp,{size:13,strokeWidth:2})}),l.jsxs("div",{children:[l.jsx("strong",{children:"Omorganiser dine færdigheder"}),l.jsx("small",{children:"Flyt React & TypeScript til toppen baseret på aktive Jobagenter."})]})]}),l.jsxs("li",{className:"dash-ai-item",children:[l.jsx("span",{className:"dash-ai-item-icon",children:l.jsx(Ip,{size:13,strokeWidth:2})}),l.jsxs("div",{children:[l.jsx("strong",{children:"Tilføj manglende nøgleord"}),l.jsx("small",{children:'Inkluder \\"Tailwind CSS\\" for at matche 85% af dine anbefalede jobs.'})]})]}),l.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[l.jsx("span",{className:"dash-ai-item-icon",children:l.jsx(dm,{size:13,strokeWidth:2})}),l.jsxs("div",{children:[l.jsx("strong",{children:"Omskriv dit resumé"}),l.jsx("small",{children:"Gør din målsætning mere handlingsorienteret."})]})]}),l.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[l.jsx("span",{className:"dash-ai-item-icon",children:l.jsx(pv,{size:13,strokeWidth:2})}),l.jsxs("div",{children:[l.jsx("strong",{children:"Opdater porteføljelink"}),l.jsx("small",{children:"Dit GitHub-link gav en 404-fejl i vores test."})]})]})]}),l.jsx("button",{type:"button",children:"Anvend alle ændringer"})]})]}),l.jsxs("article",{className:"dash-card",children:[l.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[l.jsx("h3",{children:"Aktive Jobagenter"}),l.jsx("button",{type:"button",className:"dash-icon-btn",children:l.jsx(um,{size:16,strokeWidth:1.8})})]}),l.jsxs("div",{className:"dash-agent-list",children:[l.jsxs("div",{className:"dash-agent-item",children:[l.jsxs("div",{children:[l.jsx("span",{children:"Frontend-udvikler"}),l.jsxs("small",{children:[l.jsx(Xn,{size:13,strokeWidth:1.8})," Kobenhavn"]})]}),l.jsxs("label",{className:"dash-switch",children:[l.jsx("input",{type:"checkbox",defaultChecked:!0}),l.jsx("span",{})]})]}),l.jsxs("div",{className:"dash-agent-item",children:[l.jsxs("div",{children:[l.jsx("span",{children:"React-udvikler"}),l.jsxs("small",{children:[l.jsx(co,{size:13,strokeWidth:1.8})," Remote (EU)"]})]}),l.jsxs("label",{className:"dash-switch",children:[l.jsx("input",{type:"checkbox",defaultChecked:!0}),l.jsx("span",{})]})]}),l.jsxs("div",{className:"dash-agent-item muted",children:[l.jsxs("div",{children:[l.jsx("span",{children:"UI/UX-designer"}),l.jsxs("small",{children:[l.jsx(Xn,{size:13,strokeWidth:1.8})," Aarhus"]})]}),l.jsxs("label",{className:"dash-switch",children:[l.jsx("input",{type:"checkbox"}),l.jsx("span",{})]})]})]}),l.jsx("button",{type:"button",className:"dash-outline-btn",children:"Opret ny agent"})]})]})]})]})]})}function fe({className:u,icon:s,style:c}){return l.jsx("iconify-icon",{className:u,icon:s,style:c})}function kx(){const[u,s]=_.useState(!1);return _.useEffect(()=>{if(!u)return;const c=document.body.style.overflow;document.body.style.overflow="hidden";function o(h){h.key==="Escape"&&s(!1)}return window.addEventListener("keydown",o),()=>{document.body.style.overflow=c,window.removeEventListener("keydown",o)}},[u]),_.useEffect(()=>{function c(){window.innerWidth>990&&s(!1)}return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]),l.jsxs("div",{className:"homepage-react-root scroll-smooth bg-[#f8fafc] relative min-h-screen text-gray-600 selection:bg-teal-100 selection:text-teal-900 overflow-x-hidden flex flex-col font-normal custom-scrollbar",children:[l.jsx("div",{className:"fixed top-[-15%] left-[-10%] w-[60vw] h-[60vw] rounded-full bg-gradient-to-br from-teal-400/30 to-emerald-300/10 blur-[140px] pointer-events-none z-0"}),l.jsx("div",{className:"fixed bottom-[-15%] right-[-10%] w-[70vw] h-[70vw] rounded-full bg-gradient-to-tl from-indigo-500/20 to-purple-400/10 blur-[160px] pointer-events-none z-0"}),l.jsx("div",{className:"fixed top-[20%] right-[15%] w-[40vw] h-[40vw] rounded-full bg-gradient-to-tr from-cyan-400/20 to-blue-300/10 blur-[130px] pointer-events-none z-0"}),l.jsxs("nav",{className:"homepage-nav fixed top-0 inset-x-0 z-50 h-16 bg-white/20 backdrop-blur-2xl border-b border-white/50 shadow-[0_4px_30px_rgba(0,0,0,0.03)] flex items-center justify-between px-6 lg:px-12 transition-all",children:[l.jsxs("a",{href:"#",className:"flex items-center gap-2 group outline-none",children:[l.jsxs("svg",{viewBox:"0 0 100 100",className:"w-8 h-8 rounded-lg shadow-[0_4px_15px_rgba(49,103,201,0.2)] group-hover:shadow-[0_6px_20px_rgba(49,103,201,0.3)] transition-all group-hover:scale-105",children:[l.jsxs("defs",{children:[l.jsxs("linearGradient",{id:"navLogoBg",x1:"0%",y1:"100%",x2:"100%",y2:"0%",children:[l.jsx("stop",{offset:"0%",stopColor:"#1A9A75"}),l.jsx("stop",{offset:"100%",stopColor:"#3167C9"})]}),l.jsxs("linearGradient",{id:"navLogoFg",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[l.jsx("stop",{offset:"0%",stopColor:"#6ACEEB"}),l.jsx("stop",{offset:"100%",stopColor:"#46D3B6"})]})]}),l.jsx("rect",{width:"100",height:"100",fill:"url(#navLogoBg)"}),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M 60 15 L 72 15 L 72 85 L 60 85 L 60 72.98 A 28 28 0 1 1 60 27.02 Z M 44 34 A 16 16 0 1 0 44 66 A 16 16 0 1 0 44 34 Z",fill:"url(#navLogoFg)"})]}),l.jsx("span",{className:"text-xl font-normal tracking-tight text-gray-900 uppercase",children:"ARBEJD"})]}),l.jsxs("div",{className:"homepage-nav-links flex items-center gap-8",children:[l.jsx("a",{href:"#",className:"text-base font-normal text-gray-600 hover:text-gray-900 transition-colors outline-none drop-shadow-sm",children:"Sådan virker det"}),l.jsx("a",{href:"#",className:"text-base font-normal text-gray-600 hover:text-gray-900 transition-colors outline-none drop-shadow-sm",children:"Gratis hjælp"}),l.jsx("a",{href:"#",className:"text-base font-normal text-gray-600 hover:text-gray-900 transition-colors outline-none drop-shadow-sm",children:"Priser"})]}),l.jsxs("div",{className:"homepage-nav-actions flex items-center gap-4",children:[l.jsx("a",{href:"#",className:"hidden sm:block text-base font-normal text-gray-700 hover:text-gray-900 transition-colors outline-none drop-shadow-sm",children:"Log ind"}),l.jsx("a",{href:"#",className:"text-base font-normal text-white bg-gradient-to-r from-gray-900 to-gray-800 hover:from-gray-800 hover:to-gray-700 px-5 py-2.5 rounded-full transition-all shadow-[0_4px_15px_rgba(0,0,0,0.1)] outline-none border border-gray-700",children:"Opret dig"})]}),l.jsx("button",{type:"button",className:"homepage-nav-hamburger","aria-expanded":u,"aria-label":u?"Luk menu":"Åbn menu",onClick:()=>s(c=>!c),children:l.jsx(fe,{icon:u?"solar:close-circle-linear":"solar:hamburger-menu-linear",className:"text-xl text-gray-800",style:{strokeWidth:1.8}})}),l.jsxs("div",{className:u?"homepage-nav-popup open":"homepage-nav-popup",children:[l.jsx("a",{href:"#",onClick:()=>s(!1),children:"Sådan virker det"}),l.jsx("a",{href:"#",onClick:()=>s(!1),children:"Gratis hjælp"}),l.jsx("a",{href:"#",onClick:()=>s(!1),children:"Priser"}),l.jsx("a",{href:"#",onClick:()=>s(!1),children:"Log ind"}),l.jsx("a",{href:"#",className:"homepage-nav-popup-cta",onClick:()=>s(!1),children:"Opret dig"})]})]}),l.jsxs("main",{className:"flex-1 relative z-10 pt-16",children:[l.jsxs("section",{className:"relative pt-24 pb-32 px-6 lg:px-12 max-w-7xl mx-auto flex flex-col items-center text-center",children:[l.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-4xl aspect-[2/1] bg-gradient-to-tr from-white/40 via-white/10 to-teal-50/30 backdrop-blur-3xl border border-white/60 rounded-[3rem] shadow-[0_8px_40px_rgba(0,0,0,0.06)] -z-10 animate-float-slow"}),l.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-gradient-to-r from-white/60 to-white/30 backdrop-blur-xl border border-white/80 text-teal-800 text-sm font-medium uppercase tracking-wider mb-8 shadow-[0_4px_20px_rgba(20,184,166,0.1)]",children:[l.jsx(fe,{icon:"solar:magic-stick-3-linear",className:"text-base",style:{strokeWidth:1.5}}),"Fremtidens rekruttering"]}),l.jsxs("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-medium tracking-tight text-gradient mb-8 leading-tight max-w-4xl drop-shadow-sm",children:["Arbejd, Danmarks",l.jsx("br",{}),"Nye Jobportal"]}),l.jsx("p",{className:"text-xl md:text-2xl text-gray-600 mb-10 max-w-2xl font-normal leading-relaxed drop-shadow-sm",children:"Opdag drømmejobbet med kraften fra AI. Vi matcher dine færdigheder med de perfekte muligheder og hjælper dig hele vejen til samtalen."}),l.jsxs("button",{type:"button",className:"group relative inline-flex items-center gap-3 px-8 py-4 bg-gradient-to-r from-gray-900 via-gray-800 to-gray-900 text-white rounded-full font-normal text-lg overflow-hidden shadow-[0_8px_25px_rgba(17,24,39,0.25)] hover:shadow-[0_12px_35px_rgba(17,24,39,0.35)] transition-all outline-none border border-gray-700 hover:-translate-y-0.5",children:[l.jsx("span",{className:"relative z-10",children:"Udforsk Arbejd.com"}),l.jsx(fe,{icon:"solar:arrow-right-linear",className:"text-xl group-hover:translate-x-1 transition-transform relative z-10",style:{strokeWidth:1.5}})]})]}),l.jsx("section",{className:"py-12 border-y border-white/40 bg-gradient-to-r from-white/10 via-white/30 to-white/10 backdrop-blur-xl shadow-[0_4px_30px_rgba(0,0,0,0.02)]",children:l.jsxs("div",{className:"max-w-7xl mx-auto px-6 lg:px-12",children:[l.jsx("p",{className:"text-center text-sm font-medium text-gray-500 uppercase tracking-widest mb-8 drop-shadow-sm",children:"Stoles på af innovative virksomheder"}),l.jsxs("div",{className:"flex flex-wrap justify-center items-center gap-8 md:gap-16 opacity-60 grayscale hover:grayscale-0 transition-all duration-500",children:[l.jsx(fe,{icon:"solar:box-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}}),l.jsx(fe,{icon:"solar:medal-ribbon-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}}),l.jsx(fe,{icon:"solar:global-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}}),l.jsx(fe,{icon:"solar:buildings-2-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}}),l.jsx(fe,{icon:"solar:laptop-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}}),l.jsx(fe,{icon:"solar:database-linear",className:"text-3xl text-gray-800",style:{strokeWidth:1.5}})]})]})}),l.jsx("section",{className:"py-32 px-6 lg:px-12 max-w-7xl mx-auto",children:l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[l.jsxs("div",{className:"relative w-full aspect-square md:aspect-[4/3] lg:aspect-square flex items-center justify-center group",children:[l.jsxs("div",{className:"absolute w-[88%] h-[60%] top-[4%] left-[6%] bg-gradient-to-br from-white/50 to-white/10 backdrop-blur-2xl border border-white/60 rounded-t-3xl rounded-b-xl shadow-[0_20px_50px_rgba(0,0,0,0.06)] overflow-hidden animate-float-slow z-0 flex flex-col transition-transform duration-700 group-hover:scale-[1.02]",children:[l.jsxs("div",{className:"w-full flex-1 p-3 flex flex-col relative bg-white/10",children:[l.jsx("div",{className:"h-3 w-full flex justify-center absolute top-2 left-0 z-20",children:l.jsx("div",{className:"w-1.5 h-1.5 bg-gray-800/30 rounded-full backdrop-blur-md shadow-inner"})}),l.jsxs("div",{className:"w-full h-full bg-white/40 backdrop-blur-xl border border-white/50 rounded-xl overflow-hidden relative shadow-sm",children:[l.jsx("div",{className:"absolute top-0 left-0 w-full h-8 bg-white/30 border-b border-white/40 flex items-center px-4",children:l.jsx("div",{className:"w-1/4 h-2 bg-gray-300/50 rounded-full"})}),l.jsxs("div",{className:"p-4 flex gap-4 mt-8 opacity-60",children:[l.jsx("div",{className:"w-1/3 h-16 bg-teal-200/20 rounded-lg"}),l.jsx("div",{className:"w-1/3 h-16 bg-indigo-200/20 rounded-lg"})]})]})]}),l.jsx("div",{className:"h-5 w-full bg-gradient-to-b from-white/90 to-gray-100/60 border-t border-white/80 rounded-b-xl relative shadow-md flex justify-center z-20",children:l.jsx("div",{className:"w-1/5 h-1 bg-gray-300/60 rounded-b-md mt-0.5"})})]}),l.jsxs("div",{className:"absolute w-[75%] h-[50%] top-[18%] left-[12.5%] bg-gradient-to-br from-white/80 to-white/30 backdrop-blur-3xl border border-white/90 rounded-2xl shadow-[0_30px_60px_rgba(0,0,0,0.08)] overflow-hidden animate-float-medium [animation-delay:-2s] z-10 transition-transform duration-700 group-hover:-translate-y-2",children:[l.jsxs("div",{className:"h-8 bg-gradient-to-r from-white/70 to-white/40 border-b border-white/70 flex items-center px-4 gap-2 backdrop-blur-2xl",children:[l.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400 shadow-sm"}),l.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-400 shadow-sm"}),l.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-400 shadow-sm"}),l.jsx("div",{className:"ml-4 w-1/2 h-4 bg-white/60 rounded-md border border-white/80 shadow-inner flex items-center px-2",children:l.jsx("div",{className:"w-1/3 h-1.5 bg-gray-300/60 rounded-full"})})]}),l.jsxs("div",{className:"p-5 h-full flex flex-col gap-3 relative",children:[l.jsx("div",{className:"w-1/3 h-4 bg-gray-300/40 rounded-md"}),l.jsx("div",{className:"w-2/3 h-3 bg-gray-200/40 rounded-md"}),l.jsxs("div",{className:"mt-2 grid grid-cols-2 gap-3",children:[l.jsx("div",{className:"h-16 bg-gradient-to-br from-teal-100/50 to-white/40 border border-white/70 rounded-xl shadow-sm"}),l.jsx("div",{className:"h-16 bg-gradient-to-br from-indigo-100/50 to-white/40 border border-white/70 rounded-xl shadow-sm"})]}),l.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-14 h-14 bg-white rounded-2xl shadow-xl flex items-center justify-center border border-white/80",children:l.jsx(fe,{icon:"solar:layers-linear",className:"text-2xl text-teal-500",style:{strokeWidth:1.5}})})]})]}),l.jsxs("div",{className:"absolute w-[26%] h-[60%] bottom-[8%] left-[8%] bg-gradient-to-tr from-white/80 via-white/50 to-teal-50/50 backdrop-blur-3xl border border-white/90 rounded-[1.75rem] shadow-[0_25px_50px_rgba(0,0,0,0.12)] overflow-hidden animate-float-fast [animation-delay:-1s] z-20 flex flex-col transition-transform duration-700 group-hover:-translate-x-3 group-hover:-rotate-2",children:[l.jsx("div",{className:"h-5 w-full flex justify-center pt-2.5 relative z-10",children:l.jsx("div",{className:"w-2 h-2 bg-gray-800/40 rounded-full shadow-inner backdrop-blur-md"})}),l.jsxs("div",{className:"flex-1 p-2.5 flex flex-col gap-2.5 relative z-0 mt-1",children:[l.jsxs("div",{className:"w-full h-8 bg-white/70 border border-white/80 shadow-sm rounded-full flex items-center px-3 gap-2",children:[l.jsx(fe,{icon:"solar:magnifer-linear",className:"text-gray-400 text-xs"}),l.jsx("div",{className:"w-1/2 h-1.5 bg-gray-300/80 rounded-full"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-1",children:[l.jsx("div",{className:"aspect-square bg-gradient-to-br from-teal-400/30 to-cyan-400/20 rounded-xl border border-white/70 shadow-sm"}),l.jsx("div",{className:"aspect-square bg-gradient-to-br from-amber-400/30 to-orange-400/20 rounded-xl border border-white/70 shadow-sm"})]}),l.jsxs("div",{className:"w-full h-12 bg-white/80 backdrop-blur-xl rounded-xl border border-white/90 shadow-sm mt-auto mb-1 p-2 flex items-center gap-2",children:[l.jsx("div",{className:"w-6 h-6 rounded-full bg-gradient-to-tr from-teal-200 to-teal-100 flex-shrink-0"}),l.jsx("div",{className:"w-1/2 h-1.5 bg-gray-300/80 rounded-full"})]})]}),l.jsx("div",{className:"h-3 w-full flex justify-center pb-2",children:l.jsx("div",{className:"w-1/4 h-0.5 bg-gray-400/50 rounded-full"})})]}),l.jsxs("div",{className:"absolute w-[28%] h-[65%] bottom-[5%] right-[8%] bg-gradient-to-b from-white/80 to-white/40 backdrop-blur-3xl border border-white/90 rounded-[2rem] shadow-[0_30px_60px_rgba(0,0,0,0.15)] overflow-hidden animate-float-medium [animation-delay:-3s] z-30 flex flex-col transition-transform duration-700 group-hover:translate-x-3 group-hover:rotate-2",children:[l.jsx("div",{className:"h-5 w-full flex justify-center pt-1.5",children:l.jsx("div",{className:"w-1/3 h-3 bg-gray-900/20 rounded-full backdrop-blur-md"})}),l.jsxs("div",{className:"flex-1 p-3 flex flex-col gap-2.5 mt-1",children:[l.jsx("div",{className:"w-full h-8 bg-white/60 border border-white/70 shadow-sm rounded-lg"}),l.jsx("div",{className:"w-full h-20 bg-gradient-to-br from-indigo-400/30 to-purple-400/20 rounded-xl border border-white/70 shadow-sm"}),l.jsxs("div",{className:"w-full h-10 bg-white/80 backdrop-blur-xl rounded-xl border border-white/90 shadow-sm flex items-center px-2 gap-2",children:[l.jsx("div",{className:"w-5 h-5 rounded-full bg-gradient-to-tr from-indigo-200 to-indigo-100 flex-shrink-0"}),l.jsx("div",{className:"w-1/2 h-1.5 bg-gray-300/80 rounded-full"})]})]}),l.jsx("div",{className:"h-3 w-full flex justify-center pb-2",children:l.jsx("div",{className:"w-1/3 h-1 bg-gray-400/50 rounded-full"})})]})]}),l.jsxs("div",{className:"flex flex-col justify-center",children:[l.jsxs("h2",{className:"text-3xl md:text-4xl font-medium tracking-tight text-gradient-subtle mb-6",children:["En intelligent genvej",l.jsx("br",{}),"til dit næste job"]}),l.jsx("p",{className:"text-lg text-gray-600 mb-10 font-normal leading-relaxed drop-shadow-sm",children:"Arbejd.com kombinerer det nyeste inden for kunstig intelligens med et intuitivt design, der gør din jobsøgning hurtigere, skarpere og mere succesfuld."}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"group flex items-start gap-5 p-5 bg-gradient-to-br from-white/50 to-white/10 backdrop-blur-2xl border border-white/60 rounded-2xl shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:shadow-[0_12px_40px_rgba(20,184,166,0.08)] hover:border-teal-200/60 transition-all cursor-default",children:[l.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-teal-50 to-white border border-teal-100/50 shadow-sm flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform",children:l.jsx(fe,{icon:"solar:document-text-linear",className:"text-2xl text-teal-600",style:{strokeWidth:1.5}})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-medium text-gray-900 tracking-tight mb-1",children:"AI-understøttet CV-optimering"}),l.jsx("p",{className:"text-base text-gray-600 font-normal",children:"Få skræddersyet dit CV til præcis den stilling du søger, så du altid står skarpest muligt."})]})]}),l.jsxs("div",{className:"group flex items-start gap-5 p-5 bg-gradient-to-br from-white/50 to-white/10 backdrop-blur-2xl border border-white/60 rounded-2xl shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:shadow-[0_12px_40px_rgba(99,102,241,0.08)] hover:border-indigo-200/60 transition-all cursor-default",children:[l.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-indigo-50 to-white border border-indigo-100/50 shadow-sm flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform",children:l.jsx(fe,{icon:"solar:pen-new-square-linear",className:"text-2xl text-indigo-600",style:{strokeWidth:1.5}})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-medium text-gray-900 tracking-tight mb-1",children:"AI Ansøgninger"}),l.jsx("p",{className:"text-base text-gray-600 font-normal",children:"Generer målrettede og personlige ansøgninger, der fanger arbejdsgiverens opmærksomhed."})]})]}),l.jsxs("div",{className:"group flex items-start gap-5 p-5 bg-gradient-to-br from-white/50 to-white/10 backdrop-blur-2xl border border-white/60 rounded-2xl shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:shadow-[0_12px_40px_rgba(6,182,212,0.08)] hover:border-cyan-200/60 transition-all cursor-default",children:[l.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-cyan-50 to-white border border-cyan-100/50 shadow-sm flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform",children:l.jsx(fe,{icon:"solar:gamepad-linear",className:"text-2xl text-cyan-600",style:{strokeWidth:1.5}})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-medium text-gray-900 tracking-tight mb-1",children:"AI-interview Simulator"}),l.jsx("p",{className:"text-base text-gray-600 font-normal",children:"Øv dig til samtalen med vores AI. Få øjeblikkelig feedback og personlige anbefalinger."})]})]}),l.jsxs("div",{className:"group flex items-start gap-5 p-5 bg-gradient-to-br from-white/50 to-white/10 backdrop-blur-2xl border border-white/60 rounded-2xl shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:shadow-[0_12px_40px_rgba(245,158,11,0.08)] hover:border-amber-200/60 transition-all cursor-default",children:[l.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-amber-50 to-white border border-amber-100/50 shadow-sm flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform",children:l.jsx(fe,{icon:"solar:radar-linear",className:"text-2xl text-amber-600",style:{strokeWidth:1.5}})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-medium text-gray-900 tracking-tight mb-1",children:"AI-agenter søger for dig"}),l.jsx("p",{className:"text-base text-gray-600 font-normal",children:"Lad vores intelligente agenter overvåge markedet og finde det perfekte match til din profil."})]})]})]})]})]})}),l.jsxs("section",{className:"py-24 px-6 lg:px-12 max-w-7xl mx-auto border-t border-white/40 relative",children:[l.jsxs("div",{className:"text-center mb-16 relative z-10",children:[l.jsx("h2",{className:"text-3xl md:text-4xl font-medium tracking-tight text-gradient-subtle mb-4",children:"Succeshistorier"}),l.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto font-normal drop-shadow-sm",children:"Se hvordan andre har brugt Arbejd til at lande drømmejobbet og starte næste kapitel i deres career."})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 relative z-10",children:[l.jsxs("div",{className:"bg-gradient-to-br from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl overflow-hidden shadow-[0_8px_30px_rgba(0,0,0,0.04)] hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all group",children:[l.jsxs("div",{className:"aspect-video bg-gray-100 relative overflow-hidden",children:[l.jsx("img",{src:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=800&q=80",alt:"Team",className:"w-full h-full object-cover opacity-80 group-hover:scale-105 transition-transform duration-700"}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-gray-900/40 to-transparent flex items-center justify-center",children:l.jsx("button",{type:"button",className:"w-14 h-14 rounded-full bg-white/30 backdrop-blur-md border border-white/60 shadow-xl flex items-center justify-center text-white hover:scale-110 hover:bg-white/50 transition-all outline-none",children:l.jsx(fe,{icon:"solar:play-linear",className:"text-2xl ml-1",style:{strokeWidth:1.5}})})})]}),l.jsxs("div",{className:"p-6 relative",children:[l.jsx("p",{className:"text-base text-gray-700 italic mb-6 leading-relaxed",children:'"Simulatoren var en gamechanger. Jeg var super nervøs for min samtale, men feedbacken gav mig roen til at performe 100%."'}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"https://i.pravatar.cc/150?img=32",alt:"Sofie",className:"w-10 h-10 rounded-full border-2 border-white shadow-sm"}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900",children:"Sofie Jensen"}),l.jsx("p",{className:"text-sm text-teal-600 font-normal",children:"Landed job som Marketing Manager"})]})]})]})]}),l.jsxs("div",{className:"bg-gradient-to-br from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl overflow-hidden shadow-[0_8px_30px_rgba(0,0,0,0.04)] hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all group",children:[l.jsxs("div",{className:"aspect-video bg-gray-100 relative overflow-hidden",children:[l.jsx("img",{src:"https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&q=80",alt:"Meeting",className:"w-full h-full object-cover opacity-80 group-hover:scale-105 transition-transform duration-700"}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-gray-900/40 to-transparent flex items-center justify-center",children:l.jsx("button",{type:"button",className:"w-14 h-14 rounded-full bg-white/30 backdrop-blur-md border border-white/60 shadow-xl flex items-center justify-center text-white hover:scale-110 hover:bg-white/50 transition-all outline-none",children:l.jsx(fe,{icon:"solar:play-linear",className:"text-2xl ml-1",style:{strokeWidth:1.5}})})})]}),l.jsxs("div",{className:"p-6",children:[l.jsx("p",{className:"text-base text-gray-700 italic mb-6 leading-relaxed",children:'"AI-ansøgningerne sparede mig timevis af arbejde. Det ramte den professionelle tone perfekt fra første forsøg."'}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"https://i.pravatar.cc/150?img=12",alt:"Mikkel",className:"w-10 h-10 rounded-full border-2 border-white shadow-sm"}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900",children:"Mikkel Larsen"}),l.jsx("p",{className:"text-sm text-indigo-600 font-normal",children:"Landed job som Frontend Udvikler"})]})]})]})]}),l.jsxs("div",{className:"bg-gradient-to-br from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl overflow-hidden shadow-[0_8px_30px_rgba(0,0,0,0.04)] hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all group md:col-span-2 lg:col-span-1",children:[l.jsxs("div",{className:"aspect-video bg-gray-100 relative overflow-hidden",children:[l.jsx("img",{src:"https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=800&q=80",alt:"Success",className:"w-full h-full object-cover opacity-80 group-hover:scale-105 transition-transform duration-700"}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-gray-900/40 to-transparent flex items-center justify-center",children:l.jsx("button",{type:"button",className:"w-14 h-14 rounded-full bg-white/30 backdrop-blur-md border border-white/60 shadow-xl flex items-center justify-center text-white hover:scale-110 hover:bg-white/50 transition-all outline-none",children:l.jsx(fe,{icon:"solar:play-linear",className:"text-2xl ml-1",style:{strokeWidth:1.5}})})})]}),l.jsxs("div",{className:"p-6",children:[l.jsx("p",{className:"text-base text-gray-700 italic mb-6 leading-relaxed",children:'"Agenten fandt et job jeg aldrig selv ville have søgt på. Det viste sig at være det helt rigtige match for mig."'}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"https://i.pravatar.cc/150?img=47",alt:"Amalie",className:"w-10 h-10 rounded-full border-2 border-white shadow-sm"}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900",children:"Amalie Nielsen"}),l.jsx("p",{className:"text-sm text-cyan-600 font-normal",children:"Landed job som Projektleder"})]})]})]})]})]})]}),l.jsxs("section",{className:"py-24 px-6 lg:px-12 max-w-7xl mx-auto border-t border-white/40 relative",children:[l.jsxs("div",{className:"text-center mb-16 relative z-10",children:[l.jsx("h2",{className:"text-3xl md:text-4xl font-medium tracking-tight text-gradient-subtle mb-4",children:"Mød holdet bag"}),l.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto font-normal drop-shadow-sm",children:"Passionerede mennesker der brænder for at revolutionere måden, vi finder arbejde på."})]}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto relative z-10",children:[l.jsxs("div",{className:"bg-gradient-to-b from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl p-6 text-center shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:-translate-y-1 hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all duration-300",children:[l.jsx("div",{className:"w-24 h-24 mx-auto mb-4 rounded-full p-1 bg-gradient-to-tr from-teal-400 to-emerald-300 shadow-md",children:l.jsx("img",{src:"https://i.pravatar.cc/150?img=11",alt:"Lasse Nielsen",className:"w-full h-full rounded-full border-2 border-white object-cover"})}),l.jsx("h3",{className:"text-xl font-medium text-gray-900 tracking-tight",children:"Lasse Nielsen"}),l.jsx("p",{className:"text-base text-teal-600 font-normal mb-6",children:"CEO & Founder"}),l.jsxs("div",{className:"flex items-center justify-center gap-3",children:[l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx("span",{className:"text-sm font-medium",children:"in"})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:camera-linear",className:"text-base",style:{strokeWidth:1.5}})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:letter-linear",className:"text-base",style:{strokeWidth:1.5}})})]})]}),l.jsxs("div",{className:"bg-gradient-to-b from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl p-6 text-center shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:-translate-y-1 hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all duration-300",children:[l.jsx("div",{className:"w-24 h-24 mx-auto mb-4 rounded-full p-1 bg-gradient-to-tr from-indigo-400 to-purple-300 shadow-md",children:l.jsx("img",{src:"https://i.pravatar.cc/150?img=5",alt:"Emma",className:"w-full h-full rounded-full border-2 border-white object-cover"})}),l.jsx("h3",{className:"text-xl font-medium text-gray-900 tracking-tight",children:"Emma Schmidt"}),l.jsx("p",{className:"text-base text-indigo-600 font-normal mb-6",children:"Head of AI"}),l.jsxs("div",{className:"flex items-center justify-center gap-3",children:[l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx("span",{className:"text-sm font-medium",children:"in"})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:camera-linear",className:"text-base",style:{strokeWidth:1.5}})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:letter-linear",className:"text-base",style:{strokeWidth:1.5}})})]})]}),l.jsxs("div",{className:"bg-gradient-to-b from-white/60 to-white/20 backdrop-blur-2xl border border-white/60 rounded-3xl p-6 text-center shadow-[0_8px_30px_rgba(0,0,0,0.03)] hover:-translate-y-1 hover:shadow-[0_15px_40px_rgba(0,0,0,0.08)] transition-all duration-300 sm:col-span-2 lg:col-span-1",children:[l.jsx("div",{className:"w-24 h-24 mx-auto mb-4 rounded-full p-1 bg-gradient-to-tr from-cyan-400 to-blue-300 shadow-md",children:l.jsx("img",{src:"https://i.pravatar.cc/150?img=60",alt:"Christian",className:"w-full h-full rounded-full border-2 border-white object-cover"})}),l.jsx("h3",{className:"text-xl font-medium text-gray-900 tracking-tight",children:"Christian Berg"}),l.jsx("p",{className:"text-base text-cyan-600 font-normal mb-6",children:"Lead Designer"}),l.jsxs("div",{className:"flex items-center justify-center gap-3",children:[l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx("span",{className:"text-sm font-medium",children:"in"})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:camera-linear",className:"text-base",style:{strokeWidth:1.5}})}),l.jsx("a",{href:"#",className:"w-8 h-8 rounded-full bg-white/50 backdrop-blur-sm border border-white flex items-center justify-center text-gray-500 hover:text-gray-900 hover:bg-white transition-all shadow-sm outline-none",children:l.jsx(fe,{icon:"solar:letter-linear",className:"text-base",style:{strokeWidth:1.5}})})]})]})]})]}),l.jsxs("section",{className:"py-24 px-6 lg:px-12 max-w-7xl mx-auto border-t border-white/40 relative",children:[l.jsxs("div",{className:"text-center mb-16 relative z-10",children:[l.jsx("h2",{className:"text-3xl md:text-4xl font-medium tracking-tight text-gradient-subtle mb-4",children:"Gennemsigtige priser"}),l.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto font-normal drop-shadow-sm",children:"Vælg den plan, der passer bedst til din karriererejse. Start din rejse i dag."})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 max-w-6xl mx-auto relative z-10 items-stretch",children:[l.jsxs("div",{className:"bg-gradient-to-br from-white/60 to-white/10 backdrop-blur-3xl border border-white/60 rounded-[2rem] p-8 shadow-[0_8px_30px_rgba(0,0,0,0.04)] flex flex-col relative overflow-hidden",children:[l.jsx("h3",{className:"text-2xl font-medium text-gray-900 tracking-tight mb-2",children:"30 dage"}),l.jsx("p",{className:"text-base text-gray-600 mb-6",children:"Perfekt til at komme hurtigt i gang."}),l.jsx("div",{className:"mb-8",children:l.jsx("span",{className:"text-5xl font-medium text-gray-900 tracking-tight",children:"49 kr"})}),l.jsxs("ul",{className:"space-y-4 mb-8 flex-1",children:[l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Download et professionelt CV - Klar til brug med et enkelt klik"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Karriereagent med personlige anbefalinger"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Øget synlighed – bliv fundet af virksomheder"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Lad systemet lave din ansøgning for dig"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Optimer dit CV med intelligente forslag"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Job simulatoren – træn til din næste jobsamtale"})]})]}),l.jsx("button",{type:"button",className:"w-full py-3 rounded-xl bg-white/60 backdrop-blur-md border border-white hover:bg-white/90 text-gray-900 font-medium text-base transition-colors shadow-sm outline-none mt-auto",children:"Vælg 30 dage"})]}),l.jsxs("div",{className:"bg-gradient-to-br from-gray-900 to-gray-800 backdrop-blur-3xl border border-gray-700/50 rounded-[2rem] p-8 shadow-[0_20px_50px_rgba(0,0,0,0.2)] flex flex-col relative overflow-hidden transform lg:-translate-y-4",children:[l.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-teal-400 via-cyan-400 to-indigo-400"}),l.jsx("div",{className:"absolute top-[-20%] right-[-20%] w-[60%] h-[60%] bg-gradient-to-bl from-teal-500/30 to-cyan-500/10 blur-[60px] rounded-full pointer-events-none"}),l.jsxs("div",{className:"flex justify-between items-start mb-2 relative z-10",children:[l.jsx("h3",{className:"text-2xl font-medium text-white tracking-tight drop-shadow-md",children:"90 dage"}),l.jsx("span",{className:"px-3 py-1.5 text-xs font-medium text-teal-900 bg-gradient-to-r from-teal-300 to-emerald-300 rounded-lg uppercase tracking-wider shadow-[0_0_15px_rgba(45,212,191,0.3)]",children:"Mest populær"})]}),l.jsx("p",{className:"text-base text-gray-400 mb-6 relative z-10",children:"Ideelt til den dedikerede jobsøgende."}),l.jsx("div",{className:"mb-8 relative z-10",children:l.jsx("span",{className:"text-5xl font-medium text-white tracking-tight drop-shadow-md",children:"129 kr"})}),l.jsxs("ul",{className:"space-y-4 mb-8 flex-1 relative z-10",children:[l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Download et professionelt CV - Klar til brug med et enkelt klik"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Karriereagent med personlige anbefalinger"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Øget synlighed – bliv fundet af virksomheder"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Lad systemet lave din ansøgning for dig"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Optimer dit CV med intelligente forslag"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-300 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-400 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Job simulatoren – træn til din næste jobsamtale"})]})]}),l.jsx("button",{type:"button",className:"w-full py-3 rounded-xl bg-gradient-to-r from-white to-gray-100 text-gray-900 font-medium text-base hover:from-gray-50 hover:to-white transition-all shadow-[0_4px_15px_rgba(255,255,255,0.1)] outline-none relative z-10 mt-auto",children:"Vælg 90 dage"})]}),l.jsxs("div",{className:"bg-gradient-to-br from-white/60 to-white/10 backdrop-blur-3xl border border-white/60 rounded-[2rem] p-8 shadow-[0_8px_30px_rgba(0,0,0,0.04)] flex flex-col relative overflow-hidden",children:[l.jsx("h3",{className:"text-2xl font-medium text-gray-900 tracking-tight mb-2",children:"365 dage"}),l.jsx("p",{className:"text-base text-gray-600 mb-6",children:"Det bedste langsigtede valg til din karriere."}),l.jsxs("div",{className:"mb-5 relative",children:[l.jsx("span",{className:"text-5xl font-medium text-gray-900 tracking-tight",children:"249 kr"}),l.jsx("span",{className:"block text-sm text-teal-600 font-medium mt-1",children:"Svarer til 0.68 kr. pr. dag"})]}),l.jsxs("div",{className:"mb-6 p-4 rounded-xl bg-gradient-to-br from-teal-50/80 to-emerald-50/80 border border-teal-200/50 shadow-sm relative overflow-hidden",children:[l.jsx("div",{className:"absolute -right-3 -top-3 text-teal-500/10",children:l.jsx(fe,{icon:"solar:gift-bold",className:"text-7xl"})}),l.jsxs("h4",{className:"text-sm font-medium text-teal-900 mb-1 relative z-10 flex items-center gap-2",children:[l.jsx(fe,{icon:"solar:gift-linear",className:"text-base text-teal-600",style:{strokeWidth:1.5}}),"Giv en gave"]}),l.jsx("p",{className:"text-xs text-teal-800 relative z-10 leading-snug",children:"Få en gratis 3-måneders Premium-kode med i købet til en ven."})]}),l.jsxs("ul",{className:"space-y-4 mb-8 flex-1",children:[l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Download et professionelt CV - Klar til brug med et enkelt klik"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Karriereagent med personlige anbefalinger"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Øget synlighed – bliv fundet af virksomheder"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Lad systemet lave din ansøgning for dig"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Optimer dit CV med intelligente forslag"})]}),l.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-700 leading-snug",children:[l.jsx(fe,{icon:"solar:check-circle-linear",className:"text-lg text-teal-500 flex-shrink-0 mt-0.5",style:{strokeWidth:1.5}}),l.jsx("span",{children:"Job simulatoren – træn til din næste jobsamtale"})]})]}),l.jsx("button",{type:"button",className:"w-full py-3 rounded-xl bg-white/60 backdrop-blur-md border border-white hover:bg-white/90 text-gray-900 font-medium text-base transition-colors shadow-sm outline-none mt-auto",children:"Vælg 365 dage"})]})]})]}),l.jsx("section",{className:"py-24 px-6 lg:px-12 max-w-7xl mx-auto relative z-10",children:l.jsxs("div",{className:"bg-gradient-to-br from-teal-400/20 via-indigo-400/10 to-purple-400/20 backdrop-blur-3xl border border-white/60 rounded-[3rem] p-10 md:p-16 text-center shadow-[0_20px_60px_rgba(0,0,0,0.05)] relative overflow-hidden group",children:[l.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-white/60 to-white/20 z-0"}),l.jsx("div",{className:"absolute top-0 right-0 w-[40%] h-[100%] bg-gradient-to-l from-white/40 to-transparent skew-x-12 translate-x-[150%] group-hover:translate-x-[-250%] transition-transform duration-1000 z-0"}),l.jsxs("div",{className:"relative z-10 max-w-3xl mx-auto flex flex-col items-center",children:[l.jsx(fe,{icon:"solar:rocket-linear",className:"text-5xl text-teal-600 mb-6 drop-shadow-sm",style:{strokeWidth:1.5}}),l.jsxs("h2",{className:"text-3xl md:text-5xl font-medium tracking-tight text-gradient-subtle mb-6 leading-tight drop-shadow-sm",children:["Klar til at tage styringen",l.jsx("br",{}),"over din karriere?"]}),l.jsx("p",{className:"text-xl text-gray-700 mb-10 font-normal leading-relaxed drop-shadow-sm",children:"Lad ikke de bedste muligheder gå til andre. Tilslut dig tusindvis af ambitiøse jobsøgere, der allerede bruger fremtidens værktøjer på Arbejd.com. Din næste store chance venter."}),l.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-8 py-4 bg-gradient-to-r from-gray-900 via-gray-800 to-gray-900 border border-gray-700 hover:border-gray-600 text-white rounded-full font-normal text-lg transition-all shadow-[0_8px_25px_rgba(17,24,39,0.2)] outline-none hover:-translate-y-0.5",children:["Tilmeld dig Arbejd.com i dag",l.jsx(fe,{icon:"solar:arrow-right-linear",className:"text-xl",style:{strokeWidth:1.5}})]})]})]})})]}),l.jsx("footer",{className:"bg-white/60 backdrop-blur-xl border-t border-white/80 mt-10 pt-16 pb-12 relative z-10 shadow-[0_-10px_40px_rgba(0,0,0,0.02)]",children:l.jsxs("div",{className:"max-w-7xl mx-auto px-6 lg:px-12",children:[l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-16",children:[l.jsxs("div",{className:"col-span-2 lg:col-span-2",children:[l.jsxs("a",{href:"#",className:"flex items-center gap-2 mb-6 group outline-none inline-flex",children:[l.jsxs("svg",{viewBox:"0 0 100 100",className:"w-8 h-8 rounded-lg shadow-sm transition-transform group-hover:scale-105",children:[l.jsxs("defs",{children:[l.jsxs("linearGradient",{id:"footerLogoBg",x1:"0%",y1:"100%",x2:"100%",y2:"0%",children:[l.jsx("stop",{offset:"0%",stopColor:"#1A9A75"}),l.jsx("stop",{offset:"100%",stopColor:"#3167C9"})]}),l.jsxs("linearGradient",{id:"footerLogoFg",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[l.jsx("stop",{offset:"0%",stopColor:"#6ACEEB"}),l.jsx("stop",{offset:"100%",stopColor:"#46D3B6"})]})]}),l.jsx("rect",{width:"100",height:"100",fill:"url(#footerLogoBg)"}),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M 60 15 L 72 15 L 72 85 L 60 85 L 60 72.98 A 28 28 0 1 1 60 27.02 Z M 44 34 A 16 16 0 1 0 44 66 A 16 16 0 1 0 44 34 Z",fill:"url(#footerLogoFg)"})]}),l.jsx("span",{className:"text-xl font-normal tracking-tight text-gray-900 uppercase",children:"ARBEJD"})]}),l.jsx("p",{className:"text-base text-gray-600 font-normal leading-relaxed max-w-xs mb-6 drop-shadow-sm",children:"Danmarks nye, intelligente jobportal, der bringer virksomheder og talent sammen gennem avanceret AI-teknologi."})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900 mb-5",children:"Sådan virker det"}),l.jsxs("ul",{className:"space-y-3",children:[l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"For virksomheder"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"For jobsøgere"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Priser"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"FAQ"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Nyhedsbrev"})})]})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900 mb-5",children:"Opret dig"}),l.jsxs("ul",{className:"space-y-3",children:[l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Opret virksomhed"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Opret jobsøger"})}),l.jsx("li",{children:l.jsxs("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal flex items-center gap-2",children:["Download app ",l.jsx("span",{className:"px-2 py-0.5 bg-gradient-to-r from-gray-100 to-gray-50 border border-gray-200 text-xs font-medium text-gray-600 rounded",children:"Snart"})]})})]})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-medium text-gray-900 mb-5",children:"Om Arbejd.com"}),l.jsxs("ul",{className:"space-y-3",children:[l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Vores mission"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Presse"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Kontakt"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Gratis hjælp"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Stories"})}),l.jsx("li",{children:l.jsx("a",{href:"#",className:"text-base text-gray-500 hover:text-gray-900 transition-colors font-normal",children:"Jobordbogen"})})]})]})]}),l.jsxs("div",{className:"pt-8 border-t border-gray-200/60 flex flex-col md:flex-row justify-between items-center gap-4",children:[l.jsx("p",{className:"text-sm text-gray-400 font-normal",children:"© 2026 Arbejd.com. Alle rettigheder forbeholdes."}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("a",{href:"#",className:"text-sm text-gray-400 hover:text-gray-900 transition-colors font-normal",children:"Privatlivspolitik"}),l.jsx("a",{href:"#",className:"text-sm text-gray-400 hover:text-gray-900 transition-colors font-normal",children:"Handelsbetingelser"}),l.jsx("a",{href:"#",className:"text-sm text-gray-400 hover:text-gray-900 transition-colors font-normal",children:"Cookies"})]})]})]})})]})}function Qn(u){return u instanceof Date?u.toISOString():typeof u=="string"?u:""}function Gh(u){const s=[u.road,u.houseNum,u.zip,u.zipName].filter(c=>typeof c=="string"&&c.trim().length>0).join(" ");return{id:u.id,title:u.title??"Job",companyName:u.hiringCompanyName??"Ukendt virksomhed",occupationName:u.occupation?.name??"",address:s||u.zipName||"Ukendt adresse",description:u.description??"",applicationDeadline:Qn(u.applicationDeadline),websiteUrl:u.applicationUrl||u.hiringCompanyUrl||"",logoUrl:u.logoUrl||"",fromJobnet:!0,isSaved:!1,isApplied:!!u.applied,isFullTime:typeof u.isFullTime=="boolean"?u.isFullTime:null,workTimes:Array.isArray(u.workTimes)?u.workTimes:[],contactName:u.contactName??"",hiringCompanyName:u.hiringCompanyName??"",datePosted:Qn(u.datePosted),employmentDate:Qn(u.employmentDate),startAsSoonAsPossible:typeof u.startAsSoonAsPossible=="boolean"?u.startAsSoonAsPossible:null,numberOfPositions:typeof u.numberOfPositions=="number"?u.numberOfPositions:null}}function Yh(u,s){return{id:u,title:s.title??"Job",companyName:s.companyName??"Ukendt virksomhed",occupationName:s.position??"",address:"",description:[s.descriptionIntro,s.descriptionPosition,s.descriptionOffer].filter(c=>typeof c=="string"&&c.trim().length>0).join(` + +`),applicationDeadline:Qn(s.applicationDeadline),websiteUrl:s.website??"",logoUrl:"",fromJobnet:!1,isSaved:!1,isApplied:!!s.appliedJob,isFullTime:null,workTimes:Array.isArray(s.workTimes)?s.workTimes:[],contactName:"",hiringCompanyName:s.companyName??"",datePosted:"",employmentDate:Qn(s.fromDate),startAsSoonAsPossible:null,numberOfPositions:typeof s.numberOfPositions=="number"?s.numberOfPositions:null}}class wx{constructor(s=new vo){this.jobService=s}async getDetail(s,c){if(c)try{const o=await this.jobService.getJobNetJobDetail(s);return Gh(o)}catch{const o=await this.jobService.getJobDetail(s);return Yh(s,o)}try{const o=await this.jobService.getJobDetail(s);return Yh(s,o)}catch{const o=await this.jobService.getJobNetJobDetail(s);return Gh(o)}}async toggleBookmark(s,c,o){const h=c?"star":"arbejd.com";await this.jobService.bookmarkJobV2(s,o,h)}async markAsApplied(s,c){if(c){await this.jobService.toggleApplyJobnetjob(s,!0);return}await this.jobService.applyJob(s)}}function _x(u){return u.trim().slice(0,1).toUpperCase()||"A"}function eo(u){if(!u)return"Ikke angivet";const s=new Date(u);return Number.isNaN(s.getTime())?u:new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(s)}function Ax(u){if(!u.trim())return"";if(typeof window>"u")return u;const c=new DOMParser().parseFromString(u,"text/html");c.querySelectorAll("script, style, iframe, object, embed, link, meta").forEach(o=>o.remove());for(const o of Array.from(c.body.querySelectorAll("*")))for(const h of Array.from(o.attributes)){const g=h.name.toLowerCase(),H=h.value.trim().toLowerCase();if(g.startsWith("on")){o.removeAttribute(h.name);continue}if((g==="href"||g==="src")&&H.startsWith("javascript:")){o.removeAttribute(h.name);continue}(g==="style"||g==="srcdoc")&&o.removeAttribute(h.name)}return c.body.innerHTML}function Tx(u){return u.isFullTime===!0?"Fuldtid":u.isFullTime===!1?"Deltid":u.workTimes.length>0?"Fleksibel arbejdstid":"Ikke oplyst"}function zx({fromJobnet:u,jobId:s,onBack:c,onLogout:o,onNavigate:h,onToggleTheme:g,theme:M}){const H=_.useMemo(()=>new wx,[]),R=_.useMemo(()=>new ks,[]),[j,B]=_.useState({name:"Lasse"}),[T,V]=_.useState(null),[J,P]=_.useState(!0),[X,he]=_.useState(""),[ie,ne]=_.useState(!1),[Y,K]=_.useState(!1),[ee,Z]=_.useState(!1),[D,$]=_.useState(!1);_.useEffect(()=>{let ue=!0;async function Ae(){P(!0),he("");const[Ne,le]=await Promise.allSettled([R.getCandidateProfile(),H.getDetail(s,u)]);ue&&(Ne.status==="fulfilled"&&B(Ne.value),le.status==="fulfilled"?(V(le.value),ne(!!le.value.isSaved),K(!!le.value.isApplied)):(V(null),he("Kunne ikke hente jobdetaljer. Proev igen.")),P(!1))}return Ae(),()=>{ue=!1}},[H,u,s,R]);async function de(){if(!(!T||ee)){Z(!0);try{await H.toggleBookmark(T.id,T.fromJobnet,!ie),ne(ue=>!ue)}finally{Z(!1)}}}async function te(){if(!(!T||Y||D)){$(!0);try{await H.markAsApplied(T.id,T.fromJobnet),K(!0)}finally{$(!1)}}}const oe=_.useMemo(()=>Ax(T?.description??""),[T?.description]);return l.jsxs("section",{className:`dash-root ${M==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"jobs",onNavigate:h}),l.jsxs("main",{className:"dash-main custom-scrollbar",children:[l.jsx(Qt,{name:j.name,imageUrl:j.imageUrl,onLogout:o,theme:M,onToggleTheme:g}),l.jsx("div",{className:"job-detail-back-row",children:l.jsxs("button",{type:"button",className:"job-detail-back-btn",onClick:c,children:[l.jsx(mo,{size:15,strokeWidth:1.8}),l.jsx("span",{children:"Tilbage til jobs"})]})}),J?l.jsx("p",{className:"dash-loading",children:"Indlaeser jobdetaljer..."}):null,!J&&X?l.jsx("p",{className:"dash-loading",children:X}):null,!J&&T?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"job-detail-header",children:[l.jsx("div",{className:"job-detail-logo-wrap",children:T.logoUrl?l.jsx("img",{src:T.logoUrl,alt:T.companyName,className:"job-detail-logo-image"}):l.jsx("div",{className:"job-detail-logo-fallback",children:_x(T.companyName)})}),l.jsxs("div",{className:"job-detail-heading",children:[l.jsx("h1",{children:T.title||"Jobdetaljer"}),l.jsxs("div",{className:"job-detail-meta",children:[l.jsxs("span",{children:[l.jsx(lo,{size:14,strokeWidth:1.8})," ",T.companyName||"Virksomhed"]}),l.jsxs("span",{children:[l.jsx(Xn,{size:14,strokeWidth:1.8})," ",T.address||"Lokation ikke angivet"]}),l.jsxs("span",{children:[l.jsx(no,{size:14,strokeWidth:1.8})," ",Tx(T)]})]})]})]}),l.jsxs("div",{className:"job-detail-grid",children:[l.jsxs("section",{className:"job-detail-main-card dash-card",children:[l.jsxs("div",{className:"job-detail-section",children:[l.jsx("h2",{children:"Om rollen"}),oe?l.jsx("div",{className:"job-detail-rich-html",dangerouslySetInnerHTML:{__html:oe}}):l.jsx("p",{children:"Ingen jobbeskrivelse er tilgaengelig endnu."})]}),l.jsxs("div",{className:"job-detail-section",children:[l.jsx("h3",{children:"Jobinformation"}),l.jsxs("div",{className:"job-detail-info-grid",children:[l.jsxs("div",{children:[l.jsx("span",{children:"Ansøgningsfrist"}),l.jsx("strong",{children:eo(T.applicationDeadline)})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Opslået"}),l.jsx("strong",{children:eo(T.datePosted)})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Startdato"}),l.jsx("strong",{children:eo(T.employmentDate)})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Stillinger"}),l.jsx("strong",{children:T.numberOfPositions??"Ikke angivet"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Kontaktperson"}),l.jsx("strong",{children:T.contactName||"Ikke angivet"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Kilde"}),l.jsx("strong",{children:T.fromJobnet?"Jobnet":"Arbejd.com"})]})]})]})]}),l.jsxs("aside",{className:"job-detail-side-col",children:[l.jsxs("article",{className:"dash-card job-detail-actions-card",children:[l.jsx("h2",{children:"Handlinger"}),l.jsxs("button",{type:"button",className:"job-detail-action-primary",children:[l.jsxs("span",{children:[l.jsx(Kn,{size:16,strokeWidth:1.8})," Generer ansøgning"]}),l.jsx(La,{size:14,strokeWidth:1.8})]}),l.jsxs("button",{type:"button",className:"job-detail-action-secondary",children:[l.jsxs("span",{children:[l.jsx(Fv,{size:16,strokeWidth:1.8})," Simuler jobsamtale"]}),l.jsx(La,{size:14,strokeWidth:1.8})]}),l.jsx("div",{className:"job-detail-action-divider"}),l.jsxs("button",{type:"button",className:"job-detail-text-action",onClick:()=>{de()},disabled:ee,children:[l.jsx(bp,{size:16,strokeWidth:1.8}),ie?"Fjern fra gemte jobs":"Gem job"]}),l.jsxs("button",{type:"button",className:"job-detail-text-action",children:[l.jsx(Ns,{size:16,strokeWidth:1.8}),"Del via email"]}),T.websiteUrl?l.jsxs("a",{href:T.websiteUrl,target:"_blank",rel:"noreferrer",className:"job-detail-text-action link",children:[l.jsx(js,{size:16,strokeWidth:1.8}),"Åbn på nettet"]}):null,l.jsxs("button",{type:"button",className:Y?"job-detail-text-action success is-done":"job-detail-text-action success",onClick:()=>{te()},disabled:Y||D,children:[l.jsx(We,{size:16,strokeWidth:1.8}),Y?"Markeret som søgt":"Marker som søgt"]})]}),l.jsxs("article",{className:"dash-card job-detail-company-card",children:[l.jsx("h3",{children:"Om virksomheden"}),l.jsxs("div",{className:"job-detail-company-list",children:[l.jsxs("div",{children:[l.jsx("span",{children:"Virksomhed"}),l.jsx("strong",{children:T.hiringCompanyName||T.companyName||"Ukendt"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Stilling"}),l.jsx("strong",{children:T.occupationName||"Ikke angivet"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Website"}),l.jsx("strong",{children:T.websiteUrl||"Ikke angivet"})]})]})]})]})]})]}):null]})]})}const Jh=[2,4,6,8,10,12,24],Dx=[{id:"job-1",title:"Senior Frontend-udvikler",companyName:"Lunar",occupationName:"Frontend",descriptionIntro:"Vi søger en erfaren frontend-udvikler til at lede vores nye team.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:5,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:98},{id:"job-2",title:"UX/UI Designer (Deltid)",companyName:"Pleo",occupationName:"Design",descriptionIntro:"Hjælp os med at skabe brugervenlige flows for vores expense management platform.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:12,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:95},{id:"job-3",title:"React-udvikler",companyName:"Zendesk",occupationName:"Frontend",descriptionIntro:"Bliv en del af vores kerne-team i Kobenhavn og byg software i topklasse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:2,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:89},{id:"job-4",title:"Full Stack Web-udvikler",companyName:"Trustpilot",occupationName:"Full stack",descriptionIntro:"Vi leder efter en passioneret Full Stack Developer (Node.js/React).",address:"Remote",time:"",applicationDeadline:"",candidateDistance:null,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:85},{id:"job-5",title:"Frontend-arkitekt",companyName:"Novo Nordisk",occupationName:"Frontend",descriptionIntro:"Vær med til at designe arkitekturen for interne medicinske data-platforme.",address:"Bagsvaerd",time:"",applicationDeadline:"",candidateDistance:18,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:72},{id:"job-6",title:"Product Designer",companyName:"Podimo",occupationName:"Design",descriptionIntro:"Vi mangler en skarp Product Designer til at forme fremtidens lytteoplevelse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:3,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:68}];function Mx(u){return u.trim().slice(0,1).toUpperCase()||"A"}function Qh(u){return u.address.toLowerCase().includes("remote")?"Remote":typeof u.candidateDistance=="number"?`${Math.max(0,Math.round(u.candidateDistance))} km vaek`:u.address||"Lokation ikke angivet"}function Ex(u){return u.companyLogoImage||u.logoUrl||""}function Xh({item:u}){const[s,c]=_.useState(!1),o=Ex(u);return o.length>0&&!s?l.jsx("div",{className:"jobs-card-logo jobs-card-logo-image-wrap",children:l.jsx("img",{src:o,alt:u.companyName||"Virksomhed",className:"jobs-card-logo-image",onError:()=>c(!0)})}):l.jsx("div",{className:"jobs-card-logo",children:Mx(u.companyName)})}function Cx(u){return u.workTypePartTime?"deltid":"fast"}function Ux({onLogout:u,onNavigate:s,onOpenJobDetail:c,onToggleTheme:o,theme:h}){const g=_.useMemo(()=>new ks,[]),[M,H]=_.useState({name:"Lasse"}),[R,j]=_.useState(""),[B,T]=_.useState("sidebar"),[V,J]=_.useState("fast"),[P,X]=_.useState(15),[he,ie]=_.useState(24),[ne,Y]=_.useState(["Frontend-udvikler","UX/UI Designer"]),[K,ee]=_.useState(""),[Z,D]=_.useState([]),[$,de]=_.useState(!0),[te,oe]=_.useState(6),ue=_.useCallback(async()=>{try{const m=await g.getTabItems("jobs");D(m),oe(6)}catch{D([]),oe(6)}},[g]);_.useEffect(()=>{let m=!0;async function S(){try{const L=await g.getSavedFilter();if(!m)return;J(Cx(L)),X(L.workDistance??15),ie(L.partTimeHours??24),j(L.distanceCenterName??"")}catch{}if(await ue(),m){const L=await g.getCandidateProfile();m&&H(L),de(!1)}}return S(),()=>{m=!1}},[ue,g]);async function Ae(){const m={escoIds:[],workTypePermanent:V==="fast",workTypePartTime:V==="deltid",workDistance:P,partTimeHours:V==="deltid"?he:null,distanceCenterName:R,latitude:null,longitude:null};de(!0);try{const S=await g.applyFiltersAndGetJobs(m,{searchText:R,desiredTitles:ne});D(S),oe(6)}catch{D([]),oe(6)}de(!1)}const Ne=Z.length>0?Z:Dx,le=Ne.slice(0,Math.min(te,Ne.length)),v=tem==="sidebar"?"top":"sidebar")}function b(m){Y(S=>S.filter(L=>L!==m))}function q(m){const S=m.trim();S&&(Y(L=>L.includes(S)?L:[...L,S]),ee(""))}function F(){oe(m=>Math.min(m+6,Ne.length))}return l.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"jobs",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar",children:[l.jsx(Qt,{name:M.name,imageUrl:M.imageUrl,onLogout:u,theme:h,onToggleTheme:o,actions:l.jsxs("button",{type:"button",className:"jobs-layout-toggle",onClick:E,children:[B==="sidebar"?l.jsx(rm,{size:16,strokeWidth:1.8}):l.jsx(sm,{size:16,strokeWidth:1.8}),l.jsx("span",{children:B==="sidebar"?"Top-layout":"Side-layout"})]})}),l.jsxs("div",{className:"jobs-page-head",children:[l.jsx("h1",{children:"Find dit naeste job"}),l.jsx("p",{children:"Sog og filtrer for at finde det perfekte match til din profil."})]}),B==="sidebar"?l.jsxs("div",{className:"jobs-grid",children:[l.jsxs("aside",{className:"jobs-filter dash-card",children:[l.jsxs("h2",{children:[l.jsx(lo,{size:18,strokeWidth:1.8})," Filtre"]}),l.jsxs("div",{className:"jobs-filter-block",children:[l.jsx("label",{children:"Sog jobtitel eller virksomhed"}),l.jsxs("div",{className:"jobs-search-wrap",children:[l.jsx(uo,{size:16,strokeWidth:1.8}),l.jsx("input",{type:"text",placeholder:"F.eks. Frontend Udvikler...",value:R,onChange:m=>j(m.target.value)})]})]}),l.jsxs("div",{className:"jobs-filter-block",children:[l.jsx("label",{children:"Onskede jobtitler"}),l.jsxs("div",{className:"jobs-title-picker",children:[l.jsxs("div",{className:"jobs-title-input-wrap",children:[ne.map(m=>l.jsxs("span",{className:"jobs-title-chip",children:[m,l.jsx("button",{type:"button",onClick:()=>b(m),"aria-label":`Fjern ${m}`,children:l.jsx(fo,{size:12,strokeWidth:2})})]},m)),l.jsx("input",{type:"text",value:K,onChange:m=>ee(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),q(K))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),l.jsxs("div",{className:"jobs-title-suggestions",children:[l.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>q("Frontend-udvikler"),children:[l.jsx("span",{children:"Frontend-udvikler"}),l.jsx(We,{size:16,strokeWidth:1.8})]}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Backend-udvikler"),children:l.jsx("span",{children:"Backend-udvikler"})}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Full Stack-udvikler"),children:l.jsx("span",{children:"Full Stack-udvikler"})}),l.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>q("UX/UI Designer"),children:[l.jsx("span",{children:"UX/UI Designer"}),l.jsx(We,{size:16,strokeWidth:1.8})]}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Product Manager"),children:l.jsx("span",{children:"Product Manager"})})]})]})]}),l.jsx("div",{className:"jobs-separator"}),l.jsxs("div",{className:"jobs-filter-block",children:[l.jsx("label",{children:"Ansaettelsestype"}),l.jsxs("div",{className:"jobs-radio-grid",children:[l.jsx("button",{type:"button",className:V==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>J("fast"),children:"Fast (Fuldtid)"}),l.jsx("button",{type:"button",className:V==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>J("deltid"),children:"Deltid"})]})]}),l.jsxs("div",{className:"jobs-filter-block jobs-range-block",children:[l.jsxs("div",{className:"jobs-range-head",children:[l.jsx("label",{children:"Maks. afstand"}),l.jsxs("span",{children:[P," km"]})]}),l.jsx("input",{type:"range",min:0,max:50,value:P,onChange:m=>X(Number(m.target.value))}),l.jsxs("div",{className:"jobs-range-labels",children:[l.jsx("span",{children:"0 km"}),l.jsx("span",{children:"50+ km"})]})]}),l.jsx("div",{className:"jobs-separator"}),l.jsxs("div",{className:"jobs-filter-block",children:[l.jsx("label",{children:"Timer (ved deltid)"}),l.jsx("p",{children:"Vaelg onsket timeantal pr. uge"}),l.jsx("div",{className:"jobs-hours-grid",children:Jh.map(m=>l.jsx("button",{type:"button",className:he===m?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>ie(m),children:m},m))})]}),l.jsx("button",{type:"button",className:"jobs-apply-btn",onClick:()=>{Ae()},children:"Opdater resultater"})]}),l.jsxs("section",{className:"jobs-content",children:[l.jsxs("div",{className:"jobs-content-head",children:[l.jsx("h2",{children:"Seneste jobs"}),l.jsxs("span",{children:["Viser ",Z.length>0?Z.length:142," resultater"]})]}),$?l.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,l.jsx("div",{className:"jobs-cards",children:le.map(m=>l.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>c(m.id,m.fromJobnet,"jobs"),onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),c(m.id,m.fromJobnet,"jobs"))},children:[l.jsx("div",{className:"jobs-card-top",children:l.jsx(Xh,{item:m})}),l.jsxs("div",{className:"jobs-card-title",children:[l.jsx("h3",{children:m.title||"Stilling"}),l.jsx("p",{children:m.companyName||"Virksomhed"})]}),l.jsx("p",{className:"jobs-card-description",children:m.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),l.jsxs("div",{className:"jobs-card-bottom",children:[l.jsxs("div",{className:"jobs-card-distance",children:[m.address.toLowerCase().includes("remote")?l.jsx(co,{size:15,strokeWidth:1.8}):l.jsx(oo,{size:15,strokeWidth:1.8}),l.jsx("span",{children:Qh(m)})]}),l.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:S=>{S.stopPropagation(),c(m.id,m.fromJobnet,"jobs")},children:l.jsx(La,{size:16,strokeWidth:1.8})})]})]},m.id))}),l.jsx("div",{className:"jobs-load-more-wrap",children:l.jsx("button",{type:"button",className:"jobs-load-more",onClick:F,disabled:!v,children:v?"Indlaes flere jobs":"Alle jobs er vist"})})]})]}):l.jsxs("section",{className:"jobs-top-layout",children:[l.jsxs("div",{className:"jobs-top-filters dash-card",children:[l.jsxs("div",{className:"jobs-top-filter-title",children:[l.jsx(lo,{size:18,strokeWidth:1.8}),l.jsx("h2",{children:"Filtre"})]}),l.jsxs("div",{className:"jobs-top-controls",children:[l.jsxs("div",{className:"jobs-filter-block no-margin",children:[l.jsx("label",{children:"Sog noegleord eller virksomhed"}),l.jsxs("div",{className:"jobs-search-wrap",children:[l.jsx(uo,{size:16,strokeWidth:1.8}),l.jsx("input",{type:"text",placeholder:"F.eks. Lunar, React...",value:R,onChange:m=>j(m.target.value)})]})]}),l.jsxs("div",{className:"jobs-filter-block no-margin",children:[l.jsx("label",{children:"Ansaettelsestype"}),l.jsxs("div",{className:"jobs-radio-grid",children:[l.jsx("button",{type:"button",className:V==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>J("fast"),children:"Fast"}),l.jsx("button",{type:"button",className:V==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>J("deltid"),children:"Deltid"})]})]}),l.jsxs("div",{className:"jobs-filter-block no-margin jobs-top-range",children:[l.jsxs("div",{className:"jobs-range-head",children:[l.jsx("label",{children:"Maks. afstand"}),l.jsxs("span",{children:[P," km"]})]}),l.jsx("input",{type:"range",min:0,max:50,value:P,onChange:m=>X(Number(m.target.value))})]}),l.jsx("button",{type:"button",className:"jobs-apply-btn jobs-top-apply",onClick:()=>{Ae()},children:"Opdater resultater"})]}),l.jsxs("div",{className:"jobs-filter-block no-margin",children:[l.jsx("label",{children:"Onskede jobtitler"}),l.jsxs("div",{className:"jobs-title-picker",children:[l.jsxs("div",{className:"jobs-title-input-wrap",children:[ne.map(m=>l.jsxs("span",{className:"jobs-title-chip",children:[m,l.jsx("button",{type:"button",onClick:()=>b(m),"aria-label":`Fjern ${m}`,children:l.jsx(fo,{size:12,strokeWidth:2})})]},m)),l.jsx("input",{type:"text",value:K,onChange:m=>ee(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),q(K))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),l.jsxs("div",{className:"jobs-title-suggestions",children:[l.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>q("Frontend-udvikler"),children:[l.jsx("span",{children:"Frontend-udvikler"}),l.jsx(We,{size:16,strokeWidth:1.8})]}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Backend-udvikler"),children:l.jsx("span",{children:"Backend-udvikler"})}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Full Stack-udvikler"),children:l.jsx("span",{children:"Full Stack-udvikler"})}),l.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>q("UX/UI Designer"),children:[l.jsx("span",{children:"UX/UI Designer"}),l.jsx(We,{size:16,strokeWidth:1.8})]}),l.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>q("Product Manager"),children:l.jsx("span",{children:"Product Manager"})})]})]})]}),l.jsx("div",{className:"jobs-separator top-margin"}),l.jsxs("div",{className:"jobs-hours-row",children:[l.jsxs("div",{children:[l.jsx("label",{children:"Timer (ved deltid)"}),l.jsx("p",{children:"Vaelg onsket timeantal pr. uge"})]}),l.jsx("div",{className:"jobs-hours-grid",children:Jh.map(m=>l.jsx("button",{type:"button",className:he===m?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>ie(m),children:m},m))})]})]}),l.jsxs("section",{className:"jobs-content",children:[l.jsxs("div",{className:"jobs-content-head",children:[l.jsx("h2",{children:"Seneste jobs"}),l.jsxs("span",{children:["Viser ",Z.length>0?Z.length:142," resultater"]})]}),$?l.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,l.jsx("div",{className:"jobs-cards jobs-cards-top",children:le.map(m=>l.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>c(m.id,m.fromJobnet,"jobs"),onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),c(m.id,m.fromJobnet,"jobs"))},children:[l.jsx("div",{className:"jobs-card-top",children:l.jsx(Xh,{item:m})}),l.jsxs("div",{className:"jobs-card-title",children:[l.jsx("h3",{children:m.title||"Stilling"}),l.jsx("p",{children:m.companyName||"Virksomhed"})]}),l.jsx("p",{className:"jobs-card-description",children:m.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),l.jsxs("div",{className:"jobs-card-bottom",children:[l.jsxs("div",{className:"jobs-card-distance",children:[m.address.toLowerCase().includes("remote")?l.jsx(co,{size:15,strokeWidth:1.8}):l.jsx(oo,{size:15,strokeWidth:1.8}),l.jsx("span",{children:Qh(m)})]}),l.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:S=>{S.stopPropagation(),c(m.id,m.fromJobnet,"jobs")},children:l.jsx(La,{size:16,strokeWidth:1.8})})]})]},m.id))}),l.jsx("div",{className:"jobs-load-more-wrap",children:l.jsx("button",{type:"button",className:"jobs-load-more",onClick:F,disabled:!v,children:v?"Indlaes flere jobs":"Alle jobs er vist"})})]})]})]})]})}function ys(u){if(!u)return 0;const c=(u instanceof Date?u:new Date(u)).getTime();return Number.isNaN(c)?0:c}function vm(u){if(!u)return"--:--";const s=u instanceof Date?u:new Date(u);return Number.isNaN(s.getTime())?"--:--":new Intl.DateTimeFormat("da-DK",{hour:"2-digit",minute:"2-digit"}).format(s)}function Lx(u){if(!u)return"";const s=u instanceof Date?u:new Date(u);if(Number.isNaN(s.getTime()))return"";const c=new Date,o=1440*60*1e3,h=Math.floor((new Date(c.getFullYear(),c.getMonth(),c.getDate()).getTime()-new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime())/o);return h===0?vm(s):h===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(s)}function Ox(u){const s=new Date,c=new Date(u.getFullYear(),u.getMonth(),u.getDate()),o=new Date(s.getFullYear(),s.getMonth(),s.getDate()),h=Math.floor((o.getTime()-c.getTime())/(1440*60*1e3));return h===0?"I dag":h===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(u)}function Yn(u){return!u.fromCandidate&&!u.seen}function Zh(u){return u.allMessages.filter(Yn).length}function qn(u){return u.companyLogoUrl||u.companyLogo||""}function Rx(u){return{...u,allMessages:[...u.allMessages??[]].sort((s,c)=>ys(s.timeSent)-ys(c.timeSent))}}function Kh(){const u=new Date,s=new Date(u.getTime()-600*1e3),c=new Date(u.getTime()-7200*1e3),o=(M,H,R,j,B)=>({threadId:M,text:H,fromCandidate:R,timeSent:j,seen:B}),h=[o("thread-techcorp","Hej Lasse! Mange tak for din ansøgning.",!1,c),o("thread-techcorp","Mange tak, det lyder rigtig spændende.",!0,new Date(c.getTime()+1200*1e3),new Date(c.getTime()+1800*1e3)),o("thread-techcorp","Vi vil gerne invitere dig til samtale.",!1,s)],g=[o("thread-lunar","Mange tak for din opdaterede portefølje.",!1,new Date(u.getTime()-1560*60*1e3),new Date(u.getTime()-1500*60*1e3))];return[{id:"thread-techcorp",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=33",companyName:"TechCorp A/S",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:h,latestMessage:h[h.length-1],title:"Frontend Udvikler",messagesLoaded:!0,jobPostingId:"job-1",jobPosting:void 0,isFromSupport:!1},{id:"thread-lunar",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=12",companyName:"Lunar Bank",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:g,latestMessage:g[g.length-1],title:"Senior UX Designer",messagesLoaded:!0,jobPostingId:"job-2",jobPosting:void 0,isFromSupport:!1}]}function Vx({onLogout:u,onNavigate:s,onToggleTheme:c,theme:o}){const h=_.useMemo(()=>new pm,[]),[g,M]=_.useState("Lasse"),[H,R]=_.useState(void 0),[j,B]=_.useState([]),[T,V]=_.useState(!0),[J,P]=_.useState(""),[X,he]=_.useState("all"),[ie,ne]=_.useState(""),[Y,K]=_.useState(""),[ee,Z]=_.useState(()=>typeof window<"u"?window.innerWidth<=1e3:!1),[D,$]=_.useState("threads");_.useEffect(()=>{let v=!0;async function E(){V(!0);try{const b=await h.getCandidateProfile();v&&(M(b.name),R(b.imageUrl));const q=await h.getThreads();if(!v)return;const F=(q.length>0?q:Kh()).map(Rx);B(F),ne(F[0]?.id||"")}catch{if(!v)return;const b=Kh();B(b),ne(b[0]?.id||"")}finally{v&&V(!1)}}return E(),()=>{v=!1}},[h]),_.useEffect(()=>{function v(){const E=window.innerWidth<=1e3;Z(E),E?ie||$("threads"):$("chat")}return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)},[ie]);const de=_.useMemo(()=>{const v=J.trim().toLowerCase();return j.filter(E=>X==="unread"&&Zh(E)===0||X==="companies"&&E.isFromSupport?!1:v?E.companyName.toLowerCase().includes(v)||(E.latestMessage?.text||"").toLowerCase().includes(v):!0)},[X,J,j]),te=_.useMemo(()=>j.find(v=>v.id===ie)||de[0],[ie,de,j]),oe=_.useMemo(()=>[...te?.allMessages||[]].sort((v,E)=>ys(v.timeSent)-ys(E.timeSent)),[te]);async function ue(v){ne(v.id),ee&&$("chat");const E=[...v.allMessages].reverse().find(b=>Yn(b));E?.id&&(h.markThreadReadByMessageId(E.id),B(b=>b.map(q=>q.id!==v.id?q:{...q,allMessages:q.allMessages.map(F=>Yn(F)?{...F,seen:new Date}:F)})))}function Ae(){$("threads")}async function Ne(){const v=j.flatMap(E=>E.allMessages).filter(E=>Yn(E)&&!!E.id);await Promise.all(v.map(E=>h.markThreadReadByMessageId(E.id))),B(E=>E.map(b=>({...b,allMessages:b.allMessages.map(q=>Yn(q)?{...q,seen:new Date}:q)})))}async function le(){const v=Y.trim();if(!te||!v)return;const E={threadId:te.id,text:v,fromCandidate:!0,timeSent:new Date};K(""),B(b=>b.map(q=>{if(q.id!==te.id)return q;const F=[...q.allMessages,E];return{...q,allMessages:F,latestMessage:E}}));try{const b=await h.sendMessage(te.id,v);B(q=>q.map(F=>{if(F.id!==te.id)return F;const S=[...F.allMessages.filter(L=>L!==E),b];return{...F,allMessages:S,latestMessage:b}}))}catch{}}return l.jsxs("section",{className:`dash-root ${o==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"messages",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar msg-main",children:[l.jsx(Qt,{name:g,imageUrl:H,onLogout:u,theme:o,onToggleTheme:c}),l.jsxs("div",{className:"msg-head",children:[l.jsxs("div",{children:[l.jsx("h1",{children:"Beskeder"}),l.jsx("p",{children:"Kommuniker med virksomheder og hold styr på dine ansøgninger."})]}),l.jsxs("button",{type:"button",className:"msg-mark-btn",onClick:()=>{Ne()},children:[l.jsx(zp,{size:16,strokeWidth:1.8})," Marker alle som læst"]})]}),l.jsxs("div",{className:`msg-layout ${ee&&D==="chat"?"mobile-chat":"mobile-threads"}`,children:[!ee||D==="threads"?l.jsxs("section",{className:"msg-threads",children:[l.jsxs("div",{className:"msg-threads-head",children:[l.jsxs("div",{className:"msg-search-wrap",children:[l.jsx(uo,{size:16,strokeWidth:1.8}),l.jsx("input",{value:J,onChange:v=>P(v.target.value),type:"text",placeholder:"Søg i beskeder..."})]}),l.jsxs("div",{className:"msg-filter-row",children:[l.jsx("button",{type:"button",className:X==="all"?"active":"",onClick:()=>he("all"),children:"Alle"}),l.jsx("button",{type:"button",className:X==="unread"?"active":"",onClick:()=>he("unread"),children:"Ulæste"}),l.jsx("button",{type:"button",className:X==="companies"?"active":"",onClick:()=>he("companies"),children:"Virksomheder"})]})]}),l.jsxs("div",{className:"msg-thread-list custom-scrollbar",children:[T?l.jsx("p",{className:"dash-loading",children:"Indlaeser beskeder..."}):null,!T&&de.length===0?l.jsx("p",{className:"dash-loading",children:"Ingen tråde fundet."}):null,de.map(v=>{const E=Zh(v),b=te?.id===v.id,q=qn(v);return l.jsxs("button",{type:"button",className:b?"msg-thread-item active":"msg-thread-item",onClick:()=>{ue(v)},children:[l.jsxs("div",{className:"msg-thread-avatar-wrap",children:[q?l.jsx("img",{src:q,alt:v.companyName,className:"msg-thread-avatar"}):l.jsx("div",{className:"msg-thread-avatar-fallback",children:v.companyName.slice(0,1).toUpperCase()}),l.jsx("span",{className:"msg-thread-online"})]}),l.jsxs("div",{className:"msg-thread-content",children:[l.jsxs("div",{className:"msg-thread-row",children:[l.jsx("h3",{children:v.companyName}),l.jsx("span",{children:Lx(v.latestMessage?.timeSent)})]}),l.jsx("p",{className:E>0?"unread":"",children:v.latestMessage?.text||"Ingen beskeder endnu"}),l.jsx("small",{children:v.title||"Stilling"})]}),E>0?l.jsx("div",{className:"msg-thread-unread",children:E}):null]},v.id)})]})]}):null,!ee||D==="chat"?l.jsxs("section",{className:"msg-chat",children:[l.jsx("div",{className:"msg-chat-head",children:te?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"msg-chat-company",children:[ee?l.jsx("button",{type:"button",className:"msg-mobile-back-btn",onClick:Ae,"aria-label":"Tilbage til beskeder",children:l.jsx(mo,{size:16,strokeWidth:1.9})}):null,qn(te)?l.jsx("img",{src:qn(te),alt:te.companyName,className:"msg-chat-avatar"}):l.jsx("div",{className:"msg-chat-avatar-fallback",children:te.companyName.slice(0,1).toUpperCase()}),l.jsxs("div",{children:[l.jsx("h2",{children:te.companyName}),l.jsx("p",{children:te.title||"Rekruttering"})]})]}),l.jsxs("div",{className:"msg-chat-actions",children:[l.jsx("button",{type:"button","aria-label":"Ring",children:l.jsx(Vv,{size:16,strokeWidth:1.8})}),l.jsx("button",{type:"button","aria-label":"Info",children:l.jsx(cv,{size:16,strokeWidth:1.8})})]})]}):l.jsx("h2",{children:"Vælg en samtale"})}),l.jsx("div",{className:"msg-chat-body custom-scrollbar",children:oe.map((v,E)=>{const b=v.timeSent instanceof Date?v.timeSent:new Date(v.timeSent),q=E>0?oe[E-1]:void 0,F=q?.timeSent instanceof Date?q.timeSent:q?.timeSent?new Date(q.timeSent):void 0,m=!F||b.toDateString()!==F.toDateString();return l.jsxs("div",{children:[m?l.jsx("div",{className:"msg-day-sep",children:Ox(b)}):null,l.jsxs("div",{className:v.fromCandidate?"msg-bubble-row mine":"msg-bubble-row",children:[v.fromCandidate?null:qn(te)?l.jsx("img",{src:qn(te),alt:te.companyName,className:"msg-mini-avatar"}):l.jsx("div",{className:"msg-mini-avatar msg-mini-avatar-fallback",children:te.companyName.slice(0,1).toUpperCase()}),l.jsxs("div",{className:"msg-bubble-wrap",children:[l.jsx("span",{className:"msg-time",children:vm(v.timeSent)}),l.jsx("div",{className:v.fromCandidate?"msg-bubble mine":"msg-bubble",children:v.text})]})]})]},`${v.threadId}-${E}`)})}),l.jsx("div",{className:"msg-input-area",children:l.jsxs("div",{className:"msg-input-wrap",children:[l.jsx("button",{type:"button","aria-label":"Vedhæft",children:l.jsx(Uv,{size:18,strokeWidth:1.8})}),l.jsx("textarea",{rows:1,value:Y,onChange:v=>K(v.target.value),onKeyDown:v=>{v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),le())},placeholder:"Skriv din besked her..."}),l.jsx("button",{type:"button","aria-label":"Emoji",children:l.jsx(r1,{size:18,strokeWidth:1.8})}),l.jsxs("button",{type:"button",className:"msg-send-btn",onClick:()=>{le()},children:["Send ",l.jsx(a1,{size:15,strokeWidth:1.8})]})]})})]}):null]})]})]})}function xm(u){return typeof u=="object"&&u!==null?u:null}function mt(u){return typeof u=="string"?u:""}function to(u){return typeof u=="number"?u:null}function ao(u){if(typeof u=="boolean")return u;if(typeof u=="string"){const s=u.toLowerCase();if(s==="completed"||s==="done"||s==="true")return!0;if(s==="incomplete"||s==="pending"||s==="false")return!1}return null}function Hx(u){if(!u)return"";const s=new Date(u);return Number.isNaN(s.getTime())?"":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(s)}function Bx(u,s){const c=xm(u);if(!c)return null;const o=mt(c.id)||mt(c.interview_id)||`interview-${s}`,h=mt(c.job_name)||mt(c.job_title)||mt(c.title)||"Interview",g=mt(c.company_name)||mt(c.companyName)||"Ukendt virksomhed",M=mt(c.interview_date)||mt(c.created_at)||mt(c.updated_at)||mt(c.date),H=ao(c.is_completed)??ao(c.completed)??ao(c.status)??!0,R=to(c.duration_minutes)??to(c.duration)??to(c.length_minutes),j=mt(c.personality_name)||mt(c.simulation_personality_name)||mt(c.personality)||"Professionel";return{id:o,title:h,companyName:g,dateLabel:Hx(M),completed:H,durationMinutes:R,personality:j}}class qx{constructor(s=new ks,c=new xo){this.jobsViewModel=s,this.simulationService=c}async getCandidateProfile(){return this.jobsViewModel.getCandidateProfile()}async getJobs(){try{return await this.jobsViewModel.getTabItems("jobs")}catch{return[]}}async getPersonalities(){try{const s=await this.simulationService.listSimulationPersonalities();return Array.isArray(s)?s:[]}catch{return[]}}async getInterviews(s=12){try{const c=await this.simulationService.listInterviews(s,0),o=xm(c);return(Array.isArray(o?.interviews)?o.interviews:Array.isArray(c)?c:[]).map((g,M)=>Bx(g,M)).filter(g=>!!g)}catch{return[]}}}const Gx=[{id:"sim-1",title:"Senior Frontend-udvikler",companyName:"Lunar",completed:!0,durationMinutes:15,personality:"Professionel",dateLabel:"12. okt 2023"},{id:"sim-2",title:"Fullstack Developer",companyName:"Pleo",completed:!1,durationMinutes:20,personality:"Afslappet",dateLabel:"10. okt 2023"},{id:"sim-3",title:"UX Designer",companyName:"Trustpilot",completed:!0,durationMinutes:10,personality:"Sarkastisk",dateLabel:"05. okt 2023"},{id:"sim-4",title:"Product Manager",companyName:"Danske Bank",completed:!0,durationMinutes:5,personality:"Stress-test",dateLabel:"01. okt 2023"}];function Yx(u){return{id:u.id,title:u.title,companyName:u.companyName,completed:u.completed,durationMinutes:u.durationMinutes??15,personality:u.personality||"Professionel",dateLabel:u.dateLabel||"Nyligt"}}function Jx(u){return`${u.title||"Stilling"}${u.companyName?` · ${u.companyName}`:""}`}function Qx({onLogout:u,onNavigate:s,onOpenEvaluation:c,onToggleTheme:o,theme:h}){const g=_.useMemo(()=>new qx,[]),[M,H]=_.useState("Lasse"),[R,j]=_.useState(void 0),[B,T]=_.useState([]),[V,J]=_.useState([]),[P,X]=_.useState([]),[he,ie]=_.useState(!0),[ne,Y]=_.useState(""),[K,ee]=_.useState(""),[Z,D]=_.useState("Dansk"),[$,de]=_.useState("15"),[te,oe]=_.useState(!1);_.useEffect(()=>{let b=!0;async function q(){ie(!0);const[F,m,S,L]=await Promise.all([g.getCandidateProfile(),g.getJobs(),g.getInterviews(),g.getPersonalities()]);b&&(H(F.name),j(F.imageUrl),T(m),J(S.map(Yx)),X(L.map(G=>({id:G.id,name:G.name}))),m.length>0&&Y(G=>G||m[0].id),L.length>0&&ee(G=>G||String(L[0].id)),ie(!1))}return q(),()=>{b=!1}},[g]);const ue=V.length>0?V:Gx,Ae={id:"fallback-job",title:"Senior Frontend-udvikler",companyName:"Lunar"},Ne=B.length>0?B:[Ae],le=Ne.find(b=>b.id===ne)||Ne[0],v=P.find(b=>String(b.id)===K)?.name||"Professionel & Grundig",E=[{id:"ai-1",sender:"ai",text:`Hej Lasse, og velkommen til! Vi er rigtig glade for at have dig til samtalen omkring rollen som ${le.title||"Senior Frontend-udvikler"}. Kan du fortælle om et nyligt projekt, hvor din erfaring med React gjorde en stor forskel for slutresultatet?`},{id:"me-1",sender:"me",text:"I mit seneste projekt migrerede vi en stor dashboard-løsning til Next.js. Jeg implementerede virtualisering og strammere state management med Zustand, hvilket reducerede load-tid med over 60%."},{id:"ai-2",sender:"ai",text:"Det lyder som en rigtig solid forbedring. Når du nævner Zustand frem for Redux, hvad var overvejelserne bag det valg i jeres use-case?"}];return l.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"simulator",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar sim-main",children:[l.jsx(Qt,{name:M,imageUrl:R,onLogout:u,theme:h,onToggleTheme:o,actions:te?l.jsxs("button",{type:"button",className:"sim-leave-btn",onClick:()=>oe(!1),children:[l.jsx(mo,{size:15,strokeWidth:1.8}),l.jsx("span",{children:"Forlad simulering"})]}):void 0}),te?l.jsxs("div",{className:"sim-live-wrap",children:[l.jsxs("div",{className:"sim-live-head",children:[l.jsx("h1",{children:"Live Jobsamtale"}),l.jsx("p",{children:"Du er i øjeblikket i en simuleret teknisk samtale. Brug mikrofonen til at svare."})]}),l.jsxs("div",{className:"sim-live-grid",children:[l.jsxs("section",{className:"sim-live-chat-card",children:[l.jsxs("div",{className:"sim-live-chat-head",children:[l.jsxs("div",{className:"sim-live-ai-row",children:[l.jsx("div",{className:"sim-live-ai-avatar",children:l.jsx(ql,{size:18,strokeWidth:1.8})}),l.jsxs("div",{children:[l.jsx("h3",{children:"Sarah (AI Interviewer)"}),l.jsxs("p",{children:[l.jsx(Kv,{size:12,strokeWidth:1.8})," Venter på dit svar..."]})]})]}),l.jsx("button",{type:"button",className:"sim-live-more-btn",children:l.jsx(Fp,{size:16,strokeWidth:1.8})})]}),l.jsx("div",{className:"sim-live-chat-scroll custom-scrollbar",children:E.map(b=>l.jsxs("div",{className:b.sender==="ai"?"sim-live-msg-row ai":"sim-live-msg-row me",children:[l.jsx("div",{className:b.sender==="ai"?"sim-live-msg-avatar ai":"sim-live-msg-avatar me",children:b.sender==="ai"?l.jsx(ql,{size:13,strokeWidth:1.8}):R?l.jsx("img",{src:R,alt:M}):l.jsx("span",{children:M.slice(0,1).toUpperCase()})}),l.jsx("div",{className:b.sender==="ai"?"sim-live-msg-bubble ai":"sim-live-msg-bubble me",children:l.jsx("p",{children:b.text})})]},b.id))}),l.jsxs("div",{className:"sim-live-voice",children:[l.jsxs("div",{className:"sim-live-time-row",children:[l.jsxs("div",{className:"sim-live-time",children:[l.jsx("small",{children:"Tid gået"}),l.jsx("strong",{children:"04:23"})]}),l.jsx("div",{className:"sim-live-wave",children:Array.from({length:7}).map((b,q)=>l.jsx("span",{style:{animationDelay:`${q*.14}s`}},`wave-${q}`))}),l.jsxs("div",{className:"sim-live-time",children:[l.jsx("small",{children:"Tilbage"}),l.jsx("strong",{children:"10:37"})]})]}),l.jsx("button",{type:"button",className:"sim-live-mic-btn",children:l.jsx(_v,{size:22,strokeWidth:1.8})}),l.jsx("p",{children:"Optager dit svar..."})]})]}),l.jsxs("aside",{className:"sim-live-side custom-scrollbar",children:[l.jsxs("article",{className:"sim-live-side-card",children:[l.jsx("h2",{children:"Session Status"}),l.jsxs("div",{className:"sim-live-side-list",children:[l.jsxs("div",{children:[l.jsx("small",{children:"Stilling"}),l.jsxs("p",{children:[le.title||"Senior Frontend-udvikler"," @ ",le.companyName||"Lunar"]})]}),l.jsxs("div",{children:[l.jsx("small",{children:"Samtaletype"}),l.jsxs("p",{children:[l.jsx(io,{size:14,strokeWidth:1.8})," Teknisk Dybde"]})]}),l.jsxs("div",{children:[l.jsx("small",{children:"Interviewer stil"}),l.jsxs("p",{children:[l.jsx(ql,{size:14,strokeWidth:1.8})," ",v]})]}),l.jsxs("div",{children:[l.jsxs("div",{className:"sim-live-progress-head",children:[l.jsx("small",{children:"Fremgang"}),l.jsx("strong",{children:"Spørgsmål 2 af 5"})]}),l.jsx("div",{className:"sim-live-progress-track",children:l.jsx("span",{})})]})]})]}),l.jsxs("article",{className:"sim-live-coach-card",children:[l.jsxs("h2",{children:[l.jsx(mv,{size:15,strokeWidth:1.8})," Live Coach"]}),l.jsxs("div",{className:"sim-live-coach-list",children:[l.jsxs("div",{children:[l.jsx(We,{size:14,strokeWidth:1.8}),l.jsxs("div",{children:[l.jsx("strong",{children:"Godt brug af STAR-metoden"}),l.jsx("p",{children:"Dit forrige svar beskrev situationen og resultatet meget tydeligt."})]})]}),l.jsxs("div",{children:[l.jsx(Wn,{size:14,strokeWidth:1.8}),l.jsxs("div",{children:[l.jsx("strong",{children:"Næste skridt"}),l.jsx("p",{children:"Uddyb hvorfor Zustand var bedre end Redux i jeres specifikke use-case."})]})]})]})]}),l.jsx("article",{className:"sim-live-side-card",children:l.jsxs("div",{className:"sim-live-actions",children:[l.jsxs("button",{type:"button",children:[l.jsx(Lp,{size:16,strokeWidth:1.8})," Sæt på pause"]}),l.jsxs("button",{type:"button",className:"stop",children:[l.jsx(qp,{size:16,strokeWidth:1.8})," Afslut & Få Feedback"]})]})})]})]})]}):l.jsxs("div",{className:"sim-wrap",children:[l.jsxs("section",{className:"sim-hero-card",children:[l.jsx("div",{className:"sim-hero-glow"}),l.jsxs("div",{className:"sim-hero-left",children:[l.jsx("h1",{children:"Job Interview Simulator"}),l.jsx("p",{children:"Ov dig pa jobsamtaler med vores AI-drevne simulator. Du far skraeddersyede sporgsmal baseret pa den jobtype, du soger, og modtager detaljeret feedback pa dine svar."}),l.jsxs("ul",{className:"sim-benefits",children:[l.jsxs("li",{children:[l.jsx(We,{size:16,strokeWidth:1.8})," Personaliserede interviewsporgsmal"]}),l.jsxs("li",{children:[l.jsx(We,{size:16,strokeWidth:1.8})," Ojeblikkelig AI-feedback pa dine svar"]}),l.jsxs("li",{children:[l.jsx(We,{size:16,strokeWidth:1.8})," Detaljeret evaluering efter interviewet"]}),l.jsxs("li",{children:[l.jsx(We,{size:16,strokeWidth:1.8})," Gem og gennemga tidligere interviews"]})]}),l.jsxs("button",{type:"button",className:"sim-start-btn",onClick:()=>oe(!0),children:[l.jsx(Rp,{size:18,strokeWidth:1.8}),"Start ny simulering"]})]}),l.jsxs("div",{className:"sim-config-card",children:[l.jsxs("div",{className:"sim-config-head",children:[l.jsx("h3",{children:"Simuleringsindstillinger"}),l.jsx("p",{children:"Vaelg dine praeferencer for start"})]}),l.jsxs("label",{children:["Gemt job",l.jsxs("div",{className:"sim-select-wrap",children:[l.jsx(go,{size:16,strokeWidth:1.8}),l.jsx("select",{value:ne,onChange:b=>Y(b.target.value),children:Ne.map(b=>l.jsx("option",{value:b.id,children:Jx(b)},b.id))}),l.jsx(Gn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),l.jsxs("label",{children:["Personlighed (AI)",l.jsxs("div",{className:"sim-select-wrap",children:[l.jsx(ql,{size:16,strokeWidth:1.8}),l.jsx("select",{value:K,onChange:b=>ee(b.target.value),children:(P.length>0?P:[{id:1,name:"Professionel & Grundig"}]).map(b=>l.jsx("option",{value:String(b.id),children:b.name},b.id))}),l.jsx(Gn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),l.jsxs("div",{className:"sim-mini-grid",children:[l.jsxs("label",{children:["Sprog",l.jsxs("div",{className:"sim-select-wrap",children:[l.jsx(js,{size:16,strokeWidth:1.8}),l.jsxs("select",{value:Z,onChange:b=>D(b.target.value),children:[l.jsx("option",{children:"Dansk"}),l.jsx("option",{children:"Engelsk"})]}),l.jsx(Gn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),l.jsxs("label",{children:["Varighed",l.jsxs("div",{className:"sim-select-wrap",children:[l.jsx(no,{size:16,strokeWidth:1.8}),l.jsxs("select",{value:$,onChange:b=>de(b.target.value),children:[l.jsx("option",{value:"5",children:"5 min"}),l.jsx("option",{value:"10",children:"10 min"}),l.jsx("option",{value:"15",children:"15 min"}),l.jsx("option",{value:"20",children:"20 min"})]}),l.jsx(Gn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]})]})]})]}),l.jsxs("div",{className:"sim-history-head",children:[l.jsx("h2",{children:"Tidligere simuleringer"}),l.jsxs("button",{type:"button",children:[l.jsx(lm,{size:15,strokeWidth:1.8})," Filtrer"]})]}),he?l.jsx("p",{className:"dash-loading",children:"Indlaeser simuleringer..."}):null,l.jsx("section",{className:"sim-history-grid",children:ue.map(b=>l.jsxs("article",{className:b.completed?"sim-card done":"sim-card draft",children:[l.jsxs("div",{className:"sim-card-head",children:[l.jsxs("div",{children:[l.jsx("h3",{children:b.title}),l.jsx("p",{children:b.companyName})]}),l.jsx("span",{className:b.completed?"sim-status done":"sim-status draft",children:b.completed?"Faerdig":"Ikke faerdig"})]}),l.jsxs("div",{className:"sim-tags",children:[l.jsxs("span",{children:[l.jsx(no,{size:13,strokeWidth:1.8})," ",b.durationMinutes," min"]}),l.jsxs("span",{children:[l.jsx(ql,{size:13,strokeWidth:1.8})," ",b.personality]})]}),l.jsxs("div",{className:"sim-card-foot",children:[l.jsx("small",{children:b.dateLabel}),b.completed?l.jsxs("button",{type:"button",className:"sim-link-btn",onClick:()=>c({interviewId:b.id,title:b.title,companyName:b.companyName,dateLabel:b.dateLabel}),children:["Se evaluering ",l.jsx(La,{size:14,strokeWidth:1.8})]}):l.jsxs("button",{type:"button",className:"sim-link-btn",children:["Fortsæt ",l.jsx(Bv,{size:14,strokeWidth:1.8})]})]})]},b.id))})]})]})]})}function Yl(u){return typeof u=="object"&&u!==null?u:null}function bo(u){return typeof u=="string"?u:""}function Xx(u){if(typeof u=="number"&&Number.isFinite(u))return u;if(typeof u=="string"){const s=Number(u);return Number.isFinite(s)?s:null}return null}function Wh(u){return Array.isArray(u)?u.map(s=>bo(s).trim()).filter(Boolean):[]}function Ie(u,s){if(!u)return"";for(const c of s){const o=bo(u[c]).trim();if(o)return o}return""}function xs(u,s){if(!u)return null;for(const c of s){const o=Xx(u[c]);if(o!==null)return o}return null}function Zx(u){if(!u)return"";const s=new Date(u);return Number.isNaN(s.getTime())?u:new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"long",year:"numeric"}).format(s)}function Fh(u,s){return u===null?s:Math.max(0,Math.min(10,Math.round(u)))}const bm=[{id:"1",title:"Mere struktur og korthed i dine svar",behavior:"Du gav nogle svar, der blev lange og gentagende i stedet for fokuserede pa kernen.",effect:"Det kan gore det svaerere for intervieweren hurtigt at vurdere din erfaring og beslutninger.",nextStep:"Svar i 3 trin: pointe, konkret eksempel, resultat. Sigt efter 30-60 sekunder pr. svar."},{id:"2",title:"Flere konkrete eksempler pa performance i service",behavior:"Du fortalte om ansvar, men gav fa konkrete scenarier med handling og resultat.",effect:"Uden konkrete cases bliver niveau og paalidelighed svaerere at validere.",nextStep:"Forbered 2-3 STAR-historier med tydelig situation, handling og maelbart resultat."},{id:"3",title:"Gor din motivation mere maelrettet virksomheden",behavior:"Motivationen var positiv, men ikke altid koblet direkte til virksomhedens drift og behov.",effect:"Du kan fremsta generelt motiveret i stedet for specifikt relevant for rollen.",nextStep:"Naevn 2-3 konkrete grunde til, at netop deres setup matcher din erfaring."},{id:"4",title:"Konkretiser kvalitet og sikkerhed i praksis",behavior:"Du naevnte standarder og certificeringer, men beskrev fa daglige rutiner.",effect:"Det reducerer tydeligheden omkring, hvordan du arbejder sikkert i travle perioder.",nextStep:"Beskriv faste rutiner for kontrol, logning og hurtig korrektion under pres."}],ym=["Du viser relevant erfaring for rollen og kommunikerer ro under pres.","Du arbejder struktureret med kvalitet og timing i service.","Du har en moden team-tilgang med fokus pa samarbejde.","Du kobler dine svar til konkrete arbejdsrutiner og drift.","Du fremstar stabil og ansvarlig i hektiske situationer."],jm=["Forbered 3 korte STAR-historier med maelbare resultater.","Lav en 60-sekunders pitch af din profil og vaerdiskabelse.","Research virksomheden i 10-15 minutter inden samtalen.","Forbered 4-5 konkrete spoergsmaal om rolle og forventninger.","Afslut svar med resultat, sa din effekt bliver tydelig."],wt={companyName:"Ukendt virksomhed",dateLabel:"Nyligt",evaluationLabel:"Interview Feedback",interviewerEvaluationTitle:"Interviewer evaluering",interviewerEvaluationLead:"Du er godt med. Din praestation viste styrker der matcher stillingen.",interviewerEvaluationBody:"Du viste relevante kompetencer og en stabil tilgang under pres. Du kan staerke dit indtryk yderligere ved at svare mere struktureret og bruge flere konkrete resultateksempler.",interviewTitle:"Stilling",interviewerScore:8,selfScore:5,strengths:ym,recommendations:jm,suggestions:bm};function Kx(u,s){const c=Yl(u);if(!c)return null;const o=Ie(c,["title","heading","name","subject"]),h=Ie(c,["behavior","adfaerd","observation","issue"]),g=Ie(c,["effect","impact","consequence"]),M=Ie(c,["next_step","nextStep","recommendation","suggestion"]);return!o&&!h&&!g&&!M?null:{id:bo(c.id)||String(s+1),title:o||`Forbedringspunkt ${s+1}`,behavior:h||"Ingen detaljer tilgaengelige.",effect:g||"Ingen detaljer tilgaengelige.",nextStep:M||"Ingen detaljer tilgaengelige."}}function Wx(u){const s=[u?.suggestions,u?.improvements,u?.improvement_points,u?.feedback_points,Yl(u?.evaluation)?.suggestions,Yl(u?.evaluation)?.improvements];for(const c of s){if(!Array.isArray(c))continue;const o=c.map((h,g)=>Kx(h,g)).filter(h=>!!h);if(o.length>0)return o}return bm}function $h(u,s,c){for(const h of s){const g=Wh(u?.[h]);if(g.length>0)return g}const o=Yl(u?.evaluation);for(const h of s){const g=Wh(o?.[h]);if(g.length>0)return g}return c}class Fx{constructor(s=new xo){this.simulationService=s}async getEvaluation(s,c){try{const o=await this.simulationService.getInterviewEvaluation(s),h=Yl(o),g=Yl(h?.evaluation),M=Ie(h,["company_name","companyName"])||Ie(g,["company_name","companyName"])||c?.companyName||wt.companyName,H=Ie(h,["job_title","job_name","title"])||Ie(g,["job_title","job_name","title"])||c?.title||wt.interviewTitle,R=Ie(h,["interview_date","created_at","date"])||Ie(g,["interview_date","created_at","date"]),j=Zx(R)||c?.dateLabel||wt.dateLabel,B=Ie(h,["interviewer_evaluation_lead","lead"])||Ie(g,["interviewer_evaluation_lead","lead"])||wt.interviewerEvaluationLead,T=Ie(h,["interviewer_evaluation","summary","feedback"])||Ie(g,["interviewer_evaluation","summary","feedback"])||wt.interviewerEvaluationBody,V=Ie(h,["evaluation_title","interviewer_title"])||Ie(g,["evaluation_title","interviewer_title"])||wt.interviewerEvaluationTitle,J=Ie(h,["label","evaluation_label"])||Ie(g,["label","evaluation_label"])||wt.evaluationLabel,P=Fh(xs(h,["candidate_score","self_score","self_rating"])??xs(g,["candidate_score","self_score","self_rating"]),wt.selfScore),X=Fh(xs(h,["interviewer_score","score","interviewer_rating"])??xs(g,["interviewer_score","score","interviewer_rating"]),wt.interviewerScore);return{companyName:M,dateLabel:j,evaluationLabel:J,interviewerEvaluationBody:T,interviewerEvaluationLead:B,interviewerEvaluationTitle:V,interviewerScore:X,interviewTitle:H,recommendations:$h(h,["recommendations","constructive_recommendations","next_steps"],jm),selfScore:P,strengths:$h(h,["strengths","highlights"],ym),suggestions:Wx(h)}}catch{return{...wt,companyName:c?.companyName||wt.companyName,interviewTitle:c?.title||wt.interviewTitle,dateLabel:c?.dateLabel||wt.dateLabel}}}async submitRating(s,c,o){await this.simulationService.submitEvaluationRating(s,c,o)}}function Nm(u,s){return s-u}function $x(u,s){const c=Nm(u,s);return c>0?`Gab: +${c} point`:c<0?`Gab: ${c} point`:"Gab: 0 point"}function Ix(u,s){const c=Nm(u,s);return c>0?"Du undervurderede dig selv i forhold til interviewerens vurdering.":c<0?"Du vurderede dig selv hojere end intervieweren gjorde i denne session.":"Din selvvurdering matcher interviewerens vurdering godt."}function Px(u){return u||"Nyligt"}function eb({interviewSelection:u,onBack:s,onLogout:c,onNavigate:o,onToggleTheme:h,theme:g}){const M=_.useMemo(()=>new Fx,[]),[H]=_.useState("Lasse"),[R]=_.useState(void 0),[j,B]=_.useState(null),[T,V]=_.useState(!0),[J,P]=_.useState(0),[X,he]=_.useState(""),[ie,ne]=_.useState(!1),[Y,K]=_.useState("");_.useEffect(()=>{let $=!0;async function de(){V(!0);const te=await M.getEvaluation(u.interviewId,{companyName:u.companyName,dateLabel:u.dateLabel,title:u.title});$&&(B(te),V(!1))}return de(),()=>{$=!1}},[u.companyName,u.dateLabel,u.interviewId,u.title,M]);async function ee(){if(!(!J||ie)){ne(!0),K("");try{await M.submitRating(u.interviewId,J,X.trim()),K("Tak. Din feedback er sendt.")}catch{K("Kunne ikke sende feedback lige nu. Prov igen.")}finally{ne(!1)}}}const Z=j,D=Z?.suggestions??[];return l.jsxs("section",{className:`dash-root ${g==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"simulator",onNavigate:o}),l.jsxs("main",{className:"dash-main custom-scrollbar sim-eval-main",children:[l.jsx(Qt,{name:H,imageUrl:R,onLogout:c,theme:g,onToggleTheme:h,actions:l.jsxs("div",{className:"sim-eval-top-actions",children:[l.jsx("button",{type:"button",className:"sim-eval-back-btn",onClick:s,children:"Tilbage"}),l.jsxs("div",{className:"sim-eval-crumb-pill",children:[l.jsx(nm,{size:14,strokeWidth:1.8}),l.jsx("span",{children:"Simulator"}),l.jsx(La,{size:13,strokeWidth:1.8}),l.jsx("strong",{children:"Evaluering"})]})]})}),l.jsxs("div",{className:"sim-eval-wrap",children:[l.jsxs("header",{className:"sim-eval-head",children:[l.jsxs("div",{className:"sim-eval-label",children:[l.jsx(Qp,{size:14,strokeWidth:1.8}),l.jsx("span",{children:Z?.evaluationLabel??"Interview Feedback"})]}),l.jsx("h1",{children:"Evalueringsfeedback"}),l.jsxs("div",{className:"sim-eval-meta",children:[l.jsx("strong",{children:Z?.companyName??u.companyName}),l.jsx("span",{}),l.jsx("p",{children:Z?.interviewTitle??u.title}),l.jsx("span",{}),l.jsxs("small",{children:[l.jsx(_p,{size:14,strokeWidth:1.8})," ",Px(Z?.dateLabel??u.dateLabel)]})]})]}),T?l.jsx("p",{className:"dash-loading",children:"Indlaeser evaluering..."}):null,!T&&Z?l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"sim-eval-overview-card",children:[l.jsxs("div",{className:"sim-eval-overview-text",children:[l.jsxs("div",{className:"sim-eval-overview-title",children:[l.jsx(fm,{size:20,strokeWidth:1.8}),l.jsx("h2",{children:Z.interviewerEvaluationTitle})]}),l.jsx("p",{className:"lead",children:Z.interviewerEvaluationLead}),l.jsx("p",{children:Z.interviewerEvaluationBody})]}),l.jsxs("aside",{className:"sim-eval-score-card",children:[l.jsxs("div",{className:"sim-eval-score-head",children:[l.jsx("h3",{children:"Performance vurdering"}),l.jsx(Wn,{size:16,strokeWidth:1.8})]}),l.jsxs("div",{className:"sim-eval-score-rows",children:[l.jsxs("div",{children:[l.jsx("span",{children:"Din udfyldelse"}),l.jsxs("strong",{children:[Z.selfScore,"/10"]})]}),l.jsxs("div",{children:[l.jsx("span",{children:"Interviewers vurdering"}),l.jsxs("strong",{className:"good",children:[Z.interviewerScore,"/10"]})]})]}),l.jsxs("div",{className:"sim-eval-gap-block",children:[l.jsxs("span",{children:[l.jsx(Ch,{size:13,strokeWidth:1.8})," ",$x(Z.selfScore,Z.interviewerScore)]}),l.jsx("p",{children:Ix(Z.selfScore,Z.interviewerScore)})]})]})]}),l.jsxs("section",{className:"sim-eval-improvements",children:[l.jsxs("div",{className:"sim-eval-section-title",children:[l.jsx(Ch,{size:20,strokeWidth:1.8}),l.jsx("h2",{children:"Hvordan kan du blive bedre?"})]}),l.jsx("div",{className:"sim-eval-improvement-list",children:D.map(($,de)=>l.jsxs("article",{className:"sim-eval-improvement-card",children:[l.jsx("div",{className:"sim-eval-improvement-index",children:de+1}),l.jsxs("div",{className:"sim-eval-improvement-content",children:[l.jsx("h3",{children:$.title}),l.jsxs("div",{className:"sim-eval-improvement-grid",children:[l.jsxs("div",{children:[l.jsx("small",{children:"Adfaerd"}),l.jsx("p",{children:$.behavior})]}),l.jsxs("div",{className:"impact",children:[l.jsx("small",{children:"Effekt"}),l.jsx("p",{children:$.effect})]}),l.jsxs("div",{className:"next",children:[l.jsx("small",{children:"Naeste gang"}),l.jsx("p",{children:$.nextStep})]})]})]})]},$.id))})]}),l.jsxs("section",{className:"sim-eval-split-grid",children:[l.jsxs("article",{className:"sim-eval-list-card",children:[l.jsxs("div",{className:"sim-eval-card-title",children:[l.jsx(We,{size:20,strokeWidth:1.8}),l.jsx("h2",{children:"Dine styrker"})]}),l.jsx("ul",{children:Z.strengths.map(($,de)=>l.jsxs("li",{children:[l.jsx(We,{size:17,strokeWidth:1.8}),l.jsx("span",{children:$})]},`strength-${de}`))})]}),l.jsxs("article",{className:"sim-eval-list-card recommendations",children:[l.jsxs("div",{className:"sim-eval-card-title",children:[l.jsx(oo,{size:20,strokeWidth:1.8}),l.jsx("h2",{children:"Konstruktiv anbefaling"})]}),l.jsx("p",{className:"hint",children:"Fokuser pa disse handlinger for at staerke din naeste samtale."}),l.jsx("ul",{children:Z.recommendations.map(($,de)=>l.jsxs("li",{children:[l.jsx("div",{children:l.jsx(Ev,{size:13,strokeWidth:2})}),l.jsx("span",{children:$})]},`recommendation-${de}`))})]})]}),l.jsxs("section",{className:"sim-eval-rating-card",children:[l.jsx("p",{children:"Husk: Hvert interview er en laeringsmulighed. Bliv ved med at ove."}),l.jsxs("div",{className:"sim-eval-rating-box",children:[l.jsx("h3",{children:"Bedom denne evaluering"}),l.jsx("small",{children:"Din feedback hjaelper os med at forbedre oplevelsen."}),l.jsx("div",{className:"sim-eval-stars",children:Array.from({length:5}).map(($,de)=>{const te=de+1,oe=te<=J;return l.jsx("button",{type:"button","aria-label":`Vaelg ${te} stjerner`,className:oe?"selected":"",onClick:()=>P(te),children:l.jsx(po,{size:27,fill:oe?"currentColor":"none",strokeWidth:1.8})},`star-${te}`)})}),l.jsx("textarea",{value:X,onChange:$=>he($.target.value),rows:3,placeholder:"Kommentar (valgfrit)"}),l.jsx("button",{type:"button",onClick:()=>{ee()},disabled:ie||J===0,children:ie?"Sender...":"Send feedback"}),Y?l.jsx("div",{className:"sim-eval-submit-status",children:Y}):null]})]})]}):null]})]})]})}class tb{constructor(s=new al,c=new Ss){this.candidateService=s,this.subscriptionService=c}async getCandidateProfile(){try{const s=await this.candidateService.getCandidate();return{name:s.firstName?.trim()||s.name?.trim()||"Lasse",imageUrl:s.imageUrl||s.image||void 0}}catch{return{name:"Lasse"}}}async getSnapshot(){const[s,c]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.subscriptionService.getSubscriptionProducts()]);return{paymentOverview:s.status==="fulfilled"?s.value:null,products:c.status==="fulfilled"?c.value:null}}async redeemCode(s){await this.subscriptionService.redeemCode(s)}}const Ih=["Download et professionelt CV - Klar til brug med et enkelt klik","Karriereagent med personlige anbefalinger","Øget synlighed – bliv fundet af virksomheder","Lad systemet lave din ansøgning for dig","Optimer dit CV med intelligente forslag","Job simulatoren – træn til din næste jobsamtale"];function Sm(u){if(!u)return null;const s=u instanceof Date?u:new Date(u);return Number.isNaN(s.getTime())?null:s}function ab(u){const s=Sm(u);return s?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"2-digit",year:"numeric"}).format(s):"Ukendt dato"}function lb(u){if(!u)return!1;const s=Sm(u.activeToDate);return s?s.getTime()>Date.now():!1}function nb(u){const s=u?.premium_30?.price??49,c=u?.premium_90?.price??99,o=u?.premium_365?.price??249;return{30:{title:"30 dage",priceText:`${s} kr.`,dailyText:"Svarer til 1.63 kr. pr. dag",description:"Månedlig adgang til alle premium-funktioner"},90:{title:"90 dage",priceText:`${c} kr.`,dailyText:"Svarer til 1.10 kr. pr. dag",savings:"Spar 33%",description:"Mest populære valg med ekstra besparelse"},365:{title:"365 dage",priceText:`${o} kr.`,dailyText:"Svarer til 0.68 kr. pr. dag",savings:"Spar 58%",description:"Inkluderer gavekode til 3 måneders premium"}}}function ib({onLogout:u,onNavigate:s,onToggleTheme:c,theme:o}){const h=_.useMemo(()=>new tb,[]),[g,M]=_.useState("Lasse"),[H,R]=_.useState(void 0),[j,B]=_.useState(null),[T,V]=_.useState(null),[J,P]=_.useState(!0),[X,he]=_.useState("90"),[ie,ne]=_.useState(!1),[Y,K]=_.useState(""),[ee,Z]=_.useState(""),[D,$]=_.useState(!1),[de,te]=_.useState(null);_.useEffect(()=>{let le=!0;async function v(){P(!0);const[E,b]=await Promise.all([h.getCandidateProfile(),h.getSnapshot()]);le&&(M(E.name),R(E.imageUrl),B(b.paymentOverview),V(b.products),P(!1))}return v(),()=>{le=!1}},[h]);const oe=_.useMemo(()=>nb(T),[T]),ue=lb(j),Ae=de??ue;async function Ne(){const le=Y.trim();if(!(!le||D)){Z(""),$(!0);try{await h.redeemCode(le),Z("Koden blev indløst. Opdaterer abonnement...");const v=await h.getSnapshot();B(v.paymentOverview),V(v.products),K("")}catch{Z("Kunne ikke indløse kode. Prøv igen.")}finally{$(!1)}}}return l.jsxs("section",{className:`dash-root ${o==="dark"?"theme-dark":""}`,children:[l.jsx("div",{className:"dash-orb dash-orb-1"}),l.jsx("div",{className:"dash-orb dash-orb-2"}),l.jsx("div",{className:"dash-orb dash-orb-3"}),l.jsx(Jt,{active:"subscription",onNavigate:s}),l.jsxs("main",{className:"dash-main custom-scrollbar sub-main",children:[l.jsx(Qt,{name:g,imageUrl:H,onLogout:u,theme:o,onToggleTheme:c,actions:l.jsxs("div",{className:"sub-top-actions",children:[l.jsxs("div",{className:"sub-crumb-pill",children:[l.jsx(so,{size:15,strokeWidth:1.8})," Abonnement"]}),l.jsx("button",{type:"button",className:"sub-toggle-btn",onClick:()=>te(le=>le===null?!ue:!le),children:Ae?'Vis "Unsubscribed" state':'Vis "Subscribed" state'})]})}),l.jsxs("div",{className:"sub-head",children:[l.jsxs("div",{className:"sub-head-title-row",children:[l.jsx("div",{className:"sub-head-icon",children:l.jsx(so,{size:18,strokeWidth:1.8})}),l.jsx("h1",{children:"Dit Abonnement"})]}),l.jsx("p",{children:"Administrer dit medlemskab og lås op for alle de intelligente værktøjer, der gør din jobsøgning nemmere."})]}),l.jsxs("div",{className:"sub-wrap",children:[l.jsxs("section",{className:"sub-redeem-card",children:[l.jsxs("div",{className:"sub-redeem-head",children:[l.jsx("span",{children:"🎟️"}),l.jsx("h2",{children:"Indløs kode"})]}),l.jsx("p",{children:"Har du en rabatkode eller gavekode? Indtast den her og få den aktiveret med det samme"}),l.jsxs("div",{className:"sub-redeem-row",children:[l.jsx("input",{type:"text",value:Y,onChange:le=>K(le.target.value),placeholder:"Indtast kode her..."}),l.jsx("button",{type:"button",onClick:()=>{Ne()},disabled:D,children:D?"Indløser...":"Indløs"})]}),ee?l.jsx("small",{children:ee}):null]}),J?l.jsx("p",{className:"dash-loading",children:"Indlaeser abonnement..."}):null,!J&&!Ae?l.jsxs(l.Fragment,{children:[l.jsx("section",{className:"sub-plan-grid",children:["30","90","365"].map(le=>{const v=oe[le],E=X===le,b=le==="90",q=le==="365";return l.jsxs("label",{className:["sub-plan-card",E?"selected":"",b?"popular":"",q?"yearly":""].join(" ").trim(),children:[b?l.jsx("div",{className:"sub-popular-badge",children:"Mest populær"}):null,l.jsx("input",{type:"radio",name:"pricing-plan",checked:E,onChange:()=>he(le)}),l.jsx("div",{className:"sub-radio-indicator",children:l.jsx("i",{})}),l.jsxs("div",{className:"sub-plan-content",children:[l.jsxs("div",{className:"sub-plan-title-row",children:[l.jsx("h3",{children:v.title}),v.savings?l.jsx("span",{children:v.savings}):null]}),l.jsx("div",{className:"sub-price",children:v.priceText}),l.jsx("p",{className:"sub-price-daily",children:v.dailyText}),q?l.jsxs("div",{className:"sub-gift-box",children:[l.jsx(lv,{size:17,strokeWidth:1.8}),l.jsxs("div",{children:[l.jsx("strong",{children:"Giv en gave"}),l.jsx("small",{children:"Få en gratis 3-måneders Premium-kode med i købet til en ven."})]})]}):null,l.jsx("div",{className:"sub-divider"}),l.jsx("ul",{children:Ih.map(F=>l.jsxs("li",{children:[l.jsx(We,{size:15,strokeWidth:1.8}),l.jsx("span",{children:F})]},`${le}-${F}`))})]})]},le)})}),l.jsxs("section",{className:"sub-checkout-card",children:[l.jsxs("div",{children:[l.jsx("h3",{children:"Klar til at opgradere?"}),l.jsx("p",{children:"Vælg en plan ovenfor og få adgang til alle Premium-funktioner med det samme."})]}),l.jsxs("div",{className:"sub-checkout-actions",children:[l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:ie,onChange:le=>ne(le.target.checked)}),l.jsx("span",{className:"sub-checkbox",children:l.jsx(Mp,{size:13,strokeWidth:2.2})}),l.jsx("span",{children:"Jeg accepterer handelsbetingelser"})]}),l.jsx("button",{type:"button",disabled:!ie,children:"Gå til betaling"})]})]})]}):null,!J&&Ae?l.jsxs("div",{className:"sub-active-wrap",children:[l.jsxs("section",{className:"sub-gift-alert",children:[l.jsx("div",{className:"sub-gift-glow"}),l.jsx("div",{className:"sub-gift-icon",children:"🎁"}),l.jsxs("div",{children:[l.jsx("h2",{children:"Din gave venter!"}),l.jsx("p",{children:"Klik på gaven nedenfor for at se indholdet"})]}),l.jsx("button",{type:"button",children:"Åbn gave"})]}),l.jsxs("section",{className:"sub-active-card",children:[l.jsxs("div",{className:"sub-active-head",children:[l.jsx("span",{children:"👑"}),l.jsx("h2",{children:"Premium abonnement"})]}),l.jsxs("div",{className:"sub-active-grid",children:[l.jsx("div",{className:"sub-active-features",children:l.jsx("ul",{children:Ih.map(le=>l.jsxs("li",{children:[l.jsx(We,{size:16,strokeWidth:1.8}),l.jsx("span",{children:le})]},`active-${le}`))})}),l.jsxs("div",{className:"sub-active-status-col",children:[l.jsxs("div",{className:"sub-active-status-box",children:[l.jsx("div",{className:"sub-active-check",children:l.jsx(We,{size:34,strokeWidth:1.8})}),l.jsx("h3",{children:"Dit abonnement er aktivt"}),l.jsxs("strong",{children:[oe[X].priceText," for ",oe[X].title]}),l.jsx("p",{children:oe[X].dailyText}),l.jsxs("div",{className:"sub-renew-pill",children:[l.jsx(kp,{size:16,strokeWidth:1.8}),"Fornyes d. ",ab(j?.renewDate)]})]}),l.jsx("button",{type:"button",className:"sub-manage-link",children:"Administrer betalingsoplysninger"})]})]})]})]}):null]})]})]})}function sb(){const u=_.useMemo(()=>window.location.pathname==="/home",[]),s=_.useMemo(()=>!!window.localStorage.getItem("token"),[]),c=_.useMemo(()=>window.localStorage.getItem("theme")==="dark"?"dark":"light",[]),[o,h]=_.useState(s),[g,M]=_.useState(c),[H,R]=_.useState("dashboard"),[j,B]=_.useState(null),[T,V]=_.useState(null);function J(K){(K==="dashboard"||K==="jobs"||K==="cv"||K==="messages"||K==="agents"||K==="ai-agent"||K==="simulator"||K==="subscription")&&R(K)}function P(K,ee,Z="jobs"){B({id:K,fromJobnet:ee,returnPage:Z}),R("job-detail")}function X(){R(j?.returnPage??"jobs")}function he(K){V(K),R("simulator-evaluation")}function ie(){R("simulator")}async function ne(){await Jl.clearCredentials(),R("dashboard"),B(null),V(null),h(!1)}function Y(){M(K=>{const ee=K==="light"?"dark":"light";return window.localStorage.setItem("theme",ee),ee})}return u?l.jsx(kx,{}):o?H==="jobs"?l.jsx(Ux,{onLogout:ne,onNavigate:J,onOpenJobDetail:P,theme:g,onToggleTheme:Y}):H==="cv"?l.jsx(hx,{onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):H==="messages"?l.jsx(Vx,{onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):H==="agents"?l.jsx(G1,{onLogout:ne,onNavigate:J,onOpenJobDetail:P,theme:g,onToggleTheme:Y}):H==="ai-agent"?l.jsx(Z1,{onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):H==="simulator"?l.jsx(Qx,{onLogout:ne,onNavigate:J,onOpenEvaluation:he,theme:g,onToggleTheme:Y}):H==="simulator-evaluation"&&T?l.jsx(eb,{interviewSelection:T,onBack:ie,onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):H==="subscription"?l.jsx(ib,{onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):H==="job-detail"&&j?l.jsx(zx,{jobId:j.id,fromJobnet:j.fromJobnet,onBack:X,onLogout:ne,onNavigate:J,theme:g,onToggleTheme:Y}):l.jsx(Sx,{onLogout:ne,onNavigate:J,onOpenJobDetail:P,theme:g,onToggleTheme:Y}):l.jsx(D1,{onAuthenticated:()=>h(!0)})}ap.createRoot(document.getElementById("root")).render(l.jsx(_.StrictMode,{children:l.jsx(sb,{})})); diff --git a/dist/assets/index-NzuLru3R.js b/dist/assets/index-NzuLru3R.js deleted file mode 100644 index f8556fd..0000000 --- a/dist/assets/index-NzuLru3R.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))r(h);new MutationObserver(h=>{for(const v of h)if(v.type==="childList")for(const z of v.addedNodes)z.tagName==="LINK"&&z.rel==="modulepreload"&&r(z)}).observe(document,{childList:!0,subtree:!0});function u(h){const v={};return h.integrity&&(v.integrity=h.integrity),h.referrerPolicy&&(v.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?v.credentials="include":h.crossOrigin==="anonymous"?v.credentials="omit":v.credentials="same-origin",v}function r(h){if(h.ep)return;h.ep=!0;const v=u(h);fetch(h.href,v)}})();var Yu={exports:{}},Hn={};var jh;function X1(){if(jh)return Hn;jh=1;var o=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function u(r,h,v){var z=null;if(v!==void 0&&(z=""+v),h.key!==void 0&&(z=""+h.key),"key"in h){v={};for(var q in h)q!=="key"&&(v[q]=h[q])}else v=h;return h=v.ref,{$$typeof:o,type:r,key:z,ref:h!==void 0?h:null,props:v}}return Hn.Fragment=c,Hn.jsx=u,Hn.jsxs=u,Hn}var xh;function Z1(){return xh||(xh=1,Yu.exports=X1()),Yu.exports}var n=Z1(),Gu={exports:{}},me={};var Sh;function K1(){if(Sh)return me;Sh=1;var o=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),v=Symbol.for("react.consumer"),z=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),R=Symbol.iterator;function K(m){return m===null||typeof m!="object"?null:(m=R&&m[R]||m["@@iterator"],typeof m=="function"?m:null)}var le={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Z=Object.assign,fe={};function te(m,N,U){this.props=m,this.context=N,this.refs=fe,this.updater=U||le}te.prototype.isReactComponent={},te.prototype.setState=function(m,N){if(typeof m!="object"&&typeof m!="function"&&m!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,m,N,"setState")},te.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function se(){}se.prototype=te.prototype;function Y(m,N,U){this.props=m,this.context=N,this.refs=fe,this.updater=U||le}var P=Y.prototype=new se;P.constructor=Y,Z(P,te.prototype),P.isPureReactComponent=!0;var ie=Array.isArray;function G(){}var E={H:null,A:null,T:null,S:null},ae=Object.prototype.hasOwnProperty;function he(m,N,U){var J=U.ref;return{$$typeof:o,type:m,key:N,ref:J!==void 0?J:null,props:U}}function pe(m,N){return he(m.type,N,m.props)}function H(m){return typeof m=="object"&&m!==null&&m.$$typeof===o}function Q(m){var N={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(U){return N[U]})}var ue=/\/+/g;function ee(m,N){return typeof m=="object"&&m!==null&&m.key!=null?Q(""+m.key):N.toString(36)}function W(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(G,G):(m.status="pending",m.then(function(N){m.status==="pending"&&(m.status="fulfilled",m.value=N)},function(N){m.status==="pending"&&(m.status="rejected",m.reason=N)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function _(m,N,U,J,oe){var re=typeof m;(re==="undefined"||re==="boolean")&&(m=null);var Ae=!1;if(m===null)Ae=!0;else switch(re){case"bigint":case"string":case"number":Ae=!0;break;case"object":switch(m.$$typeof){case o:case c:Ae=!0;break;case B:return Ae=m._init,_(Ae(m._payload),N,U,J,oe)}}if(Ae)return oe=oe(m),Ae=J===""?"."+ee(m,0):J,ie(oe)?(U="",Ae!=null&&(U=Ae.replace(ue,"$&/")+"/"),_(oe,N,U,"",function(Jl){return Jl})):oe!=null&&(H(oe)&&(oe=pe(oe,U+(oe.key==null||m&&m.key===oe.key?"":(""+oe.key).replace(ue,"$&/")+"/")+Ae)),N.push(oe)),1;Ae=0;var nt=J===""?".":J+":";if(ie(m))for(var Ve=0;Ve>>1,de=_[$];if(0>>1;$h(U,x))Jh(oe,U)?(_[$]=oe,_[J]=x,$=J):(_[$]=U,_[N]=x,$=N);else if(Jh(oe,x))_[$]=oe,_[J]=x,$=J;else break e}}return V}function h(_,V){var x=_.sortIndex-V.sortIndex;return x!==0?x:_.id-V.id}if(o.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var v=performance;o.unstable_now=function(){return v.now()}}else{var z=Date,q=z.now();o.unstable_now=function(){return z.now()-q}}var L=[],b=[],B=1,D=null,R=3,K=!1,le=!1,Z=!1,fe=!1,te=typeof setTimeout=="function"?setTimeout:null,se=typeof clearTimeout=="function"?clearTimeout:null,Y=typeof setImmediate<"u"?setImmediate:null;function P(_){for(var V=u(b);V!==null;){if(V.callback===null)r(b);else if(V.startTime<=_)r(b),V.sortIndex=V.expirationTime,c(L,V);else break;V=u(b)}}function ie(_){if(Z=!1,P(_),!le)if(u(L)!==null)le=!0,G||(G=!0,Q());else{var V=u(b);V!==null&&W(ie,V.startTime-_)}}var G=!1,E=-1,ae=5,he=-1;function pe(){return fe?!0:!(o.unstable_now()-he_&&pe());){var $=D.callback;if(typeof $=="function"){D.callback=null,R=D.priorityLevel;var de=$(D.expirationTime<=_);if(_=o.unstable_now(),typeof de=="function"){D.callback=de,P(_),V=!0;break t}D===u(L)&&r(L),P(_)}else r(L);D=u(L)}if(D!==null)V=!0;else{var m=u(b);m!==null&&W(ie,m.startTime-_),V=!1}}break e}finally{D=null,R=x,K=!1}V=void 0}}finally{V?Q():G=!1}}}var Q;if(typeof Y=="function")Q=function(){Y(H)};else if(typeof MessageChannel<"u"){var ue=new MessageChannel,ee=ue.port2;ue.port1.onmessage=H,Q=function(){ee.postMessage(null)}}else Q=function(){te(H,0)};function W(_,V){E=te(function(){_(o.unstable_now())},V)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(_){_.callback=null},o.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ae=0<_?Math.floor(1e3/_):5},o.unstable_getCurrentPriorityLevel=function(){return R},o.unstable_next=function(_){switch(R){case 1:case 2:case 3:var V=3;break;default:V=R}var x=R;R=V;try{return _()}finally{R=x}},o.unstable_requestPaint=function(){fe=!0},o.unstable_runWithPriority=function(_,V){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var x=R;R=_;try{return V()}finally{R=x}},o.unstable_scheduleCallback=function(_,V,x){var $=o.unstable_now();switch(typeof x=="object"&&x!==null?(x=x.delay,x=typeof x=="number"&&0$?(_.sortIndex=x,c(b,_),u(L)===null&&_===u(b)&&(Z?(se(E),E=-1):Z=!0,W(ie,x-$))):(_.sortIndex=de,c(L,_),le||K||(le=!0,G||(G=!0,Q()))),_},o.unstable_shouldYield=pe,o.unstable_wrapCallback=function(_){var V=R;return function(){var x=R;R=V;try{return _.apply(this,arguments)}finally{R=x}}}})(Xu)),Xu}var _h;function F1(){return _h||(_h=1,Qu.exports=W1()),Qu.exports}var Zu={exports:{}},lt={};var Ah;function $1(){if(Ah)return lt;Ah=1;var o=dr();function c(L){var b="https://react.dev/errors/"+L;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(c){console.error(c)}}return o(),Zu.exports=$1(),Zu.exports}var zh;function P1(){if(zh)return Vn;zh=1;var o=F1(),c=dr(),u=I1();function r(e){var t="https://react.dev/errors/"+e;if(1de||(e.current=$[de],$[de]=null,de--)}function U(e,t){de++,$[de]=e.current,e.current=t}var J=m(null),oe=m(null),re=m(null),Ae=m(null);function nt(e,t){switch(U(re,t),U(oe,e),U(J,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Gf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Gf(t),e=Jf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}N(J),U(J,e)}function Ve(){N(J),N(oe),N(re)}function Jl(e){e.memoizedState!==null&&U(Ae,e);var t=J.current,a=Jf(t,e.type);t!==a&&(U(oe,e),U(J,a))}function Wn(e){oe.current===e&&(N(J),N(oe)),Ae.current===e&&(N(Ae),Un._currentValue=x)}var ks,pr;function Oa(e){if(ks===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);ks=t&&t[1]||"",pr=-1)":-1i||g[l]!==S[i]){var C=` -`+g[l].replace(" at new "," at ");return e.displayName&&C.includes("")&&(C=C.replace("",e.displayName)),C}while(1<=l&&0<=i);break}}}finally{_s=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Oa(a):""}function Nm(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return As(e.type,!1);case 11:return As(e.type.render,!1);case 1:return As(e.type,!0);case 31:return Oa("Activity");default:return""}}function yr(e){try{var t="",a=null;do t+=Nm(e,a),a=e,e=e.return;while(e);return t}catch(l){return` -Error generating stack: `+l.message+` -`+l.stack}}var Ts=Object.prototype.hasOwnProperty,zs=o.unstable_scheduleCallback,Ds=o.unstable_cancelCallback,km=o.unstable_shouldYield,_m=o.unstable_requestPaint,mt=o.unstable_now,Am=o.unstable_getCurrentPriorityLevel,br=o.unstable_ImmediatePriority,jr=o.unstable_UserBlockingPriority,Fn=o.unstable_NormalPriority,Tm=o.unstable_LowPriority,xr=o.unstable_IdlePriority,zm=o.log,Dm=o.unstable_setDisableYieldValue,Ql=null,vt=null;function ra(e){if(typeof zm=="function"&&Dm(e),vt&&typeof vt.setStrictMode=="function")try{vt.setStrictMode(Ql,e)}catch{}}var gt=Math.clz32?Math.clz32:Cm,Mm=Math.log,Em=Math.LN2;function Cm(e){return e>>>=0,e===0?32:31-(Mm(e)/Em|0)|0}var $n=256,In=262144,Pn=4194304;function La(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ei(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,s=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var f=l&134217727;return f!==0?(l=f&~s,l!==0?i=La(l):(d&=f,d!==0?i=La(d):a||(a=f&~e,a!==0&&(i=La(a))))):(f=l&~s,f!==0?i=La(f):d!==0?i=La(d):a||(a=l&~e,a!==0&&(i=La(a)))),i===0?0:t!==0&&t!==i&&(t&s)===0&&(s=i&-i,a=t&-t,s>=a||s===32&&(a&4194048)!==0)?t:i}function Xl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function wm(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Sr(){var e=Pn;return Pn<<=1,(Pn&62914560)===0&&(Pn=4194304),e}function Ms(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Zl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Um(e,t,a,l,i,s){var d=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var f=e.entanglements,g=e.expirationTimes,S=e.hiddenUpdates;for(a=d&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var qm=/[\n"\\]/g;function At(e){return e.replace(qm,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ls(e,t,a,l,i,s,d,f){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+_t(t)):e.value!==""+_t(t)&&(e.value=""+_t(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?Rs(e,d,_t(t)):a!=null?Rs(e,d,_t(a)):l!=null&&e.removeAttribute("value"),i==null&&s!=null&&(e.defaultChecked=!!s),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+_t(f):e.removeAttribute("name")}function Or(e,t,a,l,i,s,d,f){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||a!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){Os(e);return}a=a!=null?""+_t(a):"",t=t!=null?""+_t(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}l=l??i,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=f?e.checked:!!l,e.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),Os(e)}function Rs(e,t,a){t==="number"&&li(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function cl(e,t,a,l){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ys=!1;if(Zt)try{var $l={};Object.defineProperty($l,"passive",{get:function(){Ys=!0}}),window.addEventListener("test",$l,$l),window.removeEventListener("test",$l,$l)}catch{Ys=!1}var da=null,Gs=null,ii=null;function Yr(){if(ii)return ii;var e,t=Gs,a=t.length,l,i="value"in da?da.value:da.textContent,s=i.length;for(e=0;e=en),Kr=" ",Wr=!1;function Fr(e,t){switch(e){case"keyup":return mv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $r(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var dl=!1;function gv(e,t){switch(e){case"compositionend":return $r(t);case"keypress":return t.which!==32?null:(Wr=!0,Kr);case"textInput":return e=t.data,e===Kr&&Wr?null:e;default:return null}}function pv(e,t){if(dl)return e==="compositionend"||!Ks&&Fr(e,t)?(e=Yr(),ii=Gs=da=null,dl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=io(a)}}function co(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?co(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function uo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=li(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=li(e.document)}return t}function $s(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var _v=Zt&&"documentMode"in document&&11>=document.documentMode,fl=null,Is=null,nn=null,Ps=!1;function ro(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ps||fl==null||fl!==li(l)||(l=fl,"selectionStart"in l&&$s(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),nn&&ln(nn,l)||(nn=l,l=Ii(Is,"onSelect"),0>=d,i-=d,Vt=1<<32-gt(t)+i|a<ge?(xe=I,I=null):xe=I.sibling;var ke=k(y,I,j[ge],w);if(ke===null){I===null&&(I=xe);break}e&&I&&ke.alternate===null&&t(y,I),p=s(ke,p,ge),Ne===null?ne=ke:Ne.sibling=ke,Ne=ke,I=xe}if(ge===j.length)return a(y,I),Se&&Wt(y,ge),ne;if(I===null){for(;gege?(xe=I,I=null):xe=I.sibling;var wa=k(y,I,ke.value,w);if(wa===null){I===null&&(I=xe);break}e&&I&&wa.alternate===null&&t(y,I),p=s(wa,p,ge),Ne===null?ne=wa:Ne.sibling=wa,Ne=wa,I=xe}if(ke.done)return a(y,I),Se&&Wt(y,ge),ne;if(I===null){for(;!ke.done;ge++,ke=j.next())ke=O(y,ke.value,w),ke!==null&&(p=s(ke,p,ge),Ne===null?ne=ke:Ne.sibling=ke,Ne=ke);return Se&&Wt(y,ge),ne}for(I=l(I);!ke.done;ge++,ke=j.next())ke=A(I,y,ge,ke.value,w),ke!==null&&(e&&ke.alternate!==null&&I.delete(ke.key===null?ge:ke.key),p=s(ke,p,ge),Ne===null?ne=ke:Ne.sibling=ke,Ne=ke);return e&&I.forEach(function(Q1){return t(y,Q1)}),Se&&Wt(y,ge),ne}function Ee(y,p,j,w){if(typeof j=="object"&&j!==null&&j.type===Z&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case K:e:{for(var ne=j.key;p!==null;){if(p.key===ne){if(ne=j.type,ne===Z){if(p.tag===7){a(y,p.sibling),w=i(p,j.props.children),w.return=y,y=w;break e}}else if(p.elementType===ne||typeof ne=="object"&&ne!==null&&ne.$$typeof===ae&&Za(ne)===p.type){a(y,p.sibling),w=i(p,j.props),dn(w,j),w.return=y,y=w;break e}a(y,p);break}else t(y,p);p=p.sibling}j.type===Z?(w=Ya(j.props.children,y.mode,w,j.key),w.return=y,y=w):(w=vi(j.type,j.key,j.props,null,y.mode,w),dn(w,j),w.return=y,y=w)}return d(y);case le:e:{for(ne=j.key;p!==null;){if(p.key===ne)if(p.tag===4&&p.stateNode.containerInfo===j.containerInfo&&p.stateNode.implementation===j.implementation){a(y,p.sibling),w=i(p,j.children||[]),w.return=y,y=w;break e}else{a(y,p);break}else t(y,p);p=p.sibling}w=sc(j,y.mode,w),w.return=y,y=w}return d(y);case ae:return j=Za(j),Ee(y,p,j,w)}if(W(j))return F(y,p,j,w);if(Q(j)){if(ne=Q(j),typeof ne!="function")throw Error(r(150));return j=ne.call(j),ce(y,p,j,w)}if(typeof j.then=="function")return Ee(y,p,Si(j),w);if(j.$$typeof===Y)return Ee(y,p,yi(y,j),w);Ni(y,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,p!==null&&p.tag===6?(a(y,p.sibling),w=i(p,j),w.return=y,y=w):(a(y,p),w=ic(j,y.mode,w),w.return=y,y=w),d(y)):a(y,p)}return function(y,p,j,w){try{on=0;var ne=Ee(y,p,j,w);return Nl=null,ne}catch(I){if(I===Sl||I===ji)throw I;var Ne=yt(29,I,null,y.mode);return Ne.lanes=w,Ne.return=y,Ne}}}var Wa=wo(!0),Uo=wo(!1),ga=!1;function yc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function pa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ya(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(_e&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=mi(e),po(e,null,a),t}return hi(e,l,t,a),mi(e)}function fn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,kr(e,a)}}function jc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,s=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};s===null?i=s=d:s=s.next=d,a=a.next}while(a!==null);s===null?i=s=t:s=s.next=t}else i=s=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var xc=!1;function hn(){if(xc){var e=xl;if(e!==null)throw e}}function mn(e,t,a,l){xc=!1;var i=e.updateQueue;ga=!1;var s=i.firstBaseUpdate,d=i.lastBaseUpdate,f=i.shared.pending;if(f!==null){i.shared.pending=null;var g=f,S=g.next;g.next=null,d===null?s=S:d.next=S,d=g;var C=e.alternate;C!==null&&(C=C.updateQueue,f=C.lastBaseUpdate,f!==d&&(f===null?C.firstBaseUpdate=S:f.next=S,C.lastBaseUpdate=g))}if(s!==null){var O=i.baseState;d=0,C=S=g=null,f=s;do{var k=f.lane&-536870913,A=k!==f.lane;if(A?(je&k)===k:(l&k)===k){k!==0&&k===jl&&(xc=!0),C!==null&&(C=C.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var F=e,ce=f;k=t;var Ee=a;switch(ce.tag){case 1:if(F=ce.payload,typeof F=="function"){O=F.call(Ee,O,k);break e}O=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=ce.payload,k=typeof F=="function"?F.call(Ee,O,k):F,k==null)break e;O=D({},O,k);break e;case 2:ga=!0}}k=f.callback,k!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[k]:A.push(k))}else A={lane:k,tag:f.tag,payload:f.payload,callback:f.callback,next:null},C===null?(S=C=A,g=O):C=C.next=A,d|=k;if(f=f.next,f===null){if(f=i.shared.pending,f===null)break;A=f,f=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);C===null&&(g=O),i.baseState=g,i.firstBaseUpdate=S,i.lastBaseUpdate=C,s===null&&(i.shared.lanes=0),Na|=d,e.lanes=d,e.memoizedState=O}}function Oo(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Lo(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;es?s:8;var d=_.T,f={};_.T=f,qc(e,!1,t,a);try{var g=i(),S=_.S;if(S!==null&&S(f,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var C=Uv(g,l);pn(e,t,C,Nt(e))}else pn(e,t,l,Nt(e))}catch(O){pn(e,t,{then:function(){},status:"rejected",reason:O},Nt())}finally{V.p=s,d!==null&&f.types!==null&&(d.types=f.types),_.T=d}}function qv(){}function Hc(e,t,a,l){if(e.tag!==5)throw Error(r(476));var i=md(e).queue;hd(e,i,t,x,a===null?qv:function(){return vd(e),a(l)})}function md(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:x,baseState:x,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pt,lastRenderedState:x},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pt,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function vd(e){var t=md(e);t.next===null&&(t=e.alternate.memoizedState),pn(e,t.next.queue,{},Nt())}function Vc(){return et(Un)}function gd(){return Be().memoizedState}function pd(){return Be().memoizedState}function Bv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Nt();e=pa(a);var l=ya(t,e,a);l!==null&&(ft(l,t,a),fn(l,t,a)),t={cache:mc()},e.payload=t;return}t=t.return}}function Yv(e,t,a){var l=Nt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},wi(e)?bd(t,a):(a=lc(e,t,a,l),a!==null&&(ft(a,e,l),jd(a,t,l)))}function yd(e,t,a){var l=Nt();pn(e,t,a,l)}function pn(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(wi(e))bd(t,i);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var d=t.lastRenderedState,f=s(d,a);if(i.hasEagerState=!0,i.eagerState=f,pt(f,d))return hi(e,t,i,0),Ce===null&&fi(),!1}catch{}if(a=lc(e,t,i,l),a!==null)return ft(a,e,l),jd(a,t,l),!0}return!1}function qc(e,t,a,l){if(l={lane:2,revertLane:yu(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},wi(e)){if(t)throw Error(r(479))}else t=lc(e,a,l,2),t!==null&&ft(t,e,2)}function wi(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function bd(e,t){_l=Ai=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function jd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,kr(e,a)}}var yn={readContext:et,use:Di,useCallback:Le,useContext:Le,useEffect:Le,useImperativeHandle:Le,useLayoutEffect:Le,useInsertionEffect:Le,useMemo:Le,useReducer:Le,useRef:Le,useState:Le,useDebugValue:Le,useDeferredValue:Le,useTransition:Le,useSyncExternalStore:Le,useId:Le,useHostTransitionStatus:Le,useFormState:Le,useActionState:Le,useOptimistic:Le,useMemoCache:Le,useCacheRefresh:Le};yn.useEffectEvent=Le;var xd={readContext:et,use:Di,useCallback:function(e,t){return it().memoizedState=[e,t===void 0?null:t],e},useContext:et,useEffect:nd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ei(4194308,4,ud.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ei(4194308,4,e,t)},useInsertionEffect:function(e,t){Ei(4,2,e,t)},useMemo:function(e,t){var a=it();t=t===void 0?null:t;var l=e();if(Fa){ra(!0);try{e()}finally{ra(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=it();if(a!==void 0){var i=a(t);if(Fa){ra(!0);try{a(t)}finally{ra(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=Yv.bind(null,ve,e),[l.memoizedState,e]},useRef:function(e){var t=it();return e={current:e},t.memoizedState=e},useState:function(e){e=wc(e);var t=e.queue,a=yd.bind(null,ve,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Lc,useDeferredValue:function(e,t){var a=it();return Rc(a,e,t)},useTransition:function(){var e=wc(!1);return e=hd.bind(null,ve,e.queue,!0,!1),it().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=ve,i=it();if(Se){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Ce===null)throw Error(r(349));(je&127)!==0||Yo(l,t,a)}i.memoizedState=a;var s={value:a,getSnapshot:t};return i.queue=s,nd(Jo.bind(null,l,s,e),[e]),l.flags|=2048,Tl(9,{destroy:void 0},Go.bind(null,l,s,a,t),null),a},useId:function(){var e=it(),t=Ce.identifierPrefix;if(Se){var a=qt,l=Vt;a=(l&~(1<<32-gt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Ti++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?s.multiple=!0:l.size&&(s.size=l.size);break;default:s=typeof l.is=="string"?d.createElement(i,{is:l.is}):d.createElement(i)}}s[Ie]=t,s[st]=l;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)s.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=s;e:switch(at(s,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ta(t)}}return Ue(t),eu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ta(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(r(166));if(e=re.current,yl(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=Pe,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[Ie]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Bf(e.nodeValue,a)),e||ma(t,!0)}else e=Pi(e).createTextNode(l),e[Ie]=t,t.stateNode=e}return Ue(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=yl(t),a!==null){if(e===null){if(!l)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[Ie]=t}else Ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),e=!1}else a=oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(jt(t),t):(jt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Ue(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=yl(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(r(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(317));i[Ie]=t}else Ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),i=!1}else i=oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(jt(t),t):(jt(t),null)}return jt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),s=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(s=l.memoizedState.cachePool.pool),s!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Hi(t,t.updateQueue),Ue(t),null);case 4:return Ve(),e===null&&Su(t.stateNode.containerInfo),Ue(t),null;case 10:return $t(t.type),Ue(t),null;case 19:if(N(qe),l=t.memoizedState,l===null)return Ue(t),null;if(i=(t.flags&128)!==0,s=l.rendering,s===null)if(i)jn(l,!1);else{if(Re!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(s=_i(e),s!==null){for(t.flags|=128,jn(l,!1),e=s.updateQueue,t.updateQueue=e,Hi(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)yo(a,e),a=a.sibling;return U(qe,qe.current&1|2),Se&&Wt(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&mt()>Gi&&(t.flags|=128,i=!0,jn(l,!1),t.lanes=4194304)}else{if(!i)if(e=_i(s),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Hi(t,e),jn(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!Se)return Ue(t),null}else 2*mt()-l.renderingStartTime>Gi&&a!==536870912&&(t.flags|=128,i=!0,jn(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(e=l.last,e!==null?e.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=mt(),e.sibling=null,a=qe.current,U(qe,i?a&1|2:a&1),Se&&Wt(t,l.treeForkCount),e):(Ue(t),null);case 22:case 23:return jt(t),Nc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Ue(t),t.subtreeFlags&6&&(t.flags|=8192)):Ue(t),a=t.updateQueue,a!==null&&Hi(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&N(Xa),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),$t(Ye),Ue(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Zv(e,t){switch(uc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return $t(Ye),Ve(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Wn(t),null;case 31:if(t.memoizedState!==null){if(jt(t),t.alternate===null)throw Error(r(340));Ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return N(qe),null;case 4:return Ve(),null;case 10:return $t(t.type),null;case 22:case 23:return jt(t),Nc(),e!==null&&N(Xa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return $t(Ye),null;case 25:return null;default:return null}}function Qd(e,t){switch(uc(t),t.tag){case 3:$t(Ye),Ve();break;case 26:case 27:case 5:Wn(t);break;case 4:Ve();break;case 31:t.memoizedState!==null&&jt(t);break;case 13:jt(t);break;case 19:N(qe);break;case 10:$t(t.type);break;case 22:case 23:jt(t),Nc(),e!==null&&N(Xa);break;case 24:$t(Ye)}}function xn(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var s=a.create,d=a.inst;l=s(),d.destroy=l}a=a.next}while(a!==i)}}catch(f){ze(t,t.return,f)}}function xa(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var s=i.next;l=s;do{if((l.tag&e)===e){var d=l.inst,f=d.destroy;if(f!==void 0){d.destroy=void 0,i=t;var g=a,S=f;try{S()}catch(C){ze(i,g,C)}}}l=l.next}while(l!==s)}}catch(C){ze(t,t.return,C)}}function Xd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Lo(t,a)}catch(l){ze(e,e.return,l)}}}function Zd(e,t,a){a.props=$a(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){ze(e,t,l)}}function Sn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(i){ze(e,t,i)}}function Bt(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){ze(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){ze(e,t,i)}else a.current=null}function Kd(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(i){ze(e,e.return,i)}}function tu(e,t,a){try{var l=e.stateNode;v1(l,e.type,a,t),l[st]=t}catch(i){ze(e,e.return,i)}}function Wd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&za(e.type)||e.tag===4}function au(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Wd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&za(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function lu(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Xt));else if(l!==4&&(l===27&&za(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(lu(e,t,a),e=e.sibling;e!==null;)lu(e,t,a),e=e.sibling}function Vi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&za(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Vi(e,t,a),e=e.sibling;e!==null;)Vi(e,t,a),e=e.sibling}function Fd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);at(t,l,a),t[Ie]=e,t[st]=a}catch(s){ze(e,e.return,s)}}var aa=!1,Qe=!1,nu=!1,$d=typeof WeakSet=="function"?WeakSet:Set,Fe=null;function Kv(e,t){if(e=e.containerInfo,_u=ss,e=uo(e),$s(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var i=l.anchorOffset,s=l.focusNode;l=l.focusOffset;try{a.nodeType,s.nodeType}catch{a=null;break e}var d=0,f=-1,g=-1,S=0,C=0,O=e,k=null;t:for(;;){for(var A;O!==a||i!==0&&O.nodeType!==3||(f=d+i),O!==s||l!==0&&O.nodeType!==3||(g=d+l),O.nodeType===3&&(d+=O.nodeValue.length),(A=O.firstChild)!==null;)k=O,O=A;for(;;){if(O===e)break t;if(k===a&&++S===i&&(f=d),k===s&&++C===l&&(g=d),(A=O.nextSibling)!==null)break;O=k,k=O.parentNode}O=A}a=f===-1||g===-1?null:{start:f,end:g}}else a=null}a=a||{start:0,end:0}}else a=null;for(Au={focusedElem:e,selectionRange:a},ss=!1,Fe=t;Fe!==null;)if(t=Fe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Fe=e;else for(;Fe!==null;){switch(t=Fe,s=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),at(s,l,a),s[Ie]=e,We(s),l=s;break e;case"link":var d=nh("link","href",i).get(l+(a.href||""));if(d){for(var f=0;fEe&&(d=Ee,Ee=ce,ce=d);var y=so(f,ce),p=so(f,Ee);if(y&&p&&(A.rangeCount!==1||A.anchorNode!==y.node||A.anchorOffset!==y.offset||A.focusNode!==p.node||A.focusOffset!==p.offset)){var j=O.createRange();j.setStart(y.node,y.offset),A.removeAllRanges(),ce>Ee?(A.addRange(j),A.extend(p.node,p.offset)):(j.setEnd(p.node,p.offset),A.addRange(j))}}}}for(O=[],A=f;A=A.parentNode;)A.nodeType===1&&O.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fa?32:a,_.T=null,a=du,du=null;var s=_a,d=ca;if(Ze=0,Cl=_a=null,ca=0,(_e&6)!==0)throw Error(r(331));var f=_e;if(_e|=4,rf(s.current),sf(s,s.current,d,a),_e=f,zn(0,!1),vt&&typeof vt.onPostCommitFiberRoot=="function")try{vt.onPostCommitFiberRoot(Ql,s)}catch{}return!0}finally{V.p=i,_.T=l,Tf(e,t)}}function Df(e,t,a){t=zt(a,t),t=Jc(e.stateNode,t,2),e=ya(e,t,2),e!==null&&(Zl(e,2),Yt(e))}function ze(e,t,a){if(e.tag===3)Df(e,e,a);else for(;t!==null;){if(t.tag===3){Df(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(ka===null||!ka.has(l))){e=zt(a,e),a=Dd(2),l=ya(t,a,2),l!==null&&(Md(a,l,t,e),Zl(l,2),Yt(l));break}}t=t.return}}function vu(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new $v;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(cu=!0,i.add(a),e=a1.bind(null,e,t,a),t.then(e,e))}function a1(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ce===e&&(je&a)===a&&(Re===4||Re===3&&(je&62914560)===je&&300>mt()-Yi?(_e&2)===0&&wl(e,0):uu|=a,El===je&&(El=0)),Yt(e)}function Mf(e,t){t===0&&(t=Sr()),e=Ba(e,t),e!==null&&(Zl(e,t),Yt(e))}function l1(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Mf(e,a)}function n1(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(t),Mf(e,a)}function i1(e,t){return zs(e,t)}var Wi=null,Ol=null,gu=!1,Fi=!1,pu=!1,Ta=0;function Yt(e){e!==Ol&&e.next===null&&(Ol===null?Wi=Ol=e:Ol=Ol.next=e),Fi=!0,gu||(gu=!0,c1())}function zn(e,t){if(!pu&&Fi){pu=!0;do for(var a=!1,l=Wi;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var s=0;else{var d=l.suspendedLanes,f=l.pingedLanes;s=(1<<31-gt(42|e)+1)-1,s&=i&~(d&~f),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(a=!0,Uf(l,s))}else s=je,s=ei(l,l===Ce?s:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(s&3)===0||Xl(l,s)||(a=!0,Uf(l,s));l=l.next}while(a);pu=!1}}function s1(){Ef()}function Ef(){Fi=gu=!1;var e=0;Ta!==0&&p1()&&(e=Ta);for(var t=mt(),a=null,l=Wi;l!==null;){var i=l.next,s=Cf(l,t);s===0?(l.next=null,a===null?Wi=i:a.next=i,i===null&&(Ol=a)):(a=l,(e!==0||(s&3)!==0)&&(Fi=!0)),l=i}Ze!==0&&Ze!==5||zn(e),Ta!==0&&(Ta=0)}function Cf(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,s=e.pendingLanes&-62914561;0f)break;var C=g.transferSize,O=g.initiatorType;C&&Yf(O)&&(g=g.responseEnd,d+=C*(g"u"?null:document;function eh(e,t,a){var l=Ll;if(l&&typeof t=="string"&&t){var i=At(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),Pf.has(i)||(Pf.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),at(t,"link",e),We(t),l.head.appendChild(t)))}}function A1(e){ua.D(e),eh("dns-prefetch",e,null)}function T1(e,t){ua.C(e,t),eh("preconnect",e,t)}function z1(e,t,a){ua.L(e,t,a);var l=Ll;if(l&&e&&t){var i='link[rel="preload"][as="'+At(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+At(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+At(a.imageSizes)+'"]')):i+='[href="'+At(e)+'"]';var s=i;switch(t){case"style":s=Rl(e);break;case"script":s=Hl(e)}Ut.has(s)||(e=D({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Ut.set(s,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(Cn(s))||t==="script"&&l.querySelector(wn(s))||(t=l.createElement("link"),at(t,"link",e),We(t),l.head.appendChild(t)))}}function D1(e,t){ua.m(e,t);var a=Ll;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+At(l)+'"][href="'+At(e)+'"]',s=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Hl(e)}if(!Ut.has(s)&&(e=D({rel:"modulepreload",href:e},t),Ut.set(s,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(wn(s)))return}l=a.createElement("link"),at(l,"link",e),We(l),a.head.appendChild(l)}}}function M1(e,t,a){ua.S(e,t,a);var l=Ll;if(l&&e){var i=il(l).hoistableStyles,s=Rl(e);t=t||"default";var d=i.get(s);if(!d){var f={loading:0,preload:null};if(d=l.querySelector(Cn(s)))f.loading=5;else{e=D({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Ut.get(s))&&wu(e,a);var g=d=l.createElement("link");We(g),at(g,"link",e),g._p=new Promise(function(S,C){g.onload=S,g.onerror=C}),g.addEventListener("load",function(){f.loading|=1}),g.addEventListener("error",function(){f.loading|=2}),f.loading|=4,ts(d,t,l)}d={type:"stylesheet",instance:d,count:1,state:f},i.set(s,d)}}}function E1(e,t){ua.X(e,t);var a=Ll;if(a&&e){var l=il(a).hoistableScripts,i=Hl(e),s=l.get(i);s||(s=a.querySelector(wn(i)),s||(e=D({src:e,async:!0},t),(t=Ut.get(i))&&Uu(e,t),s=a.createElement("script"),We(s),at(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(i,s))}}function C1(e,t){ua.M(e,t);var a=Ll;if(a&&e){var l=il(a).hoistableScripts,i=Hl(e),s=l.get(i);s||(s=a.querySelector(wn(i)),s||(e=D({src:e,async:!0,type:"module"},t),(t=Ut.get(i))&&Uu(e,t),s=a.createElement("script"),We(s),at(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(i,s))}}function th(e,t,a,l){var i=(i=re.current)?es(i):null;if(!i)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Rl(a.href),a=il(i).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Rl(a.href);var s=il(i).hoistableStyles,d=s.get(e);if(d||(i=i.ownerDocument||i,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,d),(s=i.querySelector(Cn(e)))&&!s._p&&(d.instance=s,d.state.loading=5),Ut.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Ut.set(e,a),s||w1(i,e,a,d.state))),t&&l===null)throw Error(r(528,""));return d}if(t&&l!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Hl(a),a=il(i).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Rl(e){return'href="'+At(e)+'"'}function Cn(e){return'link[rel="stylesheet"]['+e+"]"}function ah(e){return D({},e,{"data-precedence":e.precedence,precedence:null})}function w1(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),at(t,"link",a),We(t),e.head.appendChild(t))}function Hl(e){return'[src="'+At(e)+'"]'}function wn(e){return"script[async]"+e}function lh(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+At(a.href)+'"]');if(l)return t.instance=l,We(l),l;var i=D({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),We(l),at(l,"style",i),ts(l,a.precedence,e),t.instance=l;case"stylesheet":i=Rl(a.href);var s=e.querySelector(Cn(i));if(s)return t.state.loading|=4,t.instance=s,We(s),s;l=ah(a),(i=Ut.get(i))&&wu(l,i),s=(e.ownerDocument||e).createElement("link"),We(s);var d=s;return d._p=new Promise(function(f,g){d.onload=f,d.onerror=g}),at(s,"link",l),t.state.loading|=4,ts(s,a.precedence,e),t.instance=s;case"script":return s=Hl(a.src),(i=e.querySelector(wn(s)))?(t.instance=i,We(i),i):(l=a,(i=Ut.get(s))&&(l=D({},a),Uu(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),We(i),at(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,ts(l,a.precedence,e));return t.instance}function ts(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,s=i,d=0;d title"):null)}function U1(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function sh(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function O1(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Rl(l.href),s=t.querySelector(Cn(i));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ls.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=s,We(s);return}s=t.ownerDocument||t,l=ah(l),(i=Ut.get(i))&&wu(l,i),s=s.createElement("link"),We(s);var d=s;d._p=new Promise(function(f,g){d.onload=f,d.onerror=g}),at(s,"link",l),a.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ls.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ou=0;function L1(e,t){return e.stylesheets&&e.count===0&&is(e,e.stylesheets),0Ou?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function ls(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)is(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ns=null;function is(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ns=new Map,t.forEach(R1,e),ns=null,ls.call(e))}function R1(e,t){if(!(t.state.loading&4)){var a=ns.get(e);if(a)var l=a.get(null);else{a=new Map,ns.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(c){console.error(c)}}return o(),Ju.exports=P1(),Ju.exports}var tg=eg();class ag{observers=new Set;next(c){this.observers.forEach(u=>u(c))}asObservable(){return{subscribe:c=>(this.observers.add(c),{unsubscribe:()=>this.observers.delete(c)})}}}class lg extends ag{currentValue;constructor(c){super(),this.currentValue=c}next(c){this.currentValue=c,super.next(c)}get value(){return this.currentValue}asObservable(){return{subscribe:c=>(c(this.currentValue),super.asObservable().subscribe(c))}}}class ng{authId="id";authToken="token";authEmail="email";runOutDate="runOutDate";authTokenSubject=new lg(null);constructor(){}async loadAuthTokenFromStorage(){const c=window.localStorage.getItem(this.authToken);this.authTokenSubject.next(c)}async setAuthData(c,u){if(await this.setPreference(this.authId,c.id),await this.setPreference(this.authToken,c.token),await this.setPreference(this.authEmail,c.email),u)await this.setPreference(this.runOutDate,"forever");else{const r=new Date,h=new Date(r);h.setDate(r.getDate()+1);const v=h.toISOString();await this.setPreference(this.runOutDate,v)}}async setPreference(c,u){window.localStorage.setItem(c,u)}async getCandidateId(){return window.localStorage.getItem(this.authId)}async getCandidateEmail(){return window.localStorage.getItem(this.authEmail)}async getAuthToken(){return window.localStorage.getItem(this.authToken)}getAuthTokenNoneAsync(){return this.authTokenSubject.value}async getRunOutDate(){return window.localStorage.getItem(this.runOutDate)}async clearCredentials(){window.localStorage.removeItem(this.authId),window.localStorage.removeItem(this.authToken),window.localStorage.removeItem(this.runOutDate)}async getAuth(){let c=await this.getCandidateId(),u=await this.getAuthToken(),r=await this.getCandidateEmail(),h=await this.getRunOutDate();return c&&u&&r&&h?{id:c,token:u,email:r,runOutDate:h}:null}getAuthTokenWithoutWindow(){const c=this.getAuthTokenNoneAsync();return c||""}getAuthWithoutWindow(){const c=this.getAuthTokenNoneAsync();return c?{id:"",token:c,email:"",runOutDate:"forever"}:null}}const Gl=new ng;const $h=(...o)=>o.filter((c,u,r)=>!!c&&c.trim()!==""&&r.indexOf(c)===u).join(" ").trim();const ig=o=>o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const sg=o=>o.replace(/^([A-Z])|[\s-_]+(\w)/g,(c,u,r)=>r?r.toUpperCase():u.toLowerCase());const Mh=o=>{const c=sg(o);return c.charAt(0).toUpperCase()+c.slice(1)};var cg={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ug=o=>{for(const c in o)if(c.startsWith("aria-")||c==="role"||c==="title")return!0;return!1};const rg=T.forwardRef(({color:o="currentColor",size:c=24,strokeWidth:u=2,absoluteStrokeWidth:r,className:h="",children:v,iconNode:z,...q},L)=>T.createElement("svg",{ref:L,...cg,width:c,height:c,stroke:o,strokeWidth:r?Number(u)*24/Number(c):u,className:$h("lucide",h),...!v&&!ug(q)&&{"aria-hidden":"true"},...q},[...z.map(([b,B])=>T.createElement(b,B)),...Array.isArray(v)?v:[v]]));const X=(o,c)=>{const u=T.forwardRef(({className:r,...h},v)=>T.createElement(rg,{ref:v,iconNode:c,className:$h(`lucide-${ig(Mh(o))}`,`lucide-${o}`,r),...h}));return u.displayName=Mh(o),u};const og=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ih=X("arrow-left",og);const dg=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Ua=X("arrow-right",dg);const fg=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],hg=X("arrow-up-down",fg);const mg=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ph=X("badge-check",mg);const vg=[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]],gg=X("bolt",vg);const pg=[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],yg=X("bookmark",pg);const bg=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],em=X("bot",bg);const jg=[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],ar=X("briefcase-business",jg);const xg=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],fr=X("briefcase",xg);const Sg=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],Ng=X("calendar-days",Sg);const kg=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],_g=X("calendar",kg);const Ag=[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]],tm=X("car",Ag);const Tg=[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]],zg=X("check-check",Tg);const Dg=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Mg=X("check",Dg);const Eg=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bn=X("chevron-down",Eg);const Cg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ke=X("circle-check",Cg);const wg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]],Ug=X("circle-pause",wg);const Og=[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Lg=X("circle-play",Og);const Rg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]],Hg=X("circle-plus",Rg);const Vg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],qg=X("circle-stop",Vg);const Bg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Yg=X("circle-user",Bg);const Gg=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],Jg=X("clipboard-list",Gg);const Qg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],lr=X("clock-3",Qg);const Xg=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],nr=X("code-xml",Xg);const Zg=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],ir=X("crown",Zg);const Kg=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Wg=X("ellipsis",Kg);const Fg=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],$g=X("file-plus-corner",Fg);const Ig=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],sr=X("file-text",Ig);const Pg=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],am=X("funnel",Pg);const ep=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],lm=X("gamepad-2",ep);const tp=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",key:"1sqzm4"}],["path",{d:"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5",key:"kc0143"}],["rect",{x:"3",y:"7",width:"18",height:"4",rx:"1",key:"1hberx"}]],ap=X("gift",tp);const lp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],js=X("globe",lp);const np=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],nm=X("graduation-cap",np);const ip=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],im=X("grid-3x3",ip);const sp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],cp=X("info",sp);const up=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],cr=X("laptop",up);const rp=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],op=X("layout-grid",rp);const dp=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]],sm=X("layout-panel-top",dp);const fp=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],hp=X("lightbulb",fp);const mp=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],vp=X("link-2",mp);const gp=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],cm=X("lock-keyhole",gp);const pp=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],yp=X("log-out",pp);const bp=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],xs=X("mail",bp);const jp=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],Qn=X("map-pin",jp);const xp=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Sp=X("menu",xp);const Np=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],um=X("message-circle",Np);const kp=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],_p=X("mic",kp);const Ap=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Tp=X("monitor",Ap);const zp=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Dp=X("moon",zp);const Mp=[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]],Ep=X("move-right",Mp);const Cp=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],wp=X("paperclip",Cp);const Up=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Op=X("pen-line",Up);const Lp=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],Rp=X("phone",Lp);const Hp=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Vp=X("play",Hp);const qp=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Bp=X("plus",qp);const Yp=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Gp=X("presentation",Yp);const Jp=[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]],Qp=X("radar",Jp);const Xp=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Zp=X("radio",Xp);const Kp=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],Wp=X("rocket",Kp);const Fp=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],ur=X("route",Fp);const $p=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Ip=X("save",$p);const Pp=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],rr=X("search",Pp);const e0=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],t0=X("send",e0);const a0=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],rm=X("settings",a0);const l0=[["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"}]],n0=X("shield",l0);const i0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],s0=X("smile",i0);const c0=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Zn=X("sparkles",c0);const u0=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],om=X("square-pen",u0);const r0=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],hr=X("star",r0);const o0=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],d0=X("sun",o0);const f0=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Kn=X("target",f0);const h0=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Eh=X("trending-up",h0);const m0=[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]],dm=X("trophy",m0);const v0=[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],ql=X("user-round",v0);const g0=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Ch=X("user",g0);const p0=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],y0=X("users",p0);const b0=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],j0=X("wand-sparkles",b0);const x0=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],or=X("x",x0);function Bl({icon:o,label:c,...u}){return n.jsxs("label",{className:"auth-field",children:[n.jsx("span",{children:c}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:o}),n.jsx("input",{...u})]})]})}function S0({email:o,loading:c,onBackToLogin:u,onChangeEmail:r,onSubmit:h}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head",children:[n.jsx("button",{className:"link-btn back-link",type:"button",onClick:u,children:"Tilbage"}),n.jsx("h1",{children:"Glemt kodeord?"}),n.jsx("p",{children:"Indtast din e-mail, sa sender vi instruktioner til at nulstille din kode."})]}),n.jsxs("form",{className:"auth-form",onSubmit:h,children:[n.jsx(Bl,{icon:n.jsx(xs,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:o,onChange:v=>r(v.target.value),required:!0}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:c,children:c?"Sender...":"Send nulstillingslink"})]})]})}function N0({email:o,loading:c,onChangeEmail:u,onChangePassword:r,onChangeRememberMe:h,onForgotPassword:v,onRegister:z,onSubmit:q,password:L,rememberMe:b}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head auth-head-center",children:[n.jsx("h1",{children:"Velkommen tilbage"}),n.jsx("p",{children:"Indtast dine oplysninger for at logge ind pa din konto."})]}),n.jsxs("form",{className:"auth-form",onSubmit:q,children:[n.jsx(Bl,{icon:n.jsx(xs,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:o,onChange:B=>u(B.target.value),required:!0}),n.jsxs("label",{className:"auth-field",children:[n.jsxs("div",{className:"auth-field-row",children:[n.jsx("span",{children:"Adgangskode"}),n.jsx("button",{className:"link-btn",type:"button",onClick:v,children:"Glemt adgangskode?"})]}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:n.jsx(cm,{size:16,strokeWidth:1.8})}),n.jsx("input",{type:"password",placeholder:"••••••••",value:L,onChange:B=>r(B.target.value),required:!0})]})]}),n.jsxs("label",{className:"check-row",children:[n.jsx("input",{type:"checkbox",checked:b,onChange:B=>h(B.target.checked)}),n.jsx("span",{children:"Husk mig i 30 dage"})]}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:c,children:c?"Logger ind...":"Log ind"})]}),n.jsxs("p",{className:"auth-foot",children:["Har du ikke en konto?",n.jsx("button",{className:"link-btn",type:"button",onClick:z,children:"Opret bruger"})]})]})}function k0({email:o,firstName:c,lastName:u,loading:r,locationQuery:h,locationSuggestions:v,onBackToLogin:z,onChangeEmail:q,onChangeFirstName:L,onChangeLastName:b,onChangeLocationQuery:B,onChangePassword:D,onSelectLocation:R,onSubmit:K,password:le}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head auth-head-center",children:[n.jsx("h1",{children:"Opret konto"}),n.jsx("p",{children:"Start din karriere-rejse med os i dag."})]}),n.jsxs("form",{className:"auth-form",onSubmit:K,children:[n.jsx(Bl,{icon:n.jsx(Ch,{size:16,strokeWidth:1.8}),label:"Fornavn",type:"text",placeholder:"Lasse",value:c,onChange:Z=>L(Z.target.value),required:!0}),n.jsx(Bl,{icon:n.jsx(Ch,{size:16,strokeWidth:1.8}),label:"Efternavn",type:"text",placeholder:"Hansen",value:u,onChange:Z=>b(Z.target.value),required:!0}),n.jsx(Bl,{icon:n.jsx(xs,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:o,onChange:Z=>q(Z.target.value),required:!0}),n.jsx(Bl,{icon:n.jsx(cm,{size:16,strokeWidth:1.8}),label:"Adgangskode",type:"password",placeholder:"Skab en staerk kode",value:le,onChange:Z=>D(Z.target.value),required:!0,minLength:8}),n.jsxs("label",{className:"auth-field",children:[n.jsx("span",{children:"Lokation"}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:n.jsx(Qn,{size:16,strokeWidth:1.8})}),n.jsx("input",{type:"text",placeholder:"Soeg by eller adresse",value:h,onChange:Z=>B(Z.target.value),autoComplete:"off",required:!0})]}),v.length>0?n.jsx("div",{className:"location-suggestions",children:v.map(Z=>n.jsx("button",{type:"button",className:"location-suggestion-item",onClick:()=>{R(Z.placeId,Z.description)},children:Z.description},Z.placeId))}):null]}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:r,children:r?"Opretter...":"Opret bruger"})]}),n.jsxs("p",{className:"auth-foot",children:["Har du allerede en konto?",n.jsx("button",{className:"link-btn",type:"button",onClick:z,children:"Log ind"})]})]})}class el{searchParams;constructor(c){this.searchParams=c?new URLSearchParams(c):new URLSearchParams}append(c,u){const r=new URLSearchParams(this.searchParams);return r.append(c,String(u)),new el(r)}set(c,u){const r=new URLSearchParams(this.searchParams);return r.set(c,String(u)),new el(r)}toString(){return this.searchParams.toString()}}function hs(o,c){if(!c)return o;const u=new URL(o);if(c instanceof el){const r=c.toString();return r&&new URLSearchParams(r).forEach((v,z)=>u.searchParams.append(z,v)),u.toString()}return Object.entries(c).forEach(([r,h])=>{if(Array.isArray(h)){h.forEach(v=>u.searchParams.append(r,String(v)));return}u.searchParams.set(r,String(h))}),u.toString()}async function ms(o,c="json"){if(!o.ok){const u=await o.text();throw new Error(u||`HTTP ${o.status}`)}if(o.status!==204)return c==="blob"?await o.blob():await o.json()}function vs(o){const c=typeof window>"u"?null:window.localStorage.getItem("token");return{...c?{Authorization:`Bearer ${c}`}:{},...o??{}}}class _0{async get(c,u){const r=await fetch(hs(c,u?.params),{method:"GET",headers:vs(u?.headers)});return ms(r,u?.responseType)}async post(c,u,r){const h=await fetch(hs(c,r?.params),{method:"POST",headers:{"Content-Type":"application/json",...vs(r?.headers)},body:u===void 0?void 0:JSON.stringify(u)});return ms(h)}async put(c,u,r){const h=await fetch(hs(c,r?.params),{method:"PUT",headers:{"Content-Type":"application/json",...vs(r?.headers)},body:u===void 0?void 0:JSON.stringify(u)});return ms(h)}async delete(c,u){const r=await fetch(hs(c,u?.params),{method:"DELETE",headers:vs(u?.headers)});return ms(r)}}const He=new _0,M={backendApi:"https://api.arbejd.com/",backendApiV2:"https://api2.arbejd.com/api/"};class A0{http;constructor(c=He){this.http=c}login(c,u){let r=M.backendApi+"api/1.1.0/candidate/login",h={email:c,password:u};return this.http.post(r,h)}forgotPassword(c){let u=M.backendApi+"api/1.1.0/candidate/resetPassword/"+c.toLowerCase();return this.http.get(u)}}class tl{constructor(c=He,u=Gl){this.http=c,this.localStorageService=u}closeAccount(c){let u=M.backendApi+"api/1.1.0/candidate/"+c.toLowerCase();return this.http.delete(u)}accountRetention(c){let u=M.backendApi+"api/1.1.0/candidate/"+c+"/account-retention/";return this.http.get(u)}getCandidatesQualifications(){let c=M.backendApi+"api/1.1.0/candidate/skill/";return this.http.get(c)}getCandidatesCertifications(){let c=M.backendApi+"api/1.1.0/candidate/certificate/";return this.http.get(c)}getCandidatesLanguages(){let c=M.backendApi+"api/1.1.0/candidate/language/";return this.http.get(c)}getCandidatesDriverLicenses(){let c=M.backendApi+"api/1.1.0/candidate/driversLicense/";return this.http.get(c)}changePassword(c,u){let r=M.backendApi+"api/1.1.0/candidate/resetPassword",h={key:c,password:u};return this.http.post(r,h)}getCandidatesEducations(){let c=M.backendApiV2+"1.0.0/client/candidate_education";return this.http.get(c)}updateExperience(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_experience/"+c.id,h={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.put(r,h)}createAccountV2(c){let u=M.backendApiV2+"1.0.0/client/candidate";return this.http.post(u,c)}updateCandidate(c,u){let r=M.backendApiV2+"1.0.0/client/candidate/v2/"+c.id,h={...c};c.birthday&&(c.birthday=new Date(c.birthday)),c.birthday instanceof Date&&(h.birthday=c.birthday.toISOString());let v={language:u,candidate:h};return this.http.put(r,v)}getCandidate(){let c=M.backendApiV2+"1.0.0/client/candidate";return this.http.get(c)}getCvSuggestion(){let c=M.backendApiV2+"1.0.0/client/suggestion";return this.http.get(c)}saveExperience(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_experience",h={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,esco_id:c.occupation.id,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.post(r,h)}removeExperience(c){let u=M.backendApiV2+"1.0.0/client/candidate_experience/"+c;return this.http.delete(u)}getCandidatesExperiences(){let c=M.backendApiV2+"1.0.0/client/candidate_experience";return this.http.get(c)}getJobAgentFilters(){let c=M.backendApiV2+"1.0.0/client/job_agent_filter";return this.http.get(c)}updateJobAgentFilter(c){let u=M.backendApiV2+"1.0.0/client/job_agent_filter/"+c.id,r=c;return this.http.put(u,r)}removeJobAgentFilter(c){let u=M.backendApiV2+"1.0.0/client/job_agent_filter/"+c;return this.http.delete(u)}updateCandidateJobSeeker(c){let u=M.backendApiV2+"1.0.0/client/candidate/update_job_seeker/"+c.id;return this.http.put(u,c)}updateCvUploadProfileText(c,u,r){let h=M.backendApiV2+"1.0.0/client/candidate/update_cv_upload_profile/"+c,v={description:u,language:r};return this.http.put(h,v)}saveExperienceV2(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_experience",h={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,esco_id:c.escoId,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.post(r,h)}updateProfileText(c){let u=M.backendApiV2+"1.0.0/client/candidate/update_profile_text";return this.http.put(u,c)}}function Ku(o,c){const u=o[c];return typeof u=="string"?u:null}class T0{authService;candidateService;constructor(c=new A0,u=new tl){this.authService=c,this.candidateService=u}async login(c,u,r){const v=await this.authService.login(c,u)??{},z=Ku(v,"token");if(!z)return{ok:!1,message:"Login fejlede: token mangler i svaret fra serveren."};const q={id:Ku(v,"id")??"",token:z,email:Ku(v,"email")??c,runOutDate:"forever"};return await Gl.setAuthData(q,r),{ok:!0,message:"Du er nu logget ind."}}async forgotPassword(c){return await this.authService.forgotPassword(c),{ok:!0,message:"Anmodning om nulstilling af kodeord er sendt."}}async register(c){const u=Number.parseInt(c.zip,10);if(Number.isNaN(u))return{ok:!1,message:"Postnummer skal være et tal."};const r={email:c.email,password:c.password,zip:u,zipName:c.zipName,awsUrl:"",latitude:0,longitude:0,firstName:c.firstName,lastName:c.lastName,subscribe:c.subscribe};return await this.candidateService.createAccountV2(r),{ok:!0,message:"Kontoen er oprettet."}}}class fm{constructor(c=He){this.http=c}searchPlaces(c){const u=M.backendApiV2+"client/google_maps/1.0.0/get_places?query="+encodeURIComponent(c);return this.http.get(u)}getPlaceDetails(c){const u=M.backendApiV2+"client/google_maps/1.0.0/get_place_details?place_id="+encodeURIComponent(c);return this.http.get(u)}}function z0(o){const c=T.useMemo(()=>new T0,[]),u=T.useMemo(()=>new fm,[]),[r,h]=T.useState(""),[v,z]=T.useState(!1),[q,L]=T.useState(""),[b,B]=T.useState(""),[D,R]=T.useState(""),[K,le]=T.useState(""),[Z,fe]=T.useState(""),[te,se]=T.useState(""),[Y,P]=T.useState([]),[ie,G]=T.useState(null),[E,ae]=T.useState(""),[he,pe]=T.useState(!1),[H,Q]=T.useState(null),[ue,ee]=T.useState("login");function W(N){Q(null),ee(N)}async function _(N){const U=N.trim();if(U.length<3){P([]);return}try{const oe=((await u.searchPlaces(U)).predictions??[]).filter(re=>typeof re.place_id=="string"&&typeof re.description=="string").map(re=>({description:re.description,placeId:re.place_id}));P(oe)}catch{P([])}}function V(N){const U=N.match(/\b(\d{4})\b/);if(!U)return null;const J=U[1],re=N.slice(N.indexOf(J)+J.length).trim().split(",")[0]?.trim()||"";return re?{cityName:re,zip:J}:null}async function x(N,U){let J=U;try{const re=await u.getPlaceDetails(N);typeof re.result?.formatted_address=="string"&&re.result.formatted_address.trim()&&(J=re.result.formatted_address.trim())}catch{}const oe=V(J)??V(U);if(se(J),P([]),!oe){G(null);return}G({cityName:oe.cityName,description:J,zip:oe.zip})}async function $(N){N.preventDefault(),z(!0),Q(null);try{const U=await c.login(q.trim(),b,he);Q(U),U.ok&&o?.()}catch(U){const J=U instanceof Error?U.message:"Login mislykkedes.";Q({ok:!1,message:J})}finally{z(!1)}}async function de(N){N.preventDefault(),z(!0),Q(null);try{if(!ie){Q({ok:!1,message:"Vaelg en lokation fra listen (med postnummer)."});return}const U=await c.register({email:K.trim(),firstName:D.trim(),lastName:Z.trim(),password:E,subscribe:!0,zip:ie.zip,zipName:ie.cityName});Q(U),U.ok&&ee("login")}catch(U){const J=U instanceof Error?U.message:"Oprettelse mislykkedes.";Q({ok:!1,message:J})}finally{z(!1)}}async function m(N){N.preventDefault(),z(!0),Q(null);try{const U=await c.forgotPassword(r.trim());Q(U)}catch(U){const J=U instanceof Error?U.message:"Kunne ikke sende nulstillingslink.";Q({ok:!1,message:J})}finally{z(!1)}}return{forgotEmail:r,handleForgotSubmit:m,handleLoginSubmit:$,handleRegisterSubmit:de,loading:v,loginEmail:q,loginPassword:b,registerFirstName:D,registerEmail:K,registerLastName:Z,registerLocationQuery:te,registerLocationSuggestions:Y,registerPassword:E,rememberMe:he,result:H,setForgotEmail:h,setLoginEmail:L,setLoginPassword:B,setRegisterEmail:le,setRegisterFirstName:R,setRegisterLastName:fe,setRegisterLocationQuery:N=>{se(N),G(null),_(N)},setRegisterPassword:ae,setRememberMe:pe,selectRegisterLocation:x,switchView:W,view:ue}}function D0({onAuthenticated:o}){const{forgotEmail:c,handleForgotSubmit:u,handleLoginSubmit:r,handleRegisterSubmit:h,loading:v,loginEmail:z,loginPassword:q,registerFirstName:L,registerEmail:b,registerLastName:B,registerLocationQuery:D,registerLocationSuggestions:R,registerPassword:K,rememberMe:le,result:Z,setForgotEmail:fe,setLoginEmail:te,setLoginPassword:se,setRegisterEmail:Y,setRegisterFirstName:P,setRegisterLastName:ie,setRegisterLocationQuery:G,setRegisterPassword:E,setRememberMe:ae,selectRegisterLocation:he,switchView:pe,view:H}=z0(o);return n.jsxs("main",{className:"auth-page",children:[n.jsx("div",{className:"orb orb-1"}),n.jsx("div",{className:"orb orb-2"}),n.jsx("div",{className:"orb orb-3"}),n.jsxs("div",{className:"auth-logo-wrap",children:[n.jsx("div",{className:"auth-logo-dot",children:"A"}),n.jsx("span",{className:"auth-logo-text",children:"ARBEJD"})]}),n.jsxs("section",{className:"auth-card",children:[H==="login"?n.jsx(N0,{email:z,loading:v,onChangeEmail:te,onChangePassword:se,onChangeRememberMe:ae,onForgotPassword:()=>pe("forgot"),onRegister:()=>pe("register"),onSubmit:r,password:q,rememberMe:le}):null,H==="register"?n.jsx(k0,{email:b,firstName:L,lastName:B,loading:v,locationQuery:D,locationSuggestions:R,onBackToLogin:()=>pe("login"),onChangeEmail:Y,onChangeFirstName:P,onChangeLastName:ie,onChangeLocationQuery:G,onChangePassword:E,onSelectLocation:he,onSubmit:h,password:K}):null,H==="forgot"?n.jsx(S0,{email:c,loading:v,onBackToLogin:()=>pe("login"),onChangeEmail:fe,onSubmit:u}):null,Z?n.jsx("p",{className:Z.ok?"status success":"status error",children:Z.message}):null]},H)]})}class hm{constructor(c=He){this.http=c}listEscoByParent(c){let u=M.backendApiV2+"1.0.0/client/esco";return c&&(u+="/"+c),this.http.get(u)}listAllEscos(){let c=M.backendApiV2+"1.0.0/client/esco";return this.http.get(c)}}class M0{constructor(c=He){this.http=c}addEscoToJobAgent(c){let u=M.backendApiV2+"1.0.0/client/job_agent_filter",r={esco_id:c};return this.http.post(u,r)}removeJobAgentFilter(c){let u=M.backendApiV2+"1.0.0/client/job_agent_filter/"+c;return this.http.delete(u)}}class Ss{constructor(c=He){this.http=c}getPaymentOverview(){let c=M.backendApiV2+"client/end_user_subscription/1.0.0/payment_overview";return this.http.get(c)}getSubscriptionProducts(){let c=M.backendApiV2+"client/end_user_subscription/1.0.0/get_products";return this.http.get(c)}deactivateAutoRenew(){let c=M.backendApiV2+"client/end_user_subscription/1.0.0/deactivate_auto_renew";return this.http.put(c,{})}activateAutoRenew(){let c=M.backendApiV2+"client/end_user_subscription/1.0.0/activate_auto_renew";return this.http.put(c,{})}redeemCode(c){let u=M.backendApiV2+"client/candidate_redeem_code/v1";return this.http.post(u,{code:c})}}class mm{constructor(c=new tl,u=new Ss,r=new M0,h=new hm){this.candidateService=c,this.subscriptionService=u,this.jobAgentService=r,this.escoService=h}async loadInitialData(){const[c,u,r,h]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.candidateService.getJobAgentFilters(),this.candidateService.getCvSuggestion(),this.escoService.listAllEscos()]);return{paymentOverview:c.status==="fulfilled"?c.value:null,jobAgentFilters:u.status==="fulfilled"?u.value:[],cvSuggestions:r.status==="fulfilled"?this.withImprovements(r.value):[],escos:h.status==="fulfilled"?h.value:[]}}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async addEscoToFilter(c){await this.jobAgentService.addEscoToJobAgent(c)}async removeFilter(c){await this.jobAgentService.removeJobAgentFilter(c)}async setFilterVisibility(c,u){await this.candidateService.updateJobAgentFilter({...c,visible:u})}getEscoSuggestions(c,u,r){const h=c.trim().toLowerCase();if(!h)return[];const v=new Set(r.map(z=>z.escoId));return u.filter(z=>!v.has(z.id)).filter(z=>z.preferedLabelDa.toLowerCase().includes(h)).slice(0,10)}getSuggestionText(c){return c>=0&&c<50?"Et godt første skridt mod flere relevante job.":c>=50&&c<100?"Kan styrke dine chancer i ansøgningsbunken.":c>=100&&c<150?"Ofte efterspurgt og forbedrer dine jobmuligheder markant.":c>=150&&c<200?"Et klart plus som gør dig mere attraktiv for arbejdsgivere.":c>=200?"En afgørende faktor der åbner langt flere jobmuligheder.":"Forbedrer din profil til kommende jobmatch."}withImprovements(c){return c.map(u=>{const r=[],h=[{items:u.jobImprovementSuggestion.educations??[],type:"education"},{items:u.jobImprovementSuggestion.languages??[],type:"language"},{items:u.jobImprovementSuggestion.driversLicenses??[],type:"driversLicense"},{items:u.jobImprovementSuggestion.qualifications??[],type:"qualification"},{items:u.jobImprovementSuggestion.certificates??[],type:"certificate"}];for(const v of h)for(const z of v.items)r.push({...z,improvementType:v.type});return r.sort((v,z)=>z.jobChanceIncrease-v.jobChanceIncrease),{...u,improvements:r}})}}class E0{constructor(c=He){this.http=c}saveJobFilter(c){let u=M.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.post(u,c)}getJobFilter(){let c=M.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.get(c)}resetJobFilter(){let c=M.backendApiV2+"1.0.0/client/candidate_search_filter/reset_job_filter";return this.http.put(c,{})}}class mr{http;constructor(c=He){this.http=c}getSearchWords(){let c=M.backendApiV2+"1.0.0/client/candidate_search/list_search_words";return this.http.get(c)}getJobs(c,u,r){let h=M.backendApi+"api/1.1.0/jobs/all/"+u+"/"+r;return this.http.post(h,c)}getJobsV2(c,u,r,h){let v=M.backendApiV2+"1.0.0/client/candidate_search/v2/"+c+"/"+u+"/"+r,z=new el;return h.length>0&&h.forEach(q=>{z=z.append("terms",q)}),this.http.get(v,{params:z})}getSavedJobs(c,u){let r=M.backendApi+"api/1.1.0/candidate/jobs/saved";return this.http.get(r)}getSavedJobsV2(c,u){let r=M.backendApiV2+"1.0.0/client/job/bookmarked_jobs/"+c+"/"+u;return this.http.get(r)}getAppliedJobs(c,u){let r=M.backendApi+"api/1.1.0/applications/candidate/";return this.http.get(r)}getAppliedJobsV2(c,u){let r=M.backendApiV2+"1.0.0/client/job/applied_jobs/"+c+"/"+u;return this.http.get(r)}payWithStripe(c,u){const r=M.backendApiV2+"1.0.0/client/payment/create-payment-intent",h={paymentMethodId:c,amount:u};return this.http.post(r,h)}bookmarkJob(c){let u=M.backendApi+"api/1.1.0/candidate/jobs/"+c+"/jobnet/updateSavedStatus",r={saved:!0};return this.http.post(u,r)}unbookmarkJob(c){let u=M.backendApi+"api/1.1.0/candidate/jobs/"+c+"/jobnet/updateSavedStatus",r={saved:!1};return this.http.post(u,r)}bookmarkJobV2(c,u,r){let h=M.backendApiV2+"1.0.0/client/job/bookmark/"+c,v={job_type:r,save:u};return this.http.post(h,v)}getJobNetJobDetail(c){let u=M.backendApiV2+"1.0.0/client/job/detail/star/"+c;return this.http.get(u)}getJobDetail(c){let u=M.backendApi+"api/1.1.0/jobs/"+c;return this.http.get(u)}getOccupationCategorizations(){let c=M.backendApiV2+"1.0.0/client/ds_tree";return this.http.get(c)}getJobSummary(c){let u=M.backendApi+"api/1.1.0/jobs/"+c+"/summary";return this.http.get(u)}applyJob(c){let u=M.backendApi+"api/1.1.0/applications/job/"+c,r={jobPostingId:c};return this.http.post(u,r)}undoApplyJob(c){let u=M.backendApi+"api/1.1.0/applications/"+c;return this.http.delete(u)}toggleApplyJobnetjob(c,u){let r=M.backendApiV2+"1.0.0/client/job/detail/star/apply/"+c,h={apply:u};return this.http.put(r,h)}}const Wu={escoIds:[],workTypePermanent:!1,workTypePartTime:!1,workDistance:50,partTimeHours:null,distanceCenterName:"",latitude:null,longitude:null};function Xe(o){return typeof o=="string"?o:""}function Gn(o){return typeof o=="object"&&o!==null?o:null}function Fu(o,c){if(!o)return[];const u=o[c];return Array.isArray(u)?u:[]}function $u(o){if(Array.isArray(o))return o;const c=Gn(o);if(!c)return[];const u=Fu(c,"searchList");if(u.length>0)return u;const r=Gn(c.data),h=Fu(r,"searchList");if(h.length>0)return h;const v=Fu(c,"items");return v.length>0?v:[]}function wh(o,c){if(!o)return null;const u=o[c];return typeof u=="number"?u:null}function C0(o){return o.trim()}function w0(o){if(!o)return[];const c=new Set,u=o.searchText?.trim();u&&u.length>0&&c.add(u);for(const r of o.desiredTitles??[]){const h=C0(r);h.length>0&&c.add(h)}return Array.from(c)}function U0(o,c){return{id:Xe(o.id),title:Xe(o.title),companyName:Xe(o.companyName),occupationName:Xe(o.occupationName),descriptionIntro:Xe(o.descriptionIntro),address:Xe(o.address),time:Xe(o.time),applicationDeadline:o.applicationDeadline instanceof Date?o.applicationDeadline.toISOString():Xe(String(o.applicationDeadline??"")),candidateDistance:typeof o.candidateDistance=="number"?o.candidateDistance:null,logoUrl:Xe(o.logoUrl),companyLogoImage:Xe(o.companyLogoImage),fromJobnet:!!o.fromJobnet,isSaved:!!o.saved,matchPercent:c}}function Uh(o){return{id:Xe(o.id),title:Xe(o.title),companyName:Xe(o.companyName),occupationName:Xe(o.occupationName),descriptionIntro:Xe(o.descriptionIntro),address:Xe(o.address),time:Xe(o.time),applicationDeadline:o.applicationDeadline instanceof Date?o.applicationDeadline.toISOString():Xe(String(o.applicationDeadline??"")),candidateDistance:typeof o.candidateDistance=="number"?o.candidateDistance:null,logoUrl:Xe(o.logoUrl),companyLogoImage:Xe(o.companyLogoImage),isActive:typeof o.isActive=="boolean"?o.isActive:void 0,fromJobnet:!!o.fromJobnet,isSaved:!0}}class Ns{constructor(c=new mr,u=new E0,r=new fm,h=new tl){this.jobService=c,this.filterService=u,this.placesService=r,this.candidateService=h}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async getOccupationOptions(){const c=await this.jobService.getOccupationCategorizations(),u=[];for(const r of c)for(const h of r.subAreas)for(const v of h.occupations)typeof v.id=="number"&&typeof v.name=="string"&&v.name.trim().length>0&&u.push({id:v.id,name:v.name});return u.sort((r,h)=>r.name.localeCompare(h.name,"da"))}async getJobSearchWords(){return(await this.jobService.getSearchWords()).filter(u=>typeof u=="string"&&u.trim().length>0)}async getSavedFilter(){try{const c=await this.filterService.getJobFilter(),u=c?.candidateSearchFilter;return u?{escoIds:c.escoIds??[],workTypePermanent:!!u.workTypePermanent,workTypePartTime:!!u.workTypePartTime,workDistance:u.workDistance??u.defaultDistance??50,partTimeHours:u.partTimeHours??null,distanceCenterName:u.distanceCenterName??u.defaultCenterName??"",latitude:u.latitude??null,longitude:u.longitude??null}:{...Wu}}catch{return{...Wu}}}async saveFilter(c){const u=c.workTypePartTime&&c.partTimeHours&&c.partTimeHours>0&&c.partTimeHours<=37?c.partTimeHours:null,r={escoIds:c.escoIds,candidateSearchFilter:{workTimeDay:!1,workTimeEvening:!1,workTimeNight:!1,workTimeWeekend:!1,workTypePermanent:c.workTypePermanent,workTypeFreelance:!1,workTypePartTime:c.workTypePartTime,workTypeSubstitute:!1,workTypeTemporary:!1,workDistance:c.workDistance,partTimeHours:u,distanceCenterName:c.distanceCenterName,latitude:c.latitude,longitude:c.longitude}};await this.filterService.saveJobFilter(r)}async resetFilter(){return await this.filterService.resetJobFilter(),{...Wu}}async searchPlaceSuggestions(c){const u=c.trim();return u.length<3?[]:((await this.placesService.searchPlaces(u)).predictions??[]).filter(h=>typeof h.place_id=="string"&&typeof h.description=="string").map(h=>({placeId:h.place_id,description:h.description}))}async getPlaceSelection(c){const r=(await this.placesService.getPlaceDetails(c)).result;return!r||typeof r.formatted_address!="string"?null:{description:r.formatted_address,latitude:typeof r.geometry?.location?.lat=="number"?r.geometry.location.lat:null,longitude:typeof r.geometry?.location?.lng=="number"?r.geometry.location.lng:null}}async getTabItems(c,u){if(c==="gemte"){const r=await this.jobService.getSavedJobsV2(0,100);return $u(r).map(v=>Uh(v))}if(c==="sogte"){const r=await this.jobService.getAppliedJobsV2(0,100);return $u(r).map(v=>Uh(v))}return this.getJobsFeedItems(u?[u]:void 0)}async applyFiltersAndGetJobs(c,u){await this.saveFilter(c);const r=w0(u);return this.getJobsFeedItems(r)}async toggleBookmark(c,u){const r=c.fromJobnet?"star":"arbejd.com";await this.jobService.bookmarkJobV2(c.id,u,r)}async getJobsFeedItems(c){let r=10,h=0;const v=12,z=120,q=new Set,L=[];let b=[];const B=(c??[]).map(D=>D.trim()).filter(D=>D.length>0);if(B.length>0)b=B;else try{b=(await this.jobService.getSearchWords()).filter(R=>typeof R=="string"&&R.trim().length>0)}catch{b=[]}for(let D=0;D{r(!1)},[o]),T.useEffect(()=>{if(!u)return;function v(q){q.key==="Escape"&&r(!1)}const z=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",v),()=>{document.body.style.overflow=z,window.removeEventListener("keydown",v)}},[u]);function h(v){c?.(v),r(!1)}return n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",className:"dash-mobile-menu-btn","aria-label":u?"Luk menu":"Aabn menu","aria-expanded":u,onClick:()=>r(v=>!v),children:u?n.jsx(or,{size:18,strokeWidth:1.9}):n.jsx(Sp,{size:18,strokeWidth:1.9})}),n.jsx("button",{type:"button",className:`dash-mobile-overlay ${u?"open":""}`,"aria-label":"Luk menu",onClick:()=>r(!1)}),n.jsxs("aside",{className:`dash-sidebar ${u?"open":""}`,children:[n.jsxs("div",{className:"dash-logo-row",children:[n.jsx("div",{className:"dash-logo-dot",children:"A"}),n.jsx("span",{className:"dash-logo-text",children:"ARBEJD"})]}),n.jsxs("nav",{className:"dash-nav",children:[O0.map(v=>{const z=v.icon,q=v.key===o;return n.jsxs("button",{type:"button",className:q?"dash-nav-item active":"dash-nav-item",onClick:()=>h(v.key),children:[n.jsx("span",{className:v.accent?"dash-nav-icon accent":"dash-nav-icon",children:n.jsx(z,{size:19,strokeWidth:1.7})}),n.jsx("span",{className:"dash-nav-label",children:v.label}),v.badge?n.jsx("span",{className:"dash-nav-badge",children:v.badge}):null]},v.key)}),n.jsx("div",{className:"dash-nav-divider"}),L0.map(v=>{const z=v.icon,q=v.key===o;return n.jsxs("button",{type:"button",className:q?"dash-nav-item active":"dash-nav-item",onClick:()=>h(v.key),children:[n.jsx("span",{className:v.accent?"dash-nav-icon accent":"dash-nav-icon",children:n.jsx(z,{size:19,strokeWidth:1.7})}),n.jsx("span",{className:"dash-nav-label",children:v.label}),v.dot?n.jsx("span",{className:"dash-nav-dot"}):null]},v.key)})]}),n.jsxs("div",{className:"dash-sidebar-pro",children:[n.jsx("div",{className:"dash-sidebar-pro-glow"}),n.jsx(Zn,{size:19,strokeWidth:1.8}),n.jsx("h4",{children:"Pro-medlemskab"}),n.jsx("p",{children:"Faa ubegrænsede simuleringer"})]})]})]})}function Jt({actions:o,imageUrl:c,name:u,onLogout:r,onToggleTheme:h,theme:v="light"}){return n.jsxs("header",{className:"dash-topbar",children:[h?n.jsxs("button",{type:"button",className:"dash-theme-btn",onClick:h,children:[v==="dark"?n.jsx(d0,{size:15,strokeWidth:1.8}):n.jsx(Dp,{size:15,strokeWidth:1.8}),n.jsx("span",{children:v==="dark"?"Light":"Dark"})]}):null,o?n.jsx("div",{className:"dash-topbar-actions",children:o}):null,n.jsxs("div",{className:"dash-profile-wrap",children:[n.jsxs("button",{className:"dash-profile-btn",type:"button",children:[c?n.jsx("img",{src:c,alt:u,className:"dash-profile-avatar"}):n.jsx("div",{className:"dash-profile-avatar dash-profile-avatar-fallback",children:u.slice(0,1).toUpperCase()}),n.jsx("span",{children:u}),n.jsx(Bn,{size:15,strokeWidth:1.8})]}),n.jsxs("div",{className:"dash-profile-menu",children:[n.jsxs("button",{type:"button",children:[n.jsx(Yg,{size:16,strokeWidth:1.8})," Profil"]}),n.jsxs("button",{type:"button",children:[n.jsx(rm,{size:16,strokeWidth:1.8})," Indstillinger"]}),n.jsx("div",{className:"dash-profile-divider"}),n.jsxs("button",{type:"button",className:"danger",onClick:r,children:[n.jsx(yp,{size:16,strokeWidth:1.8})," Log ud"]})]})]})]})}const R0={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function H0(o){return o.trim().slice(0,1).toUpperCase()||"A"}function V0(o){return Math.max(68,98-o*4)}function q0(o,c){const u=c.trim().toLowerCase();return u?o.filter(r=>r.preferedLabelDa.toLowerCase().includes(u)).slice(0,8):[]}function B0({onLogout:o,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:h}){const v=T.useMemo(()=>new mm,[]),z=T.useMemo(()=>new Ns,[]),[q,L]=T.useState("Lasse"),[b,B]=T.useState(void 0),[D,R]=T.useState(R0),[K,le]=T.useState([]),[Z,fe]=T.useState(!0),[te,se]=T.useState(""),[Y,P]=T.useState(""),[ie,G]=T.useState(""),[E,ae]=T.useState(""),[he,pe]=T.useState(""),[H,Q]=T.useState(25);T.useEffect(()=>{let x=!0;async function $(){fe(!0);const[de,m,N]=await Promise.all([v.getCandidateProfile(),v.loadInitialData(),z.getTabItems("jobs")]);x&&(L(de.name),B(de.imageUrl),R(m),le(N),fe(!1))}return $(),()=>{x=!1}},[v,z]);async function ue(){const x=await v.loadInitialData();R(x)}async function ee(){const x=Y.trim()||te.trim()||ie.trim(),$=v.getEscoSuggestions(x,D.escos,D.jobAgentFilters)[0]||q0(D.escos,x)[0];$&&(await v.addEscoToFilter($.id),await ue(),se(""),P(""),G(""),ae(""),pe(""),Q(25))}async function W(x){await v.setFilterVisibility(x,!x.visible),await ue()}const _=D.jobAgentFilters,V=(K.length>0?K:[]).slice(0,6);return n.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"agents",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar ai-agent-main",children:[n.jsx(Jt,{name:q,imageUrl:b,onLogout:o,theme:h,onToggleTheme:r}),n.jsxs("div",{className:"ai-head",children:[n.jsx("h1",{children:"Jobagenter"}),n.jsx("p",{children:"Saet din jobsogning pa autopilot. Lad agenter overvage og matche dig med de perfekte jobs."})]}),n.jsxs("section",{className:"ai-create-card",children:[n.jsxs("div",{className:"ai-create-title",children:[n.jsx("div",{className:"ai-create-icon",children:n.jsx(em,{size:20,strokeWidth:1.8})}),n.jsx("h2",{children:"Opret ny jobagent"})]}),n.jsxs("div",{className:"ai-form-grid",children:[n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Agentens navn"}),n.jsx("input",{value:te,onChange:x=>se(x.target.value),placeholder:"F.eks. Frontend Udvikler CPH"})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Sogetekst / Nogleord"}),n.jsx("input",{value:Y,onChange:x=>P(x.target.value),placeholder:"F.eks. React, TypeScript, Tailwind"})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdsomrade"}),n.jsxs("select",{value:ie,onChange:x=>G(x.target.value),children:[n.jsx("option",{value:"",children:"Vaelg branche"}),n.jsx("option",{value:"IT & Udvikling",children:"IT & Udvikling"}),n.jsx("option",{value:"Design & UX",children:"Design & UX"}),n.jsx("option",{value:"Salg & Marketing",children:"Salg & Marketing"}),n.jsx("option",{value:"HR & Ledelse",children:"HR & Ledelse"})]})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdstype"}),n.jsxs("select",{value:E,onChange:x=>ae(x.target.value),children:[n.jsx("option",{value:"",children:"Vaelg type"}),n.jsx("option",{value:"Fuldtid",children:"Fuldtid"}),n.jsx("option",{value:"Deltid",children:"Deltid"}),n.jsx("option",{value:"Freelance",children:"Freelance / Konsulent"}),n.jsx("option",{value:"Studiejob",children:"Studiejob"})]})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdssted"}),n.jsxs("div",{className:"ai-location-wrap",children:[n.jsx(Qn,{size:16,strokeWidth:1.8}),n.jsx("input",{value:he,onChange:x=>pe(x.target.value),placeholder:"By eller postnummer"})]})]}),n.jsxs("div",{className:"ai-field ai-distance-field",children:[n.jsxs("div",{className:"ai-distance-head",children:[n.jsx("label",{children:"Maks. distance"}),n.jsxs("span",{children:[H," km"]})]}),n.jsx("input",{type:"range",min:0,max:100,value:H,onChange:x=>Q(Number(x.target.value))})]})]}),n.jsx("div",{className:"ai-create-actions",children:n.jsxs("button",{type:"button",onClick:()=>{ee()},children:[n.jsx(Ip,{size:16,strokeWidth:1.8})," Gem jobagent"]})})]}),n.jsxs("section",{className:"ai-agents-section",children:[n.jsx("h3",{children:"Dine aktive agenter"}),n.jsxs("div",{className:"ai-agents-row custom-scrollbar",children:[_.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen aktive agenter endnu."}):null,_.map((x,$)=>n.jsxs("article",{className:"ai-agent-chip-card",children:[n.jsxs("div",{className:"ai-agent-card-head",children:[n.jsxs("div",{className:"ai-agent-chip-left",children:[n.jsx("div",{className:`ai-agent-mini-icon ${$%2===0?"teal":"indigo"}`,children:$%2===0?n.jsx(Tp,{size:16,strokeWidth:1.8}):n.jsx(om,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:x.escoName}),n.jsx("p",{children:x.isCalculated?"Aktiv siden i går":"Aktiv"})]})]}),n.jsx("button",{type:"button",className:x.visible?"ai-toggle on":"ai-toggle",onClick:()=>{W(x)},children:n.jsx("span",{})})]}),n.jsxs("div",{className:"ai-tags",children:[n.jsx("span",{children:x.escoName}),n.jsx("span",{children:he||"København"}),n.jsxs("span",{children:[H," km"]})]})]},x.id))]})]}),n.jsxs("section",{className:"ai-jobs-section",children:[n.jsxs("div",{className:"ai-jobs-head",children:[n.jsxs("h3",{children:[n.jsx(Zn,{size:16,strokeWidth:1.8})," Anbefalede jobs til dig"]}),n.jsx("span",{children:"Opdateret for 5 min siden"})]}),n.jsxs("div",{className:"ai-jobs-grid",children:[Z?n.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,!Z&&V.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen jobanbefalinger fundet endnu."}):null,V.map((x,$)=>n.jsxs("article",{className:"ai-job-card",role:"button",tabIndex:0,onClick:()=>u(x.id,x.fromJobnet,"agents"),onKeyDown:de=>{(de.key==="Enter"||de.key===" ")&&(de.preventDefault(),u(x.id,x.fromJobnet,"agents"))},children:[n.jsx("div",{className:`ai-job-rail ${$%3===2?"indigo":"teal"}`}),n.jsxs("div",{className:"ai-job-top",children:[x.companyLogoImage||x.logoUrl?n.jsx("img",{src:x.companyLogoImage||x.logoUrl,alt:x.companyName,className:"ai-company-logo"}):n.jsx("div",{className:"ai-company-logo-fallback",children:H0(x.companyName)}),n.jsxs("div",{className:"ai-match-col",children:[n.jsxs("div",{className:"ai-match-pill",children:[n.jsx(Kn,{size:13,strokeWidth:1.8})," ",V0($),"% Match"]}),n.jsxs("small",{children:["Via: ",_[0]?.escoName||"Jobagent"]})]})]}),n.jsxs("div",{className:"ai-job-title-wrap",children:[n.jsx("h4",{children:x.title}),n.jsxs("p",{children:[x.companyName," • ",x.address||"Lokation"]})]}),n.jsxs("div",{className:"ai-job-tags",children:[n.jsx("span",{children:x.occupationName||"Frontend"}),n.jsx("span",{children:x.fromJobnet?"Jobnet":"Arbejd.com"}),n.jsx("span",{children:x.candidateDistance!=null?`${Math.round(x.candidateDistance)} km`:"Remote"})]}),n.jsxs("div",{className:"ai-job-bottom",children:[n.jsx("span",{children:"Slået op for nyligt"}),n.jsxs("button",{type:"button",onClick:de=>{de.stopPropagation(),u(x.id,x.fromJobnet,"agents")},children:["Læs mere ",n.jsx(Ua,{size:14,strokeWidth:1.8})]})]})]},x.id))]})]})]})]})}const Y0={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function Oh(){return["Diamantskærer","Ministerialbetjent","Kiropraktor","System Developer","Senior Software Developer","Founder and Developer","Senior .Net Developer","Freelance Programmer","Støberichef","Softwareudvikler, frontend","CSR-ansvarlig","Lagerchef inden for råstof","Ios developer","Kokkeelev","IT-kvalitetsmedarbejder","Efterretningsofficer"]}function G0(o){return o>=70?{text:"Kan styrke dine chancer i ansøgningsbunken",kind:"strong"}:o>=40?{text:"Ofte efterspurgt – forbedrer dine jobmuligheder markant",kind:"neutral"}:{text:"Et godt første skridt mod flere relevante job",kind:"soft"}}function J0(o){return o==="education"?nm:o==="language"?js:o==="driversLicense"?tm:o==="certificate"?Ph:o==="qualification"?Kn:hr}function Q0(o){return o==="education"?"blue":o==="language"?"emerald":o==="driversLicense"?"orange":o==="certificate"?"rose":o==="qualification"?"indigo":"slate"}function X0({onLogout:o,onNavigate:c,onToggleTheme:u,theme:r}){const h=T.useMemo(()=>new mm,[]),[v,z]=T.useState("Lasse"),[q,L]=T.useState(void 0),[b,B]=T.useState(Y0),[D,R]=T.useState(!0),[K,le]=T.useState("");T.useEffect(()=>{let Y=!0;async function P(){R(!0);const[ie,G]=await Promise.all([h.getCandidateProfile(),h.loadInitialData()]);if(!Y)return;z(ie.name),L(ie.imageUrl),B(G);const E=G.jobAgentFilters[0]?.escoName||Oh()[1];le(ae=>ae||E),R(!1)}return P(),()=>{Y=!1}},[h]);const Z=b.jobAgentFilters.length>0?b.jobAgentFilters.map(Y=>Y.escoName):Oh(),fe=b.jobAgentFilters.find(Y=>Y.escoName===K)||b.jobAgentFilters[0],te=(fe?b.cvSuggestions.find(Y=>Y.escoId===fe.escoId)?.improvements:b.cvSuggestions[0]?.improvements)||[],se=te.length>0?te:[{name:"Grundkursus i sikkerhed og beredskab",jobChanceIncrease:78,improvementType:"education"},{name:"Service og kommunikation i offentlige institutioner",jobChanceIncrease:52,improvementType:"qualification"},{name:"Dansk (Flydende)",jobChanceIncrease:65,improvementType:"language"},{name:"B - Almindelig bil",jobChanceIncrease:34,improvementType:"driversLicense"},{name:"Konflikthåndtering",jobChanceIncrease:72,improvementType:"qualification"},{name:"Førstehjælpsbevis",jobChanceIncrease:44,improvementType:"certificate"},{name:"Sikkerhedsgodkendelse (PET)",jobChanceIncrease:81,improvementType:"certificate"}];return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"ai-agent",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar career-main",children:[n.jsx(Jt,{name:v,imageUrl:q,onLogout:o,theme:r,onToggleTheme:u,actions:n.jsxs("div",{className:"career-status-pill",children:[n.jsx(Ke,{size:15,strokeWidth:1.8}),"CV analyseret"]})}),n.jsxs("div",{className:"career-head",children:[n.jsxs("div",{className:"career-head-title-row",children:[n.jsx("div",{className:"career-head-icon",children:n.jsx(j0,{size:19,strokeWidth:1.8})}),n.jsx("h1",{children:"Karriereagent"})]}),n.jsx("p",{className:"career-head-kicker",children:"Din Karriereagent Foreslår"}),n.jsx("p",{className:"career-head-desc",children:"Boost din profil ved hjælp af kunstig intelligens. Forslagene er udvalgt til din profil ud fra analyser af over 100.000+ jobopslag og dit nuværende CV."})]}),n.jsxs("div",{className:"career-grid",children:[n.jsxs("aside",{className:"career-agents-col",children:[n.jsxs("div",{className:"career-agents-head",children:[n.jsx("h2",{children:"Mine agenter"}),n.jsxs("button",{type:"button",children:[n.jsx(Hg,{size:16,strokeWidth:1.8})," Tilføj ny agent"]})]}),n.jsx("div",{className:"career-agents-list custom-scrollbar",children:Z.map(Y=>n.jsxs("button",{type:"button",className:K===Y?"active":"",onClick:()=>le(Y),children:[n.jsx("span",{children:Y}),K===Y?n.jsx("i",{}):null]},Y))})]}),n.jsxs("section",{className:"career-reco-col",children:[n.jsxs("div",{className:"career-reco-head",children:[n.jsxs("h2",{children:["Viser anbefalinger for",n.jsx("span",{children:K||"Ministerialbetjent"})]}),n.jsxs("button",{type:"button",children:[n.jsx(am,{size:14,strokeWidth:1.8})," Filtrer"]})]}),D?n.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,n.jsx("div",{className:"career-cards custom-scrollbar",children:se.map((Y,P)=>{const ie=J0(Y.improvementType||"qualification"),G=G0(Y.jobChanceIncrease||0),E=Q0(Y.improvementType||"qualification");return n.jsxs("article",{className:"career-card",children:[n.jsx("div",{className:"career-card-glow"}),n.jsx("div",{className:"career-card-wand",children:n.jsx(Zn,{size:16,strokeWidth:1.8})}),n.jsxs("div",{className:"career-card-content",children:[n.jsx("div",{className:`career-card-icon ${E}`,children:n.jsx(ie,{size:18,strokeWidth:1.8})}),n.jsx("h3",{children:Y.shortName||Y.name}),n.jsxs("p",{className:`tone ${G.kind}`,children:[G.kind==="strong"?n.jsx(dm,{size:13,strokeWidth:1.8}):G.kind==="neutral"?n.jsx(Kn,{size:13,strokeWidth:1.8}):n.jsx(n0,{size:13,strokeWidth:1.8}),G.text]})]})]},`${Y.name}-${P}`)})})]})]})]})]})}class Z0{constructor(c=He){this.http=c}generateApplication(c,u,r,h){let v=M.backendApiV2+"1.0.0/client/ai_handler/create_my_application",z={isStar:c,jobId:u,language:r,userInput:h};return this.http.post(v,z)}listGeneratedJobApplications(c){let u=M.backendApiV2+"1.0.0/client/ai_handler/list_created_job_application/"+c;return this.http.get(u)}listPredefinedUserInput(){let c=M.backendApiV2+"1.0.0/client/ai_handler/list_predefined_user_input";return this.http.get(c)}getJobApplication(c){let u=M.backendApiV2+"1.0.0/client/ai_handler/"+c;return this.http.get(u)}updateMyCvDescriptions(c){let u=M.backendApiV2+"1.0.0/client/ai_handler/update_my_cv_descriptions",r={language:c};return this.http.post(u,r)}updateStatesOnMyCvDescription(c,u,r){let h=M.backendApiV2+"1.0.0/client/ai_handler/update_states_on_my_cv_descriptions/"+c,v={state:u,subState:r};return this.http.put(h,v)}getMyCvDescriptions(){let c=M.backendApiV2+"1.0.0/client/ai_handler/get_my_cv_descriptions";return this.http.get(c)}submitJobApplicationRating(c,u,r){let h=M.backendApiV2+"1.0.0/client/ai_handler/job_application_rating",v={ai_generated_job_application_id:c,rating:u,rating_text:r};return this.http.post(h,v)}startApplicationExamination(c){const u=M.backendApiV2+"1.0.0/client/ai_handler/create_application_examination",r={ai_generated_job_application_id:c};return this.http.post(u,r)}getApplicationExamination(c){const u=M.backendApiV2+"1.0.0/client/ai_handler/application_examination/"+encodeURIComponent(c);return this.http.get(u)}getApplicationExaminationByJobApplicationId(c){const u=M.backendApiV2+"1.0.0/client/ai_handler/application_examination_by_job_application/"+c;return this.http.get(u)}}class K0{constructor(c=He){this.http=c}searchForCertification(c){let u=encodeURIComponent(c),r=M.backendApiV2+`1.0.0/client/certificate?search_text=${u}`;return this.http.get(r)}saveCertification(c){let u=M.backendApiV2+"1.0.0/client/candidate_certificate",r={qualification_id:c};return this.http.post(u,r)}updateCertification(c){let u=M.backendApiV2+"1.0.0/client/candidate_certificate/"+c.id,r=c;return this.http.put(u,r)}removeCertification(c){let u=M.backendApiV2+"1.0.0/client/candidate_certificate/"+c;return this.http.delete(u)}addUnknownCertificate(c){let u=M.backendApiV2+"1.0.0/client/certificate",r={certificate_name:c};return this.http.post(u,r)}}class W0{constructor(c=He){this.http=c}sendMyCvToEmail(){let c=M.backendApi+"api/1.1.0/candidate/sendPdf",u={};return this.http.post(c,u)}getMyCv(){let c=M.backendApiV2+"1.0.0/client/candidate/pdf";return this.http.get(c,{responseType:"blob"})}getMyCvV2(c){let u=M.backendApiV2+"1.0.0/client/candidate/pdf_url?language="+c;return this.http.get(u)}generateCv(c){let u=M.backendApiV2+"1.0.0/client/candidate/generateCv",r={language:c};return this.http.post(u,r)}}class F0{constructor(c=He,u=Gl){this.http=c,this.localStorageService=u}uploadCv(c,u){const r=M.backendApiV2+"1.0.0/client/cv_upload";return this.http.post(r,c,{headers:{Authorization:`Bearer ${u}`}})}getCvUploadData(){let c=M.backendApiV2+"1.0.0/client/cv_upload/get_upload_cv";return this.http.get(c)}setProfileTextToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/profile_text_is_done/"+c,r={};return this.http.put(u,r)}setExperienceToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/experience_is_done/"+c,r={};return this.http.put(u,r)}setEducationToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/education_is_done/"+c,r={};return this.http.put(u,r)}setQualificationToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/qualification_is_done/"+c,r={};return this.http.put(u,r)}setCertificateToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/certificate_is_done/"+c,r={};return this.http.put(u,r)}setLanguageToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/language_is_done/"+c,r={};return this.http.put(u,r)}setDriversLicenseToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/drivers_license_is_done/"+c,r={};return this.http.put(u,r)}setCvUploadToDone(c){let u=M.backendApiV2+"1.0.0/client/cv_upload/cv_is_done/"+c,r={};return this.http.put(u,r)}}class $0{constructor(c=He){this.http=c}getAllDriverLicenses(){let c=M.backendApi+"api/1.1.0/driversLicenses";return this.http.get(c)}updateDriverLicense(c,u){let r=M.backendApi+"api/1.1.0/candidate/driversLicense/"+c,h={};return this.http.put(r,h)}removeLanguage(c){let u=M.backendApiV2+"1.0.0/client/candidate_drivers_license/"+c;return this.http.delete(u)}saveDriverLicense(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_drivers_license",h={level:u,drivers_license_id:c.id};return this.http.post(r,h)}saveDriverLicenseV2(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_drivers_license",h={level:c,drivers_license_id:u};return this.http.post(r,h)}}class I0{constructor(c=He){this.http=c}searchForEducations(c){let u=M.backendApi+"api/1.1.0/educations/search/"+c;return this.http.get(u)}searchForSchools(c){let u=M.backendApi+"api/1.1.0/institutions/search/"+c;return this.http.get(u)}saveEducation(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_education",h={comments:c.comments,education_disced_15:c.education.disced15,from_date:c.fromDate,to_date:c.toDate,institution_number:c.institution?.instNumber,is_current:c.isCurrent,language:u};return this.http.post(r,h)}removeEducation(c){let u=M.backendApiV2+"1.0.0/client/candidate_education/"+c;return this.http.delete(u)}updateEducation(c,u,r){let h=M.backendApiV2+"1.0.0/client/candidate_education/"+c,v={comments:u.comments,from_date:u.fromDate,to_date:u.toDate,is_current:u.isCurrent,language:r};return this.http.put(h,v)}getEducationOccupationSuggestions(c){let u=M.backendApi+"api/1.1.0/educations/suggestions/occupation/"+c;return this.http.get(u)}saveUnknownEducation(c){let u=M.backendApiV2+"1.0.0/client/education/save_unknown_education",r={education_name:c};return this.http.post(u,r)}saveEducationV2(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_education",h={comments:c.comments,education_disced_15:c.education_disced_15,from_date:c.from_date,to_date:c.to_date,institution_number:c.institution_number,is_current:c.is_current,language:u};return this.http.post(r,h)}}class P0{constructor(c=He){this.http=c}getAllLanguages(){let c=M.backendApi+"api/1.1.0/languages";return this.http.get(c)}saveLanguage(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_language",h={language_id:u.id,level:c};return this.http.post(r,h)}updateLanguage(c,u,r){let h=M.backendApiV2+"1.0.0/client/candidate_language/"+c,v={level:u};return this.http.put(h,v)}removeLanguage(c){let u=M.backendApiV2+"1.0.0/client/candidate_language/"+c;return this.http.delete(u)}saveLanguageV2(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_language",h={language_id:u,level:c};return this.http.post(r,h)}}class ey{constructor(c=He){this.http=c}searchForQualification(c){let u=M.backendApi+"api/1.1.0/qualifications/type/3/search/"+c;return this.http.get(u)}updateQualification(c,u){let r=M.backendApiV2+"1.0.0/client/candidate_qualification/"+c,h={level:u};return this.http.put(r,h)}saveQualification(c){let u=M.backendApiV2+"1.0.0/client/candidate_qualification",r={level:c.level,qualification_id:c.qualification.id};return this.http.post(u,r)}removeQualification(c){let u=M.backendApiV2+"1.0.0/client/candidate_qualification/"+c;return this.http.delete(u)}getQualificationsOccupationSuggestions(c,u){let r=M.backendApi+"api/1.1.0/qualifications/type/"+u+"/suggestions/occupation/"+c;return this.http.get(r)}addUnknownQualification(c){let u=M.backendApi+"api/1.1.0/qualifications/type/3/fromCandidate",r={name:c,type:3};return this.http.post(u,r)}saveQualificationV2(c){let u=M.backendApiV2+"1.0.0/client/candidate_qualification",r={level:c.level,qualification_id:c.qualification_id};return this.http.post(u,r)}}class ty{constructor(c=He){this.http=c}addUnknownOccupation(c){let u=M.backendApi+"api/1.1.0/occupations/fromCandidate",r={name:c};return this.http.post(u,r)}}class ay{constructor(c=He){this.http=c}saveUnknownInstitution(c){let u=M.backendApiV2+"1.0.0/client/institution/save_unknown_institution",r={institution_name:c};return this.http.post(u,r)}}class ly{constructor(c=new tl,u=new W0,r=new F0,h=new Ss,v=new Z0,z=new I0,q=new ey,L=new K0,b=new P0,B=new $0,D=new hm,R=new ty,K=new ay,le=Gl){this.candidateService=c,this.cvService=u,this.cvUploadService=r,this.subscriptionService=h,this.aiHandlerService=v,this.educationService=z,this.qualificationService=q,this.certificationService=L,this.languageService=b,this.driverLicenseService=B,this.escoService=D,this.occupationService=R,this.institutionService=K,this.localStorageService=le}escosCache=null;async getSnapshot(){const[c,u,r,h,v,z,q,L,b,B]=await Promise.allSettled([this.candidateService.getCandidate(),this.candidateService.getCandidatesExperiences(),this.candidateService.getCandidatesEducations(),this.candidateService.getCandidatesQualifications(),this.candidateService.getCandidatesCertifications(),this.candidateService.getCandidatesLanguages(),this.candidateService.getCandidatesDriverLicenses(),this.subscriptionService.getPaymentOverview(),this.cvUploadService.getCvUploadData(),this.aiHandlerService.getMyCvDescriptions()]);return{candidate:c.status==="fulfilled"?c.value:null,experiences:u.status==="fulfilled"?u.value:[],educations:r.status==="fulfilled"?r.value:[],skills:h.status==="fulfilled"?h.value:[],certifications:v.status==="fulfilled"?v.value:[],languages:z.status==="fulfilled"?z.value:[],driverLicenses:q.status==="fulfilled"?q.value:[],paymentOverview:L.status==="fulfilled"?L.value:null,cvUploadData:b.status==="fulfilled"?b.value:null,aiGeneratedCVDescription:B.status==="fulfilled"&&B.value?.id?B.value:null}}async setActiveSeeker(c,u,r){const h={...c,isActive:u};return this.candidateService.updateCandidate(h,r)}async updateCandidate(c,u){return this.candidateService.updateCandidate(c,u)}async generateCv(c){await this.cvService.generateCv(c)}async getCvDownloadUrl(c){return(await this.cvService.getMyCvV2(c)).url}async uploadCv(c,u){const r=await this.localStorageService.getAuthToken();if(!r)throw new Error("No auth token found.");await this.cvUploadService.uploadCv({base_64_cv_file:c,cv_file_type:u},r)}async optimizeCv(c){await this.aiHandlerService.updateMyCvDescriptions(c)}async updateExperience(c,u){await this.candidateService.updateExperience(c,u)}async updateEducation(c,u){const r={comments:c.comments,education:c.education,institution:c.institution,fromDate:new Date(c.fromDate),toDate:new Date(c.toDate),isCurrent:c.isCurrent};await this.educationService.updateEducation(c.id,r,u)}async updateCertification(c){await this.certificationService.updateCertification(c)}async updateLanguage(c){const u={id:c.language.id,isO639:c.language.isO639,name:c.language.name,ownName:c.language.ownName,priority:c.language.priority};await this.languageService.updateLanguage(c.id,c.level,u)}async removeExperience(c){await this.candidateService.removeExperience(c)}async removeEducation(c){await this.educationService.removeEducation(c)}async removeQualification(c){await this.qualificationService.removeQualification(c)}async removeCertification(c){await this.certificationService.removeCertification(c)}async removeLanguage(c){await this.languageService.removeLanguage(c)}async removeDriverLicense(c){await this.driverLicenseService.removeLanguage(c)}async getEscoSuggestions(c,u=25){this.escosCache||(this.escosCache=await this.escoService.listAllEscos());const r=c.trim().toLowerCase();return r?this.escosCache.filter(h=>h.preferedLabelDa.toLowerCase().includes(r)).slice(0,u):this.escosCache.slice(0,u)}async getLanguageOptions(){return(await this.languageService.getAllLanguages()).allLanguages??[]}async getDriverLicenseOptions(){return this.driverLicenseService.getAllDriverLicenses()}async createExperience(c,u){let r=c.escoId??null;if(!r&&c.occupationName?.trim()&&(r=(await this.occupationService.addUnknownOccupation(c.occupationName.trim())).id),!r)throw new Error("Vælg eller opret en stilling først.");await this.candidateService.saveExperienceV2({companyName:c.companyName,comments:c.comments,fromDate:c.fromDate,toDate:c.toDate,isCurrent:c.isCurrent,escoId:r},u)}async createEducation(c,u){let r=c.educationDisced15??null;if(!r&&c.educationName?.trim()&&(r=(await this.educationService.saveUnknownEducation(c.educationName)).disced15),!r)throw new Error("Vælg eller opret en uddannelse først.");let h=c.institutionNumber;!h&&c.institutionName?.trim()&&(h=(await this.institutionService.saveUnknownInstitution(c.institutionName.trim())).inst_number),await this.educationService.saveEducationV2({comments:c.comments,institution_number:h,from_date:c.fromDate,to_date:c.toDate,education_disced_15:r,is_current:c.isCurrent},u)}async createCertification(c){let u=c.certificateId??null;if(!u&&c.certificateName?.trim()&&(u=(await this.certificationService.addUnknownCertificate(c.certificateName.trim())).certificate_id),!u)throw new Error("Vælg eller opret et certifikat først.");await this.certificationService.saveCertification(u)}async createLanguage(c,u){await this.languageService.saveLanguageV2(u,c)}async getQualificationSuggestions(c){const u=c.trim();return u?this.qualificationService.searchForQualification(u):[]}async createQualification(c){let u=c.qualificationId?.trim()||"";if(!u&&c.qualificationName?.trim()&&(u=(await this.qualificationService.addUnknownQualification(c.qualificationName.trim())).id),!u)throw new Error("Vælg eller opret en kvalifikation først.");await this.qualificationService.saveQualificationV2({qualification_id:u,level:c.level})}async getEducationSuggestions(c){const u=c.trim();return u?this.educationService.searchForEducations(u):[]}async getSchoolSuggestions(c){const u=c.trim();return u?this.educationService.searchForSchools(u):[]}async getCertificationSuggestions(c){const u=c.trim();return u?this.certificationService.searchForCertification(u):[]}async createDriverLicense(c,u){await this.driverLicenseService.saveDriverLicenseV2(u,c)}}const ny={candidate:null,experiences:[],educations:[],skills:[],certifications:[],languages:[],driverLicenses:[],paymentOverview:null,cvUploadData:null,aiGeneratedCVDescription:null},iy=[{id:"e1",title:"Senior Frontend-udvikler",company:"Lunar",from:"2020-08-01",to:null,description:"Udvikling og vedligeholdelse af core-features i bankens app samt performance-optimering."},{id:"e2",title:"Web-udvikler",company:"Trustpilot",from:"2017-01-01",to:"2020-07-01",description:"Udviklede dashboards og analysevaerktojer i taet samarbejde med UX-teamet."}],sy=[{id:"ed1",title:"Cand.it i Webudvikling",school:"IT-Universitetet i Kobenhavn",from:"2013-08-01",to:"2015-06-01",description:"Specialisering i webteknologier, databaser og brugercentreret design."},{id:"ed2",title:"Datamatiker",school:"KEA - Kobenhavns Erhvervsakademi",from:"2010-08-01",to:"2013-06-01",description:"Softwarekonstruktion, systemarkitektur og programmering i Java og C#."}];function ys(o){if(!o)return null;const c=o instanceof Date?o:new Date(o);return Number.isNaN(c.getTime())?null:c}function Lh(o){const c=ys(o);return c?new Intl.DateTimeFormat("da-DK",{month:"short",year:"numeric"}).format(c):"Ukendt"}function Rh(o,c,u){const r=Lh(o),h=u?"Nu":Lh(c);return`${r} - ${h}`}function cy(o){const c=ys(o);return c?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"long",year:"numeric"}).format(c):"Ikke angivet"}function Hh(o){return[...o].sort((c,u)=>{const r=ys(c.fromDate)?.getTime()??0;return(ys(u.fromDate)?.getTime()??0)-r})}function uy(o){return o.qualification?.name||"Kvalifikation"}function ry(o){return o.qualification?.name||o.levelName||"Certificering"}function oy(o){return o.driversLicense?.name||o.levelName||"Korekort"}function dy(o){return o.levelName||"Niveau ukendt"}function fy({onLogout:o,onNavigate:c,onToggleTheme:u,theme:r}){const h=T.useMemo(()=>new ly,[]),[v,z]=T.useState("standard"),[q,L]=T.useState(ny),[b,B]=T.useState(!0);T.useEffect(()=>{let E=!0;return h.getSnapshot().then(ae=>{E&&L(ae)}).finally(()=>{E&&B(!1)}),()=>{E=!1}},[h]);const D=q.candidate,R=D?.firstName?.trim()||D?.name?.trim()||"Lasse",K=D?.firstName||"Lasse",le=D?.lastName||"Hansen",Z=D?.imageUrl||D?.image||"",fe=q.experiences.length>0?Hh(q.experiences):[],te=q.educations.length>0?Hh(q.educations):[],se=q.skills,Y=q.languages,P=q.certifications,ie=q.driverLicenses,G=Y.length>0?Y.map(E=>({id:E.id,name:E.language?.name||"Sprog",level:dy(E)})):[{id:"da",name:"Dansk",level:"Modersmal"},{id:"en",name:"Engelsk",level:"Flydende"}];return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"cv",onNavigate:c}),n.jsxs("main",{className:`dash-main custom-scrollbar cv-page ${v==="reference"?"cv-design-reference":""}`,children:[n.jsx(Jt,{name:R,imageUrl:Z||void 0,onLogout:o,theme:r,onToggleTheme:u,actions:n.jsxs("button",{type:"button",className:"cv-design-toggle",onClick:()=>z(E=>E==="standard"?"reference":"standard"),children:[v==="reference"?n.jsx(im,{size:16,strokeWidth:1.8}):n.jsx(sm,{size:16,strokeWidth:1.8}),n.jsx("span",{children:v==="reference"?"Skift til standard design":"Skift til reference design"})]})}),n.jsxs("div",{className:"cv-head",children:[n.jsxs("div",{children:[n.jsx("h1",{children:"Dit CV"}),n.jsx("p",{children:"Handter dine faglige oplysninger, erfaringer og uddannelser."})]}),n.jsxs("button",{type:"button",className:"cv-edit-btn",children:[n.jsx(Op,{size:16,strokeWidth:1.8})," Rediger CV"]})]}),b?n.jsx("p",{className:"dash-loading",children:"Indlaeser CV..."}):null,n.jsxs("div",{className:"cv-layout",children:[n.jsxs("div",{className:"cv-left",children:[n.jsxs("article",{className:"cv-card",children:[n.jsx("div",{className:"cv-avatar-wrap",children:Z?n.jsx("img",{src:Z,alt:R,className:"cv-avatar"}):n.jsx("div",{className:"cv-avatar cv-avatar-fallback",children:R.slice(0,1).toUpperCase()})}),n.jsxs("div",{className:"cv-section-head",children:[n.jsx(ql,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Personlige oplysninger"})]}),n.jsxs("div",{className:"cv-personal-list",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Fornavn"}),n.jsx("strong",{children:K})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Efternavn"}),n.jsx("strong",{children:le})]}),n.jsxs("div",{children:[n.jsx("span",{children:"E-mail"}),n.jsx("strong",{children:D?.email||"lasse@eksempel.dk"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Telefon"}),n.jsx("strong",{children:D?.phoneNumber||"+45 12 34 56 78"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Fodselsdato"}),n.jsx("strong",{children:cy(D?.birthday)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kon"}),n.jsx("strong",{children:D?.gender||"Mand"})]})]})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(hr,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Kvalifikationer"})]}),n.jsx("div",{className:"cv-chip-wrap",children:(se.length>0?se.map(uy):["HTML & CSS","Tailwind CSS","JavaScript","React","UI/UX Design"]).slice(0,12).map(E=>n.jsx("span",{className:"cv-chip",children:E},E))})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(js,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Sprog"})]}),n.jsx("div",{className:"cv-language-list",children:G.map(E=>n.jsxs("div",{children:[n.jsx("strong",{children:E.name}),n.jsx("span",{children:E.level})]},E.id))})]}),n.jsxs("div",{className:"cv-mini-grid",children:[n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(Ph,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Certificeringer"})]}),n.jsxs("ul",{className:"cv-list",children:[(P.length>0?P:[]).slice(0,4).map(E=>n.jsxs("li",{children:[n.jsx(Ke,{size:15,strokeWidth:1.8})," ",ry(E)]},E.id)),P.length===0?n.jsxs(n.Fragment,{children:[n.jsxs("li",{children:[n.jsx(Ke,{size:15,strokeWidth:1.8})," AWS Certified Developer"]}),n.jsxs("li",{children:[n.jsx(Ke,{size:15,strokeWidth:1.8})," Certificeret Scrum Master"]})]}):null]})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(tm,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Korekort"})]}),n.jsx("div",{className:"cv-chip-wrap",children:(ie.length>0?ie.map(oy):["B (Almindelig bil)","A (Motorcykel)"]).map(E=>n.jsx("span",{className:"cv-chip",children:E},E))})]})]})]}),n.jsxs("div",{className:"cv-right",children:[n.jsxs("section",{children:[n.jsxs("div",{className:"cv-timeline-head",children:[n.jsx("div",{className:"cv-timeline-icon",children:n.jsx(fr,{size:19,strokeWidth:1.8})}),n.jsx("h2",{children:"Erhvervserfaring"})]}),n.jsx("div",{className:"cv-timeline",children:(fe.length>0?fe:iy).map((E,ae)=>{const he="occupation"in E?E.occupation?.name||"Stilling":E.title,pe="companyName"in E?E.companyName:E.company,H="comments"in E?E.comments:E.description,Q="fromDate"in E?E.fromDate:E.from,ue="toDate"in E?E.toDate:E.to,ee="isCurrent"in E?!!E.isCurrent:!1;return n.jsxs("article",{className:"cv-timeline-item",children:[n.jsx("div",{className:"cv-timeline-dot",children:n.jsx(sr,{size:15,strokeWidth:1.8})}),n.jsxs("div",{className:"cv-timeline-card",children:[n.jsx("h3",{children:he}),n.jsxs("div",{className:"cv-meta",children:[n.jsx("strong",{children:pe}),n.jsx("span",{children:Rh(Q,ue,ee)})]}),n.jsx("p",{children:H||"Ingen beskrivelse."})]})]},"id"in E?String(E.id):`exp-${ae}`)})})]}),n.jsx("div",{className:"cv-divider"}),n.jsxs("section",{children:[n.jsxs("div",{className:"cv-timeline-head",children:[n.jsx("div",{className:"cv-timeline-icon",children:n.jsx(nm,{size:19,strokeWidth:1.8})}),n.jsx("h2",{children:"Uddannelse"})]}),n.jsx("div",{className:"cv-timeline",children:(te.length>0?te:sy).map((E,ae)=>{const he="education"in E?E.education?.name||"Uddannelse":E.title,pe="institution"in E?E.institution?.name||"Institution":E.school,H="comments"in E?E.comments:E.description,Q="fromDate"in E?E.fromDate:E.from,ue="toDate"in E?E.toDate:E.to,ee="isCurrent"in E?!!E.isCurrent:!1;return n.jsxs("article",{className:"cv-timeline-item",children:[n.jsx("div",{className:"cv-timeline-dot",children:n.jsx(sr,{size:15,strokeWidth:1.8})}),n.jsxs("div",{className:"cv-timeline-card",children:[n.jsx("h3",{children:he}),n.jsxs("div",{className:"cv-meta",children:[n.jsx("strong",{children:pe}),n.jsx("span",{children:Rh(Q,ue,ee)})]}),n.jsx("p",{children:H||"Ingen beskrivelse."})]})]},"id"in E?String(E.id):`edu-${ae}`)})})]})]})]})]})]})}class hy{constructor(c=He){this.http=c}getNotificationSetting(){const c=M.backendApiV2+"2.0.0/client/notification/settings";return this.http.get(c)}createNotificationSetting(c){const u=M.backendApiV2+"2.0.0/client/notification/settings";return this.http.post(u,c)}updateNotificationSetting(c,u){const r=M.backendApiV2+"2.0.0/client/notification/settings/"+c;return this.http.put(r,u)}deleteNotificationSetting(c){const u=M.backendApiV2+"2.0.0/client/notification/settings/"+c;return this.http.delete(u)}getNewNotificationCount(){let c=M.backendApiV2+"1.0.0/client/notification/unseen_notifications";return this.http.get(c)}getNotifications(c,u){let r=M.backendApiV2+"1.0.0/client/notification/"+c+"/"+u;return this.http.get(r)}notificationSeenByUser(c){let u=M.backendApiV2+"1.0.0/client/notification/seen_by_user/"+c,r={};return this.http.put(u,r)}}class vr{constructor(c=He,u=Gl){this.http=c,this.localStorage=u}listSimulationPersonalities(){let c=M.backendApiV2+"client/simulation/1.0.0/list_simulation_personalities",u=new el().set("language","da");return this.http.get(c,{params:u})}getInterviewEvaluation(c){const u=M.backendApiV2+`client/simulation/1.0.0/interview_evaluation/${c}`;return this.http.get(u)}listInterviews(c=20,u=0){const r=M.backendApiV2+"client/job_simulator/1.0.0/list_interviews",h=new el().set("limit",c.toString()).set("offset",u.toString());return this.http.get(r,{params:h})}submitEvaluationRating(c,u,r){const h=M.backendApiV2+"client/simulation/1.0.0/evaluation_rating",v={interview_id:c,rating:u,rating_text:r};return this.http.post(h,v)}submitInterviewRating(c,u,r){const h=M.backendApiV2+"client/simulation/1.0.0/interview_rating",v={interview_id:c,rating:u,rating_text:r};return this.http.post(h,v)}}class my{constructor(c=He){this.http=c}chatMessageThreads=[];getChatMessages(){let c=M.backendApi+"api/1.1.0/chatMessages/forCandidate/";return this.http.get(c)}sendMessage(c){let u=M.backendApi+"api/1.1.0/chatMessages/"+c.threadId+"/fromCandidate";return this.http.post(u,c)}markThreadRead(c){let u=M.backendApi+"api/1.1.0/chatMessages/markRead/"+c;return this.http.get(u)}}class vy{constructor(c=He){this.http=c}getUnreadMessages(){let c=M.backendApi+"api/1.1.0/chatMessages/getUnreadCount";return this.http.get(c)}}function gs(o){if(!o)return 0;const u=(o instanceof Date?o:new Date(o)).getTime();return Number.isNaN(u)?0:u}function Iu(o,c){const u=o?.timeSent?new Date(o.timeSent):new Date,r=o?.seen?new Date(o.seen):void 0;return{id:o?.id,threadId:o?.threadId??c,timeSent:u,fromCandidate:!!o?.fromCandidate,text:o?.text??"",seen:r}}class vm{constructor(c=new my,u=new vy,r=new tl){this.chatMessagesService=c,this.messageService=u,this.candidateService=r}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async getThreads(){return(await this.chatMessagesService.getChatMessages()??[]).map(u=>{const r=(u.allMessages??[]).map(v=>Iu(v,u.id));r.sort((v,z)=>gs(v.timeSent)-gs(z.timeSent));const h=u.latestMessage?Iu(u.latestMessage,u.id):r[r.length-1]??Iu(void 0,u.id);return{...u,allMessages:r,latestMessage:h}}).sort((u,r)=>gs(r.latestMessage?.timeSent)-gs(u.latestMessage?.timeSent))}async getUnreadCount(){const c=await this.messageService.getUnreadMessages();return Number(c?.unreadCount??0)}async sendMessage(c,u){const r={threadId:c,text:u.trim(),fromCandidate:!0,timeSent:new Date};return this.chatMessagesService.sendMessage(r)}async markThreadReadByMessageId(c){c&&await this.chatMessagesService.markThreadRead(c)}}function Xn(o){return typeof o=="object"&&o!==null?o:null}function Ot(o){return typeof o=="string"?o:""}function gy(o){return typeof o=="number"?o:null}function py(o){const c=Xn(o);if(!c)return null;const r=Xn(c.jobPosting)??c,h=Ot(r.id);return h?{id:h,title:Ot(r.title),companyName:Ot(r.companyName),address:Ot(r.address),applicationDeadline:Ot(r.applicationDeadline),candidateDistance:gy(r.candidateDistance),fromJobnet:!!r.fromJobnet,logoUrl:Ot(r.logoUrl),companyLogoImage:Ot(r.companyLogoImage)}:null}function yy(o){const c=Xn(o);return(Array.isArray(c?.interviews)?c.interviews:[]).map(r=>{const h=Xn(r);if(!h)return null;const v=Ot(h.id);return v?{id:v,jobName:Ot(h.job_name)||"Interview",companyName:Ot(h.company_name)||null,interviewDate:Ot(h.interview_date)||null,recommendation:Ot(h.recommendation)||null,isCompleted:!!h.is_completed}:null}).filter(r=>!!r).sort((r,h)=>{const v=r.interviewDate?new Date(r.interviewDate).getTime():0;return(h.interviewDate?new Date(h.interviewDate).getTime():0)-v}).slice(0,5)}function by(o){const c=Xn(o);return c?Array.isArray(c.searchList)?c.searchList:[]:[]}class jy{constructor(c=new tl,u=new hy,r=new mr,h=new Ss,v=new vr,z=new vm){this.candidateService=c,this.notificationService=u,this.jobService=r,this.subscriptionService=h,this.simulationService=v,this.messagesViewModel=z}async loadInitialData(){const[c,u,r,h,v,z]=await Promise.allSettled([this.candidateService.getCandidate(),this.notificationService.getNotifications(0,5),this.messagesViewModel.getThreads(),this.loadBestJobs(),this.subscriptionService.getPaymentOverview(),this.simulationService.listInterviews(5,0)]);return{candidate:c.status==="fulfilled"?c.value:null,notifications:u.status==="fulfilled"?u.value.slice(0,5):[],messages:r.status==="fulfilled"?r.value.slice(0,5):[],bestJobs:h.status==="fulfilled"?h.value:[],subscription:v.status==="fulfilled"?v.value:null,evaluations:z.status==="fulfilled"?yy(z.value):[]}}async loadBestJobs(){const c=await this.jobService.getJobsV2(10,0,5,[]);return by(c).map(r=>py(r)).filter(r=>!!r).slice(0,5)}}const xy={bestJobs:[],candidate:null,evaluations:[],messages:[],notifications:[],subscription:null};function Vh(o){return o.trim().slice(0,1).toUpperCase()||"A"}function Sy({onLogout:o,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:h}){const v=T.useMemo(()=>new jy,[]),[z,q]=T.useState(xy),[L,b]=T.useState(!0);T.useEffect(()=>{let R=!0;return v.loadInitialData().then(K=>{R&&q(K)}).finally(()=>{R&&b(!1)}),()=>{R=!1}},[v]);const B=z.candidate?.firstName?.trim()||z.candidate?.name?.trim()||"Lasse",D=z.candidate?.imageUrl||z.candidate?.image||"";return n.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"dashboard",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(Jt,{name:B,imageUrl:D||void 0,onLogout:o,theme:h,onToggleTheme:r}),n.jsxs("div",{className:"dash-welcome",children:[n.jsxs("h1",{children:["Velkommen tilbage ",B," ",n.jsx("span",{children:"👋"})]}),n.jsx("p",{children:"Her er, hvad der sker med din jobsøgning i dag."})]}),L?n.jsx("p",{className:"dash-loading",children:"Indlaeser dashboard..."}):null,n.jsxs("div",{className:"dash-grid",children:[n.jsxs("div",{className:"dash-grid-main",children:[n.jsxs("article",{className:"dash-card",children:[n.jsx("div",{className:"dash-card-head",children:n.jsx("h2",{children:"Anbefalet til dig"})}),n.jsx("div",{className:"dash-job-list",children:(z.bestJobs.length>0?z.bestJobs:[{id:"d1",title:"Senior Frontend-udvikler",companyName:"Lunar",address:"Kobenhavn, DK",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""},{id:"d2",title:"React-udvikler",companyName:"Pleo",address:"Remote",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""}]).slice(0,5).map(R=>n.jsxs("div",{className:"dash-job-item",role:"button",tabIndex:0,onClick:()=>u(R.id,!!R.fromJobnet,"dashboard"),onKeyDown:K=>{(K.key==="Enter"||K.key===" ")&&(K.preventDefault(),u(R.id,!!R.fromJobnet,"dashboard"))},children:[n.jsxs("div",{className:"dash-job-left",children:[n.jsx("div",{className:"dash-company-chip",children:Vh(R.companyName)}),n.jsxs("div",{children:[n.jsx("h4",{children:R.title}),n.jsxs("p",{children:[R.companyName," • ",R.address||"Lokation ikke angivet"]})]})]}),n.jsx("button",{type:"button",className:"dash-job-arrow-btn","aria-label":"Se job",onClick:K=>{K.stopPropagation(),u(R.id,!!R.fromJobnet,"dashboard")},children:n.jsx(Ua,{size:16,strokeWidth:1.8})})]},R.id))})]}),n.jsxs("div",{className:"dash-split-grid",children:[n.jsxs("article",{className:"dash-card",children:[n.jsx("h3",{children:"Seneste beskeder"}),n.jsxs("div",{className:"dash-message-list",children:[(z.messages.length>0?z.messages:[]).slice(0,5).map(R=>n.jsxs("div",{className:"dash-message-item",children:[n.jsx("div",{className:"dash-avatar",children:Vh(R.companyName||"A")}),n.jsxs("div",{children:[n.jsx("h4",{children:R.companyName||"Samtale"}),n.jsx("p",{children:R.latestMessage?.text||"Ingen besked endnu"})]})]},R.id)),z.messages.length===0?n.jsx("p",{className:"dash-muted",children:"Ingen beskeder endnu."}):null]})]}),n.jsxs("article",{className:"dash-card",children:[n.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[n.jsx("h3",{children:"Seneste simuleringer"}),n.jsx("button",{type:"button",className:"dash-icon-btn",children:n.jsx(Bp,{size:16,strokeWidth:1.8})})]}),n.jsxs("div",{className:"dash-sim-list",children:[n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon teal",children:n.jsx(nr,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Teknisk samtale"}),n.jsx("p",{children:"Frontend-fokus"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"92/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"92%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon purple",children:n.jsx(y0,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Kulturelt match"}),n.jsx("p",{children:"Lunar Bank"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"88/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"88%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon amber",children:n.jsx(Gp,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Systemdesign"}),n.jsx("p",{children:"Arkitektur"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{className:"warn",children:"65/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{className:"warn",style:{width:"65%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon blue",children:n.jsx(nr,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Live-kodning"}),n.jsx("p",{children:"React.js"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"95/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"95%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon gray",children:n.jsx(um,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"HR-screening"}),n.jsx("p",{children:"Generelt"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{className:"na",children:"N/A"}),n.jsx("div",{className:"dash-progress"})]})]})]})]})]})]}),n.jsxs("div",{className:"dash-grid-side",children:[n.jsxs("article",{className:"dash-card dash-ai-card dash-ai-card-group",children:[n.jsx("div",{className:"dash-ai-peel"}),n.jsxs("div",{className:"dash-ai-content",children:[n.jsxs("div",{className:"dash-ai-head",children:[n.jsx(Zn,{size:22,strokeWidth:1.8}),n.jsx("h3",{children:"AI-indsigter til dit CV"})]}),n.jsx("p",{children:"Vi analyserede dit seneste CV op imod dine målroller."}),n.jsxs("ul",{className:"dash-ai-list",children:[n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(gg,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Kvantificer dine resultater"}),n.jsx("small",{children:'Tilføj tal til din rolle hos TechCorp (f.eks. \\"Forbedrede loadhastighed med 40%\\").'})]})]}),n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(hg,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Omorganiser dine færdigheder"}),n.jsx("small",{children:"Flyt React & TypeScript til toppen baseret på aktive Jobagenter."})]})]}),n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx($g,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Tilføj manglende nøgleord"}),n.jsx("small",{children:'Inkluder \\"Tailwind CSS\\" for at matche 85% af dine anbefalede jobs.'})]})]}),n.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(om,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Omskriv dit resumé"}),n.jsx("small",{children:"Gør din målsætning mere handlingsorienteret."})]})]}),n.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(vp,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Opdater porteføljelink"}),n.jsx("small",{children:"Dit GitHub-link gav en 404-fejl i vores test."})]})]})]}),n.jsx("button",{type:"button",children:"Anvend alle ændringer"})]})]}),n.jsxs("article",{className:"dash-card",children:[n.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[n.jsx("h3",{children:"Aktive Jobagenter"}),n.jsx("button",{type:"button",className:"dash-icon-btn",children:n.jsx(rm,{size:16,strokeWidth:1.8})})]}),n.jsxs("div",{className:"dash-agent-list",children:[n.jsxs("div",{className:"dash-agent-item",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsxs("small",{children:[n.jsx(Qn,{size:13,strokeWidth:1.8})," Kobenhavn"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox",defaultChecked:!0}),n.jsx("span",{})]})]}),n.jsxs("div",{className:"dash-agent-item",children:[n.jsxs("div",{children:[n.jsx("span",{children:"React-udvikler"}),n.jsxs("small",{children:[n.jsx(cr,{size:13,strokeWidth:1.8})," Remote (EU)"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox",defaultChecked:!0}),n.jsx("span",{})]})]}),n.jsxs("div",{className:"dash-agent-item muted",children:[n.jsxs("div",{children:[n.jsx("span",{children:"UI/UX-designer"}),n.jsxs("small",{children:[n.jsx(Qn,{size:13,strokeWidth:1.8})," Aarhus"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox"}),n.jsx("span",{})]})]})]}),n.jsx("button",{type:"button",className:"dash-outline-btn",children:"Opret ny agent"})]})]})]})]})]})}function Jn(o){return o instanceof Date?o.toISOString():typeof o=="string"?o:""}function qh(o){const c=[o.road,o.houseNum,o.zip,o.zipName].filter(u=>typeof u=="string"&&u.trim().length>0).join(" ");return{id:o.id,title:o.title??"Job",companyName:o.hiringCompanyName??"Ukendt virksomhed",occupationName:o.occupation?.name??"",address:c||o.zipName||"Ukendt adresse",description:o.description??"",applicationDeadline:Jn(o.applicationDeadline),websiteUrl:o.applicationUrl||o.hiringCompanyUrl||"",logoUrl:o.logoUrl||"",fromJobnet:!0,isSaved:!1,isApplied:!!o.applied,isFullTime:typeof o.isFullTime=="boolean"?o.isFullTime:null,workTimes:Array.isArray(o.workTimes)?o.workTimes:[],contactName:o.contactName??"",hiringCompanyName:o.hiringCompanyName??"",datePosted:Jn(o.datePosted),employmentDate:Jn(o.employmentDate),startAsSoonAsPossible:typeof o.startAsSoonAsPossible=="boolean"?o.startAsSoonAsPossible:null,numberOfPositions:typeof o.numberOfPositions=="number"?o.numberOfPositions:null}}function Bh(o,c){return{id:o,title:c.title??"Job",companyName:c.companyName??"Ukendt virksomhed",occupationName:c.position??"",address:"",description:[c.descriptionIntro,c.descriptionPosition,c.descriptionOffer].filter(u=>typeof u=="string"&&u.trim().length>0).join(` - -`),applicationDeadline:Jn(c.applicationDeadline),websiteUrl:c.website??"",logoUrl:"",fromJobnet:!1,isSaved:!1,isApplied:!!c.appliedJob,isFullTime:null,workTimes:Array.isArray(c.workTimes)?c.workTimes:[],contactName:"",hiringCompanyName:c.companyName??"",datePosted:"",employmentDate:Jn(c.fromDate),startAsSoonAsPossible:null,numberOfPositions:typeof c.numberOfPositions=="number"?c.numberOfPositions:null}}class Ny{constructor(c=new mr){this.jobService=c}async getDetail(c,u){if(u)try{const r=await this.jobService.getJobNetJobDetail(c);return qh(r)}catch{const r=await this.jobService.getJobDetail(c);return Bh(c,r)}try{const r=await this.jobService.getJobDetail(c);return Bh(c,r)}catch{const r=await this.jobService.getJobNetJobDetail(c);return qh(r)}}async toggleBookmark(c,u,r){const h=u?"star":"arbejd.com";await this.jobService.bookmarkJobV2(c,r,h)}async markAsApplied(c,u){if(u){await this.jobService.toggleApplyJobnetjob(c,!0);return}await this.jobService.applyJob(c)}}function ky(o){return o.trim().slice(0,1).toUpperCase()||"A"}function Pu(o){if(!o)return"Ikke angivet";const c=new Date(o);return Number.isNaN(c.getTime())?o:new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(c)}function _y(o){if(!o.trim())return"";if(typeof window>"u")return o;const u=new DOMParser().parseFromString(o,"text/html");u.querySelectorAll("script, style, iframe, object, embed, link, meta").forEach(r=>r.remove());for(const r of Array.from(u.body.querySelectorAll("*")))for(const h of Array.from(r.attributes)){const v=h.name.toLowerCase(),q=h.value.trim().toLowerCase();if(v.startsWith("on")){r.removeAttribute(h.name);continue}if((v==="href"||v==="src")&&q.startsWith("javascript:")){r.removeAttribute(h.name);continue}(v==="style"||v==="srcdoc")&&r.removeAttribute(h.name)}return u.body.innerHTML}function Ay(o){return o.isFullTime===!0?"Fuldtid":o.isFullTime===!1?"Deltid":o.workTimes.length>0?"Fleksibel arbejdstid":"Ikke oplyst"}function Ty({fromJobnet:o,jobId:c,onBack:u,onLogout:r,onNavigate:h,onToggleTheme:v,theme:z}){const q=T.useMemo(()=>new Ny,[]),L=T.useMemo(()=>new Ns,[]),[b,B]=T.useState({name:"Lasse"}),[D,R]=T.useState(null),[K,le]=T.useState(!0),[Z,fe]=T.useState(""),[te,se]=T.useState(!1),[Y,P]=T.useState(!1),[ie,G]=T.useState(!1),[E,ae]=T.useState(!1);T.useEffect(()=>{let Q=!0;async function ue(){le(!0),fe("");const[ee,W]=await Promise.allSettled([L.getCandidateProfile(),q.getDetail(c,o)]);Q&&(ee.status==="fulfilled"&&B(ee.value),W.status==="fulfilled"?(R(W.value),se(!!W.value.isSaved),P(!!W.value.isApplied)):(R(null),fe("Kunne ikke hente jobdetaljer. Proev igen.")),le(!1))}return ue(),()=>{Q=!1}},[q,o,c,L]);async function he(){if(!(!D||ie)){G(!0);try{await q.toggleBookmark(D.id,D.fromJobnet,!te),se(Q=>!Q)}finally{G(!1)}}}async function pe(){if(!(!D||Y||E)){ae(!0);try{await q.markAsApplied(D.id,D.fromJobnet),P(!0)}finally{ae(!1)}}}const H=T.useMemo(()=>_y(D?.description??""),[D?.description]);return n.jsxs("section",{className:`dash-root ${z==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"jobs",onNavigate:h}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(Jt,{name:b.name,imageUrl:b.imageUrl,onLogout:r,theme:z,onToggleTheme:v}),n.jsx("div",{className:"job-detail-back-row",children:n.jsxs("button",{type:"button",className:"job-detail-back-btn",onClick:u,children:[n.jsx(Ih,{size:15,strokeWidth:1.8}),n.jsx("span",{children:"Tilbage til jobs"})]})}),K?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobdetaljer..."}):null,!K&&Z?n.jsx("p",{className:"dash-loading",children:Z}):null,!K&&D?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"job-detail-header",children:[n.jsx("div",{className:"job-detail-logo-wrap",children:D.logoUrl?n.jsx("img",{src:D.logoUrl,alt:D.companyName,className:"job-detail-logo-image"}):n.jsx("div",{className:"job-detail-logo-fallback",children:ky(D.companyName)})}),n.jsxs("div",{className:"job-detail-heading",children:[n.jsx("h1",{children:D.title||"Jobdetaljer"}),n.jsxs("div",{className:"job-detail-meta",children:[n.jsxs("span",{children:[n.jsx(ar,{size:14,strokeWidth:1.8})," ",D.companyName||"Virksomhed"]}),n.jsxs("span",{children:[n.jsx(Qn,{size:14,strokeWidth:1.8})," ",D.address||"Lokation ikke angivet"]}),n.jsxs("span",{children:[n.jsx(lr,{size:14,strokeWidth:1.8})," ",Ay(D)]})]})]})]}),n.jsxs("div",{className:"job-detail-grid",children:[n.jsxs("section",{className:"job-detail-main-card dash-card",children:[n.jsxs("div",{className:"job-detail-section",children:[n.jsx("h2",{children:"Om rollen"}),H?n.jsx("div",{className:"job-detail-rich-html",dangerouslySetInnerHTML:{__html:H}}):n.jsx("p",{children:"Ingen jobbeskrivelse er tilgaengelig endnu."})]}),n.jsxs("div",{className:"job-detail-section",children:[n.jsx("h3",{children:"Jobinformation"}),n.jsxs("div",{className:"job-detail-info-grid",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Ansøgningsfrist"}),n.jsx("strong",{children:Pu(D.applicationDeadline)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Opslået"}),n.jsx("strong",{children:Pu(D.datePosted)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Startdato"}),n.jsx("strong",{children:Pu(D.employmentDate)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Stillinger"}),n.jsx("strong",{children:D.numberOfPositions??"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kontaktperson"}),n.jsx("strong",{children:D.contactName||"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kilde"}),n.jsx("strong",{children:D.fromJobnet?"Jobnet":"Arbejd.com"})]})]})]})]}),n.jsxs("aside",{className:"job-detail-side-col",children:[n.jsxs("article",{className:"dash-card job-detail-actions-card",children:[n.jsx("h2",{children:"Handlinger"}),n.jsxs("button",{type:"button",className:"job-detail-action-primary",children:[n.jsxs("span",{children:[n.jsx(Zn,{size:16,strokeWidth:1.8})," Generer ansøgning"]}),n.jsx(Ua,{size:14,strokeWidth:1.8})]}),n.jsxs("button",{type:"button",className:"job-detail-action-secondary",children:[n.jsxs("span",{children:[n.jsx(Wp,{size:16,strokeWidth:1.8})," Simuler jobsamtale"]}),n.jsx(Ua,{size:14,strokeWidth:1.8})]}),n.jsx("div",{className:"job-detail-action-divider"}),n.jsxs("button",{type:"button",className:"job-detail-text-action",onClick:()=>{he()},disabled:ie,children:[n.jsx(yg,{size:16,strokeWidth:1.8}),te?"Fjern fra gemte jobs":"Gem job"]}),n.jsxs("button",{type:"button",className:"job-detail-text-action",children:[n.jsx(xs,{size:16,strokeWidth:1.8}),"Del via email"]}),D.websiteUrl?n.jsxs("a",{href:D.websiteUrl,target:"_blank",rel:"noreferrer",className:"job-detail-text-action link",children:[n.jsx(js,{size:16,strokeWidth:1.8}),"Åbn på nettet"]}):null,n.jsxs("button",{type:"button",className:Y?"job-detail-text-action success is-done":"job-detail-text-action success",onClick:()=>{pe()},disabled:Y||E,children:[n.jsx(Ke,{size:16,strokeWidth:1.8}),Y?"Markeret som søgt":"Marker som søgt"]})]}),n.jsxs("article",{className:"dash-card job-detail-company-card",children:[n.jsx("h3",{children:"Om virksomheden"}),n.jsxs("div",{className:"job-detail-company-list",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Virksomhed"}),n.jsx("strong",{children:D.hiringCompanyName||D.companyName||"Ukendt"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Stilling"}),n.jsx("strong",{children:D.occupationName||"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Website"}),n.jsx("strong",{children:D.websiteUrl||"Ikke angivet"})]})]})]})]})]})]}):null]})]})}const Yh=[2,4,6,8,10,12,24],zy=[{id:"job-1",title:"Senior Frontend-udvikler",companyName:"Lunar",occupationName:"Frontend",descriptionIntro:"Vi søger en erfaren frontend-udvikler til at lede vores nye team.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:5,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:98},{id:"job-2",title:"UX/UI Designer (Deltid)",companyName:"Pleo",occupationName:"Design",descriptionIntro:"Hjælp os med at skabe brugervenlige flows for vores expense management platform.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:12,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:95},{id:"job-3",title:"React-udvikler",companyName:"Zendesk",occupationName:"Frontend",descriptionIntro:"Bliv en del af vores kerne-team i Kobenhavn og byg software i topklasse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:2,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:89},{id:"job-4",title:"Full Stack Web-udvikler",companyName:"Trustpilot",occupationName:"Full stack",descriptionIntro:"Vi leder efter en passioneret Full Stack Developer (Node.js/React).",address:"Remote",time:"",applicationDeadline:"",candidateDistance:null,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:85},{id:"job-5",title:"Frontend-arkitekt",companyName:"Novo Nordisk",occupationName:"Frontend",descriptionIntro:"Vær med til at designe arkitekturen for interne medicinske data-platforme.",address:"Bagsvaerd",time:"",applicationDeadline:"",candidateDistance:18,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:72},{id:"job-6",title:"Product Designer",companyName:"Podimo",occupationName:"Design",descriptionIntro:"Vi mangler en skarp Product Designer til at forme fremtidens lytteoplevelse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:3,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:68}];function Dy(o){return o.trim().slice(0,1).toUpperCase()||"A"}function Gh(o){return o.address.toLowerCase().includes("remote")?"Remote":typeof o.candidateDistance=="number"?`${Math.max(0,Math.round(o.candidateDistance))} km vaek`:o.address||"Lokation ikke angivet"}function My(o){return o.companyLogoImage||o.logoUrl||""}function Jh({item:o}){const[c,u]=T.useState(!1),r=My(o);return r.length>0&&!c?n.jsx("div",{className:"jobs-card-logo jobs-card-logo-image-wrap",children:n.jsx("img",{src:r,alt:o.companyName||"Virksomhed",className:"jobs-card-logo-image",onError:()=>u(!0)})}):n.jsx("div",{className:"jobs-card-logo",children:Dy(o.companyName)})}function Ey(o){return o.workTypePartTime?"deltid":"fast"}function Cy({onLogout:o,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:h}){const v=T.useMemo(()=>new Ns,[]),[z,q]=T.useState({name:"Lasse"}),[L,b]=T.useState(""),[B,D]=T.useState("sidebar"),[R,K]=T.useState("fast"),[le,Z]=T.useState(15),[fe,te]=T.useState(24),[se,Y]=T.useState(["Frontend-udvikler","UX/UI Designer"]),[P,ie]=T.useState(""),[G,E]=T.useState([]),[ae,he]=T.useState(!0),[pe,H]=T.useState(6),Q=T.useCallback(async()=>{try{const m=await v.getTabItems("jobs");E(m),H(6)}catch{E([]),H(6)}},[v]);T.useEffect(()=>{let m=!0;async function N(){try{const U=await v.getSavedFilter();if(!m)return;K(Ey(U)),Z(U.workDistance??15),te(U.partTimeHours??24),b(U.distanceCenterName??"")}catch{}if(await Q(),m){const U=await v.getCandidateProfile();m&&q(U),he(!1)}}return N(),()=>{m=!1}},[Q,v]);async function ue(){const m={escoIds:[],workTypePermanent:R==="fast",workTypePartTime:R==="deltid",workDistance:le,partTimeHours:R==="deltid"?fe:null,distanceCenterName:L,latitude:null,longitude:null};he(!0);try{const N=await v.applyFiltersAndGetJobs(m,{searchText:L,desiredTitles:se});E(N),H(6)}catch{E([]),H(6)}he(!1)}const ee=G.length>0?G:zy,W=ee.slice(0,Math.min(pe,ee.length)),_=pem==="sidebar"?"top":"sidebar")}function x(m){Y(N=>N.filter(U=>U!==m))}function $(m){const N=m.trim();N&&(Y(U=>U.includes(N)?U:[...U,N]),ie(""))}function de(){H(m=>Math.min(m+6,ee.length))}return n.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"jobs",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(Jt,{name:z.name,imageUrl:z.imageUrl,onLogout:o,theme:h,onToggleTheme:r,actions:n.jsxs("button",{type:"button",className:"jobs-layout-toggle",onClick:V,children:[B==="sidebar"?n.jsx(sm,{size:16,strokeWidth:1.8}):n.jsx(im,{size:16,strokeWidth:1.8}),n.jsx("span",{children:B==="sidebar"?"Top-layout":"Side-layout"})]})}),n.jsxs("div",{className:"jobs-page-head",children:[n.jsx("h1",{children:"Find dit naeste job"}),n.jsx("p",{children:"Sog og filtrer for at finde det perfekte match til din profil."})]}),B==="sidebar"?n.jsxs("div",{className:"jobs-grid",children:[n.jsxs("aside",{className:"jobs-filter dash-card",children:[n.jsxs("h2",{children:[n.jsx(ar,{size:18,strokeWidth:1.8})," Filtre"]}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Sog jobtitel eller virksomhed"}),n.jsxs("div",{className:"jobs-search-wrap",children:[n.jsx(rr,{size:16,strokeWidth:1.8}),n.jsx("input",{type:"text",placeholder:"F.eks. Frontend Udvikler...",value:L,onChange:m=>b(m.target.value)})]})]}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Onskede jobtitler"}),n.jsxs("div",{className:"jobs-title-picker",children:[n.jsxs("div",{className:"jobs-title-input-wrap",children:[se.map(m=>n.jsxs("span",{className:"jobs-title-chip",children:[m,n.jsx("button",{type:"button",onClick:()=>x(m),"aria-label":`Fjern ${m}`,children:n.jsx(or,{size:12,strokeWidth:2})})]},m)),n.jsx("input",{type:"text",value:P,onChange:m=>ie(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),$(P))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),n.jsxs("div",{className:"jobs-title-suggestions",children:[n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>$("Frontend-udvikler"),children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsx(Ke,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Backend-udvikler"),children:n.jsx("span",{children:"Backend-udvikler"})}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Full Stack-udvikler"),children:n.jsx("span",{children:"Full Stack-udvikler"})}),n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>$("UX/UI Designer"),children:[n.jsx("span",{children:"UX/UI Designer"}),n.jsx(Ke,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Product Manager"),children:n.jsx("span",{children:"Product Manager"})})]})]})]}),n.jsx("div",{className:"jobs-separator"}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Ansaettelsestype"}),n.jsxs("div",{className:"jobs-radio-grid",children:[n.jsx("button",{type:"button",className:R==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>K("fast"),children:"Fast (Fuldtid)"}),n.jsx("button",{type:"button",className:R==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>K("deltid"),children:"Deltid"})]})]}),n.jsxs("div",{className:"jobs-filter-block jobs-range-block",children:[n.jsxs("div",{className:"jobs-range-head",children:[n.jsx("label",{children:"Maks. afstand"}),n.jsxs("span",{children:[le," km"]})]}),n.jsx("input",{type:"range",min:0,max:50,value:le,onChange:m=>Z(Number(m.target.value))}),n.jsxs("div",{className:"jobs-range-labels",children:[n.jsx("span",{children:"0 km"}),n.jsx("span",{children:"50+ km"})]})]}),n.jsx("div",{className:"jobs-separator"}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Timer (ved deltid)"}),n.jsx("p",{children:"Vaelg onsket timeantal pr. uge"}),n.jsx("div",{className:"jobs-hours-grid",children:Yh.map(m=>n.jsx("button",{type:"button",className:fe===m?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>te(m),children:m},m))})]}),n.jsx("button",{type:"button",className:"jobs-apply-btn",onClick:()=>{ue()},children:"Opdater resultater"})]}),n.jsxs("section",{className:"jobs-content",children:[n.jsxs("div",{className:"jobs-content-head",children:[n.jsx("h2",{children:"Seneste jobs"}),n.jsxs("span",{children:["Viser ",G.length>0?G.length:142," resultater"]})]}),ae?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,n.jsx("div",{className:"jobs-cards",children:W.map(m=>n.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>u(m.id,m.fromJobnet,"jobs"),onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),u(m.id,m.fromJobnet,"jobs"))},children:[n.jsx("div",{className:"jobs-card-top",children:n.jsx(Jh,{item:m})}),n.jsxs("div",{className:"jobs-card-title",children:[n.jsx("h3",{children:m.title||"Stilling"}),n.jsx("p",{children:m.companyName||"Virksomhed"})]}),n.jsx("p",{className:"jobs-card-description",children:m.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),n.jsxs("div",{className:"jobs-card-bottom",children:[n.jsxs("div",{className:"jobs-card-distance",children:[m.address.toLowerCase().includes("remote")?n.jsx(cr,{size:15,strokeWidth:1.8}):n.jsx(ur,{size:15,strokeWidth:1.8}),n.jsx("span",{children:Gh(m)})]}),n.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:N=>{N.stopPropagation(),u(m.id,m.fromJobnet,"jobs")},children:n.jsx(Ua,{size:16,strokeWidth:1.8})})]})]},m.id))}),n.jsx("div",{className:"jobs-load-more-wrap",children:n.jsx("button",{type:"button",className:"jobs-load-more",onClick:de,disabled:!_,children:_?"Indlaes flere jobs":"Alle jobs er vist"})})]})]}):n.jsxs("section",{className:"jobs-top-layout",children:[n.jsxs("div",{className:"jobs-top-filters dash-card",children:[n.jsxs("div",{className:"jobs-top-filter-title",children:[n.jsx(ar,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Filtre"})]}),n.jsxs("div",{className:"jobs-top-controls",children:[n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Sog noegleord eller virksomhed"}),n.jsxs("div",{className:"jobs-search-wrap",children:[n.jsx(rr,{size:16,strokeWidth:1.8}),n.jsx("input",{type:"text",placeholder:"F.eks. Lunar, React...",value:L,onChange:m=>b(m.target.value)})]})]}),n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Ansaettelsestype"}),n.jsxs("div",{className:"jobs-radio-grid",children:[n.jsx("button",{type:"button",className:R==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>K("fast"),children:"Fast"}),n.jsx("button",{type:"button",className:R==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>K("deltid"),children:"Deltid"})]})]}),n.jsxs("div",{className:"jobs-filter-block no-margin jobs-top-range",children:[n.jsxs("div",{className:"jobs-range-head",children:[n.jsx("label",{children:"Maks. afstand"}),n.jsxs("span",{children:[le," km"]})]}),n.jsx("input",{type:"range",min:0,max:50,value:le,onChange:m=>Z(Number(m.target.value))})]}),n.jsx("button",{type:"button",className:"jobs-apply-btn jobs-top-apply",onClick:()=>{ue()},children:"Opdater resultater"})]}),n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Onskede jobtitler"}),n.jsxs("div",{className:"jobs-title-picker",children:[n.jsxs("div",{className:"jobs-title-input-wrap",children:[se.map(m=>n.jsxs("span",{className:"jobs-title-chip",children:[m,n.jsx("button",{type:"button",onClick:()=>x(m),"aria-label":`Fjern ${m}`,children:n.jsx(or,{size:12,strokeWidth:2})})]},m)),n.jsx("input",{type:"text",value:P,onChange:m=>ie(m.target.value),onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),$(P))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),n.jsxs("div",{className:"jobs-title-suggestions",children:[n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>$("Frontend-udvikler"),children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsx(Ke,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Backend-udvikler"),children:n.jsx("span",{children:"Backend-udvikler"})}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Full Stack-udvikler"),children:n.jsx("span",{children:"Full Stack-udvikler"})}),n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>$("UX/UI Designer"),children:[n.jsx("span",{children:"UX/UI Designer"}),n.jsx(Ke,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>$("Product Manager"),children:n.jsx("span",{children:"Product Manager"})})]})]})]}),n.jsx("div",{className:"jobs-separator top-margin"}),n.jsxs("div",{className:"jobs-hours-row",children:[n.jsxs("div",{children:[n.jsx("label",{children:"Timer (ved deltid)"}),n.jsx("p",{children:"Vaelg onsket timeantal pr. uge"})]}),n.jsx("div",{className:"jobs-hours-grid",children:Yh.map(m=>n.jsx("button",{type:"button",className:fe===m?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>te(m),children:m},m))})]})]}),n.jsxs("section",{className:"jobs-content",children:[n.jsxs("div",{className:"jobs-content-head",children:[n.jsx("h2",{children:"Seneste jobs"}),n.jsxs("span",{children:["Viser ",G.length>0?G.length:142," resultater"]})]}),ae?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,n.jsx("div",{className:"jobs-cards jobs-cards-top",children:W.map(m=>n.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>u(m.id,m.fromJobnet,"jobs"),onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),u(m.id,m.fromJobnet,"jobs"))},children:[n.jsx("div",{className:"jobs-card-top",children:n.jsx(Jh,{item:m})}),n.jsxs("div",{className:"jobs-card-title",children:[n.jsx("h3",{children:m.title||"Stilling"}),n.jsx("p",{children:m.companyName||"Virksomhed"})]}),n.jsx("p",{className:"jobs-card-description",children:m.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),n.jsxs("div",{className:"jobs-card-bottom",children:[n.jsxs("div",{className:"jobs-card-distance",children:[m.address.toLowerCase().includes("remote")?n.jsx(cr,{size:15,strokeWidth:1.8}):n.jsx(ur,{size:15,strokeWidth:1.8}),n.jsx("span",{children:Gh(m)})]}),n.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:N=>{N.stopPropagation(),u(m.id,m.fromJobnet,"jobs")},children:n.jsx(Ua,{size:16,strokeWidth:1.8})})]})]},m.id))}),n.jsx("div",{className:"jobs-load-more-wrap",children:n.jsx("button",{type:"button",className:"jobs-load-more",onClick:de,disabled:!_,children:_?"Indlaes flere jobs":"Alle jobs er vist"})})]})]})]})]})}function bs(o){if(!o)return 0;const u=(o instanceof Date?o:new Date(o)).getTime();return Number.isNaN(u)?0:u}function gm(o){if(!o)return"--:--";const c=o instanceof Date?o:new Date(o);return Number.isNaN(c.getTime())?"--:--":new Intl.DateTimeFormat("da-DK",{hour:"2-digit",minute:"2-digit"}).format(c)}function wy(o){if(!o)return"";const c=o instanceof Date?o:new Date(o);if(Number.isNaN(c.getTime()))return"";const u=new Date,r=1440*60*1e3,h=Math.floor((new Date(u.getFullYear(),u.getMonth(),u.getDate()).getTime()-new Date(c.getFullYear(),c.getMonth(),c.getDate()).getTime())/r);return h===0?gm(c):h===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(c)}function Uy(o){const c=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate()),r=new Date(c.getFullYear(),c.getMonth(),c.getDate()),h=Math.floor((r.getTime()-u.getTime())/(1440*60*1e3));return h===0?"I dag":h===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(o)}function Yn(o){return!o.fromCandidate&&!o.seen}function Qh(o){return o.allMessages.filter(Yn).length}function qn(o){return o.companyLogoUrl||o.companyLogo||""}function Oy(o){return{...o,allMessages:[...o.allMessages??[]].sort((c,u)=>bs(c.timeSent)-bs(u.timeSent))}}function Xh(){const o=new Date,c=new Date(o.getTime()-600*1e3),u=new Date(o.getTime()-7200*1e3),r=(z,q,L,b,B)=>({threadId:z,text:q,fromCandidate:L,timeSent:b,seen:B}),h=[r("thread-techcorp","Hej Lasse! Mange tak for din ansøgning.",!1,u),r("thread-techcorp","Mange tak, det lyder rigtig spændende.",!0,new Date(u.getTime()+1200*1e3),new Date(u.getTime()+1800*1e3)),r("thread-techcorp","Vi vil gerne invitere dig til samtale.",!1,c)],v=[r("thread-lunar","Mange tak for din opdaterede portefølje.",!1,new Date(o.getTime()-1560*60*1e3),new Date(o.getTime()-1500*60*1e3))];return[{id:"thread-techcorp",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=33",companyName:"TechCorp A/S",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:h,latestMessage:h[h.length-1],title:"Frontend Udvikler",messagesLoaded:!0,jobPostingId:"job-1",jobPosting:void 0,isFromSupport:!1},{id:"thread-lunar",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=12",companyName:"Lunar Bank",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:v,latestMessage:v[v.length-1],title:"Senior UX Designer",messagesLoaded:!0,jobPostingId:"job-2",jobPosting:void 0,isFromSupport:!1}]}function Ly({onLogout:o,onNavigate:c,onToggleTheme:u,theme:r}){const h=T.useMemo(()=>new vm,[]),[v,z]=T.useState("Lasse"),[q,L]=T.useState(void 0),[b,B]=T.useState([]),[D,R]=T.useState(!0),[K,le]=T.useState(""),[Z,fe]=T.useState("all"),[te,se]=T.useState(""),[Y,P]=T.useState("");T.useEffect(()=>{let H=!0;async function Q(){R(!0);try{const ue=await h.getCandidateProfile();H&&(z(ue.name),L(ue.imageUrl));const ee=await h.getThreads();if(!H)return;const W=(ee.length>0?ee:Xh()).map(Oy);B(W),se(W[0]?.id||"")}catch{if(!H)return;const ue=Xh();B(ue),se(ue[0]?.id||"")}finally{H&&R(!1)}}return Q(),()=>{H=!1}},[h]);const ie=T.useMemo(()=>{const H=K.trim().toLowerCase();return b.filter(Q=>Z==="unread"&&Qh(Q)===0||Z==="companies"&&Q.isFromSupport?!1:H?Q.companyName.toLowerCase().includes(H)||(Q.latestMessage?.text||"").toLowerCase().includes(H):!0)},[Z,K,b]),G=T.useMemo(()=>b.find(H=>H.id===te)||ie[0],[te,ie,b]),E=T.useMemo(()=>[...G?.allMessages||[]].sort((H,Q)=>bs(H.timeSent)-bs(Q.timeSent)),[G]);async function ae(H){se(H.id);const Q=[...H.allMessages].reverse().find(ue=>Yn(ue));Q?.id&&(h.markThreadReadByMessageId(Q.id),B(ue=>ue.map(ee=>ee.id!==H.id?ee:{...ee,allMessages:ee.allMessages.map(W=>Yn(W)?{...W,seen:new Date}:W)})))}async function he(){const H=b.flatMap(Q=>Q.allMessages).filter(Q=>Yn(Q)&&!!Q.id);await Promise.all(H.map(Q=>h.markThreadReadByMessageId(Q.id))),B(Q=>Q.map(ue=>({...ue,allMessages:ue.allMessages.map(ee=>Yn(ee)?{...ee,seen:new Date}:ee)})))}async function pe(){const H=Y.trim();if(!G||!H)return;const Q={threadId:G.id,text:H,fromCandidate:!0,timeSent:new Date};P(""),B(ue=>ue.map(ee=>{if(ee.id!==G.id)return ee;const W=[...ee.allMessages,Q];return{...ee,allMessages:W,latestMessage:Q}}));try{const ue=await h.sendMessage(G.id,H);B(ee=>ee.map(W=>{if(W.id!==G.id)return W;const V=[...W.allMessages.filter(x=>x!==Q),ue];return{...W,allMessages:V,latestMessage:ue}}))}catch{}}return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"messages",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar msg-main",children:[n.jsx(Jt,{name:v,imageUrl:q,onLogout:o,theme:r,onToggleTheme:u}),n.jsxs("div",{className:"msg-head",children:[n.jsxs("div",{children:[n.jsx("h1",{children:"Beskeder"}),n.jsx("p",{children:"Kommuniker med virksomheder og hold styr på dine ansøgninger."})]}),n.jsxs("button",{type:"button",className:"msg-mark-btn",onClick:()=>{he()},children:[n.jsx(zg,{size:16,strokeWidth:1.8})," Marker alle som læst"]})]}),n.jsxs("div",{className:"msg-layout",children:[n.jsxs("section",{className:"msg-threads",children:[n.jsxs("div",{className:"msg-threads-head",children:[n.jsxs("div",{className:"msg-search-wrap",children:[n.jsx(rr,{size:16,strokeWidth:1.8}),n.jsx("input",{value:K,onChange:H=>le(H.target.value),type:"text",placeholder:"Søg i beskeder..."})]}),n.jsxs("div",{className:"msg-filter-row",children:[n.jsx("button",{type:"button",className:Z==="all"?"active":"",onClick:()=>fe("all"),children:"Alle"}),n.jsx("button",{type:"button",className:Z==="unread"?"active":"",onClick:()=>fe("unread"),children:"Ulæste"}),n.jsx("button",{type:"button",className:Z==="companies"?"active":"",onClick:()=>fe("companies"),children:"Virksomheder"})]})]}),n.jsxs("div",{className:"msg-thread-list custom-scrollbar",children:[D?n.jsx("p",{className:"dash-loading",children:"Indlaeser beskeder..."}):null,!D&&ie.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen tråde fundet."}):null,ie.map(H=>{const Q=Qh(H),ue=G?.id===H.id,ee=qn(H);return n.jsxs("button",{type:"button",className:ue?"msg-thread-item active":"msg-thread-item",onClick:()=>{ae(H)},children:[n.jsxs("div",{className:"msg-thread-avatar-wrap",children:[ee?n.jsx("img",{src:ee,alt:H.companyName,className:"msg-thread-avatar"}):n.jsx("div",{className:"msg-thread-avatar-fallback",children:H.companyName.slice(0,1).toUpperCase()}),n.jsx("span",{className:"msg-thread-online"})]}),n.jsxs("div",{className:"msg-thread-content",children:[n.jsxs("div",{className:"msg-thread-row",children:[n.jsx("h3",{children:H.companyName}),n.jsx("span",{children:wy(H.latestMessage?.timeSent)})]}),n.jsx("p",{className:Q>0?"unread":"",children:H.latestMessage?.text||"Ingen beskeder endnu"}),n.jsx("small",{children:H.title||"Stilling"})]}),Q>0?n.jsx("div",{className:"msg-thread-unread",children:Q}):null]},H.id)})]})]}),n.jsxs("section",{className:"msg-chat",children:[n.jsx("div",{className:"msg-chat-head",children:G?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"msg-chat-company",children:[qn(G)?n.jsx("img",{src:qn(G),alt:G.companyName,className:"msg-chat-avatar"}):n.jsx("div",{className:"msg-chat-avatar-fallback",children:G.companyName.slice(0,1).toUpperCase()}),n.jsxs("div",{children:[n.jsx("h2",{children:G.companyName}),n.jsx("p",{children:G.title||"Rekruttering"})]})]}),n.jsxs("div",{className:"msg-chat-actions",children:[n.jsx("button",{type:"button","aria-label":"Ring",children:n.jsx(Rp,{size:16,strokeWidth:1.8})}),n.jsx("button",{type:"button","aria-label":"Info",children:n.jsx(cp,{size:16,strokeWidth:1.8})})]})]}):n.jsx("h2",{children:"Vælg en samtale"})}),n.jsx("div",{className:"msg-chat-body custom-scrollbar",children:E.map((H,Q)=>{const ue=H.timeSent instanceof Date?H.timeSent:new Date(H.timeSent),ee=Q>0?E[Q-1]:void 0,W=ee?.timeSent instanceof Date?ee.timeSent:ee?.timeSent?new Date(ee.timeSent):void 0,_=!W||ue.toDateString()!==W.toDateString();return n.jsxs("div",{children:[_?n.jsx("div",{className:"msg-day-sep",children:Uy(ue)}):null,n.jsxs("div",{className:H.fromCandidate?"msg-bubble-row mine":"msg-bubble-row",children:[H.fromCandidate?null:qn(G)?n.jsx("img",{src:qn(G),alt:G.companyName,className:"msg-mini-avatar"}):n.jsx("div",{className:"msg-mini-avatar msg-mini-avatar-fallback",children:G.companyName.slice(0,1).toUpperCase()}),n.jsxs("div",{className:"msg-bubble-wrap",children:[n.jsx("span",{className:"msg-time",children:gm(H.timeSent)}),n.jsx("div",{className:H.fromCandidate?"msg-bubble mine":"msg-bubble",children:H.text})]})]})]},`${H.threadId}-${Q}`)})}),n.jsx("div",{className:"msg-input-area",children:n.jsxs("div",{className:"msg-input-wrap",children:[n.jsx("button",{type:"button","aria-label":"Vedhæft",children:n.jsx(wp,{size:18,strokeWidth:1.8})}),n.jsx("textarea",{rows:1,value:Y,onChange:H=>P(H.target.value),onKeyDown:H=>{H.key==="Enter"&&!H.shiftKey&&(H.preventDefault(),pe())},placeholder:"Skriv din besked her..."}),n.jsx("button",{type:"button","aria-label":"Emoji",children:n.jsx(s0,{size:18,strokeWidth:1.8})}),n.jsxs("button",{type:"button",className:"msg-send-btn",onClick:()=>{pe()},children:["Send ",n.jsx(t0,{size:15,strokeWidth:1.8})]})]})})]})]})]})]})}function pm(o){return typeof o=="object"&&o!==null?o:null}function ht(o){return typeof o=="string"?o:""}function er(o){return typeof o=="number"?o:null}function tr(o){if(typeof o=="boolean")return o;if(typeof o=="string"){const c=o.toLowerCase();if(c==="completed"||c==="done"||c==="true")return!0;if(c==="incomplete"||c==="pending"||c==="false")return!1}return null}function Ry(o){if(!o)return"";const c=new Date(o);return Number.isNaN(c.getTime())?"":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(c)}function Hy(o,c){const u=pm(o);if(!u)return null;const r=ht(u.id)||ht(u.interview_id)||`interview-${c}`,h=ht(u.job_name)||ht(u.job_title)||ht(u.title)||"Interview",v=ht(u.company_name)||ht(u.companyName)||"Ukendt virksomhed",z=ht(u.interview_date)||ht(u.created_at)||ht(u.updated_at)||ht(u.date),q=tr(u.is_completed)??tr(u.completed)??tr(u.status)??!0,L=er(u.duration_minutes)??er(u.duration)??er(u.length_minutes),b=ht(u.personality_name)||ht(u.simulation_personality_name)||ht(u.personality)||"Professionel";return{id:r,title:h,companyName:v,dateLabel:Ry(z),completed:q,durationMinutes:L,personality:b}}class Vy{constructor(c=new Ns,u=new vr){this.jobsViewModel=c,this.simulationService=u}async getCandidateProfile(){return this.jobsViewModel.getCandidateProfile()}async getJobs(){try{return await this.jobsViewModel.getTabItems("jobs")}catch{return[]}}async getPersonalities(){try{const c=await this.simulationService.listSimulationPersonalities();return Array.isArray(c)?c:[]}catch{return[]}}async getInterviews(c=12){try{const u=await this.simulationService.listInterviews(c,0),r=pm(u);return(Array.isArray(r?.interviews)?r.interviews:Array.isArray(u)?u:[]).map((v,z)=>Hy(v,z)).filter(v=>!!v)}catch{return[]}}}const qy=[{id:"sim-1",title:"Senior Frontend-udvikler",companyName:"Lunar",completed:!0,durationMinutes:15,personality:"Professionel",dateLabel:"12. okt 2023"},{id:"sim-2",title:"Fullstack Developer",companyName:"Pleo",completed:!1,durationMinutes:20,personality:"Afslappet",dateLabel:"10. okt 2023"},{id:"sim-3",title:"UX Designer",companyName:"Trustpilot",completed:!0,durationMinutes:10,personality:"Sarkastisk",dateLabel:"05. okt 2023"},{id:"sim-4",title:"Product Manager",companyName:"Danske Bank",completed:!0,durationMinutes:5,personality:"Stress-test",dateLabel:"01. okt 2023"}];function By(o){return{id:o.id,title:o.title,companyName:o.companyName,completed:o.completed,durationMinutes:o.durationMinutes??15,personality:o.personality||"Professionel",dateLabel:o.dateLabel||"Nyligt"}}function Yy(o){return`${o.title||"Stilling"}${o.companyName?` · ${o.companyName}`:""}`}function Gy({onLogout:o,onNavigate:c,onOpenEvaluation:u,onToggleTheme:r,theme:h}){const v=T.useMemo(()=>new Vy,[]),[z,q]=T.useState("Lasse"),[L,b]=T.useState(void 0),[B,D]=T.useState([]),[R,K]=T.useState([]),[le,Z]=T.useState([]),[fe,te]=T.useState(!0),[se,Y]=T.useState(""),[P,ie]=T.useState(""),[G,E]=T.useState("Dansk"),[ae,he]=T.useState("15"),[pe,H]=T.useState(!1);T.useEffect(()=>{let x=!0;async function $(){te(!0);const[de,m,N,U]=await Promise.all([v.getCandidateProfile(),v.getJobs(),v.getInterviews(),v.getPersonalities()]);x&&(q(de.name),b(de.imageUrl),D(m),K(N.map(By)),Z(U.map(J=>({id:J.id,name:J.name}))),m.length>0&&Y(J=>J||m[0].id),U.length>0&&ie(J=>J||String(U[0].id)),te(!1))}return $(),()=>{x=!1}},[v]);const Q=R.length>0?R:qy,ue={id:"fallback-job",title:"Senior Frontend-udvikler",companyName:"Lunar"},ee=B.length>0?B:[ue],W=ee.find(x=>x.id===se)||ee[0],_=le.find(x=>String(x.id)===P)?.name||"Professionel & Grundig",V=[{id:"ai-1",sender:"ai",text:`Hej Lasse, og velkommen til! Vi er rigtig glade for at have dig til samtalen omkring rollen som ${W.title||"Senior Frontend-udvikler"}. Kan du fortælle om et nyligt projekt, hvor din erfaring med React gjorde en stor forskel for slutresultatet?`},{id:"me-1",sender:"me",text:"I mit seneste projekt migrerede vi en stor dashboard-løsning til Next.js. Jeg implementerede virtualisering og strammere state management med Zustand, hvilket reducerede load-tid med over 60%."},{id:"ai-2",sender:"ai",text:"Det lyder som en rigtig solid forbedring. Når du nævner Zustand frem for Redux, hvad var overvejelserne bag det valg i jeres use-case?"}];return n.jsxs("section",{className:`dash-root ${h==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"simulator",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar sim-main",children:[n.jsx(Jt,{name:z,imageUrl:L,onLogout:o,theme:h,onToggleTheme:r,actions:pe?n.jsxs("button",{type:"button",className:"sim-leave-btn",onClick:()=>H(!1),children:[n.jsx(Ih,{size:15,strokeWidth:1.8}),n.jsx("span",{children:"Forlad simulering"})]}):void 0}),pe?n.jsxs("div",{className:"sim-live-wrap",children:[n.jsxs("div",{className:"sim-live-head",children:[n.jsx("h1",{children:"Live Jobsamtale"}),n.jsx("p",{children:"Du er i øjeblikket i en simuleret teknisk samtale. Brug mikrofonen til at svare."})]}),n.jsxs("div",{className:"sim-live-grid",children:[n.jsxs("section",{className:"sim-live-chat-card",children:[n.jsxs("div",{className:"sim-live-chat-head",children:[n.jsxs("div",{className:"sim-live-ai-row",children:[n.jsx("div",{className:"sim-live-ai-avatar",children:n.jsx(ql,{size:18,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h3",{children:"Sarah (AI Interviewer)"}),n.jsxs("p",{children:[n.jsx(Zp,{size:12,strokeWidth:1.8})," Venter på dit svar..."]})]})]}),n.jsx("button",{type:"button",className:"sim-live-more-btn",children:n.jsx(Wg,{size:16,strokeWidth:1.8})})]}),n.jsx("div",{className:"sim-live-chat-scroll custom-scrollbar",children:V.map(x=>n.jsxs("div",{className:x.sender==="ai"?"sim-live-msg-row ai":"sim-live-msg-row me",children:[n.jsx("div",{className:x.sender==="ai"?"sim-live-msg-avatar ai":"sim-live-msg-avatar me",children:x.sender==="ai"?n.jsx(ql,{size:13,strokeWidth:1.8}):L?n.jsx("img",{src:L,alt:z}):n.jsx("span",{children:z.slice(0,1).toUpperCase()})}),n.jsx("div",{className:x.sender==="ai"?"sim-live-msg-bubble ai":"sim-live-msg-bubble me",children:n.jsx("p",{children:x.text})})]},x.id))}),n.jsxs("div",{className:"sim-live-voice",children:[n.jsxs("div",{className:"sim-live-time-row",children:[n.jsxs("div",{className:"sim-live-time",children:[n.jsx("small",{children:"Tid gået"}),n.jsx("strong",{children:"04:23"})]}),n.jsx("div",{className:"sim-live-wave",children:Array.from({length:7}).map((x,$)=>n.jsx("span",{style:{animationDelay:`${$*.14}s`}},`wave-${$}`))}),n.jsxs("div",{className:"sim-live-time",children:[n.jsx("small",{children:"Tilbage"}),n.jsx("strong",{children:"10:37"})]})]}),n.jsx("button",{type:"button",className:"sim-live-mic-btn",children:n.jsx(_p,{size:22,strokeWidth:1.8})}),n.jsx("p",{children:"Optager dit svar..."})]})]}),n.jsxs("aside",{className:"sim-live-side custom-scrollbar",children:[n.jsxs("article",{className:"sim-live-side-card",children:[n.jsx("h2",{children:"Session Status"}),n.jsxs("div",{className:"sim-live-side-list",children:[n.jsxs("div",{children:[n.jsx("small",{children:"Stilling"}),n.jsxs("p",{children:[W.title||"Senior Frontend-udvikler"," @ ",W.companyName||"Lunar"]})]}),n.jsxs("div",{children:[n.jsx("small",{children:"Samtaletype"}),n.jsxs("p",{children:[n.jsx(nr,{size:14,strokeWidth:1.8})," Teknisk Dybde"]})]}),n.jsxs("div",{children:[n.jsx("small",{children:"Interviewer stil"}),n.jsxs("p",{children:[n.jsx(ql,{size:14,strokeWidth:1.8})," ",_]})]}),n.jsxs("div",{children:[n.jsxs("div",{className:"sim-live-progress-head",children:[n.jsx("small",{children:"Fremgang"}),n.jsx("strong",{children:"Spørgsmål 2 af 5"})]}),n.jsx("div",{className:"sim-live-progress-track",children:n.jsx("span",{})})]})]})]}),n.jsxs("article",{className:"sim-live-coach-card",children:[n.jsxs("h2",{children:[n.jsx(hp,{size:15,strokeWidth:1.8})," Live Coach"]}),n.jsxs("div",{className:"sim-live-coach-list",children:[n.jsxs("div",{children:[n.jsx(Ke,{size:14,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Godt brug af STAR-metoden"}),n.jsx("p",{children:"Dit forrige svar beskrev situationen og resultatet meget tydeligt."})]})]}),n.jsxs("div",{children:[n.jsx(Kn,{size:14,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Næste skridt"}),n.jsx("p",{children:"Uddyb hvorfor Zustand var bedre end Redux i jeres specifikke use-case."})]})]})]})]}),n.jsx("article",{className:"sim-live-side-card",children:n.jsxs("div",{className:"sim-live-actions",children:[n.jsxs("button",{type:"button",children:[n.jsx(Ug,{size:16,strokeWidth:1.8})," Sæt på pause"]}),n.jsxs("button",{type:"button",className:"stop",children:[n.jsx(qg,{size:16,strokeWidth:1.8})," Afslut & Få Feedback"]})]})})]})]})]}):n.jsxs("div",{className:"sim-wrap",children:[n.jsxs("section",{className:"sim-hero-card",children:[n.jsx("div",{className:"sim-hero-glow"}),n.jsxs("div",{className:"sim-hero-left",children:[n.jsx("h1",{children:"Job Interview Simulator"}),n.jsx("p",{children:"Ov dig pa jobsamtaler med vores AI-drevne simulator. Du far skraeddersyede sporgsmal baseret pa den jobtype, du soger, og modtager detaljeret feedback pa dine svar."}),n.jsxs("ul",{className:"sim-benefits",children:[n.jsxs("li",{children:[n.jsx(Ke,{size:16,strokeWidth:1.8})," Personaliserede interviewsporgsmal"]}),n.jsxs("li",{children:[n.jsx(Ke,{size:16,strokeWidth:1.8})," Ojeblikkelig AI-feedback pa dine svar"]}),n.jsxs("li",{children:[n.jsx(Ke,{size:16,strokeWidth:1.8})," Detaljeret evaluering efter interviewet"]}),n.jsxs("li",{children:[n.jsx(Ke,{size:16,strokeWidth:1.8})," Gem og gennemga tidligere interviews"]})]}),n.jsxs("button",{type:"button",className:"sim-start-btn",onClick:()=>H(!0),children:[n.jsx(Lg,{size:18,strokeWidth:1.8}),"Start ny simulering"]})]}),n.jsxs("div",{className:"sim-config-card",children:[n.jsxs("div",{className:"sim-config-head",children:[n.jsx("h3",{children:"Simuleringsindstillinger"}),n.jsx("p",{children:"Vaelg dine praeferencer for start"})]}),n.jsxs("label",{children:["Gemt job",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(fr,{size:16,strokeWidth:1.8}),n.jsx("select",{value:se,onChange:x=>Y(x.target.value),children:ee.map(x=>n.jsx("option",{value:x.id,children:Yy(x)},x.id))}),n.jsx(Bn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("label",{children:["Personlighed (AI)",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(ql,{size:16,strokeWidth:1.8}),n.jsx("select",{value:P,onChange:x=>ie(x.target.value),children:(le.length>0?le:[{id:1,name:"Professionel & Grundig"}]).map(x=>n.jsx("option",{value:String(x.id),children:x.name},x.id))}),n.jsx(Bn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("div",{className:"sim-mini-grid",children:[n.jsxs("label",{children:["Sprog",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(js,{size:16,strokeWidth:1.8}),n.jsxs("select",{value:G,onChange:x=>E(x.target.value),children:[n.jsx("option",{children:"Dansk"}),n.jsx("option",{children:"Engelsk"})]}),n.jsx(Bn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("label",{children:["Varighed",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(lr,{size:16,strokeWidth:1.8}),n.jsxs("select",{value:ae,onChange:x=>he(x.target.value),children:[n.jsx("option",{value:"5",children:"5 min"}),n.jsx("option",{value:"10",children:"10 min"}),n.jsx("option",{value:"15",children:"15 min"}),n.jsx("option",{value:"20",children:"20 min"})]}),n.jsx(Bn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]})]})]})]}),n.jsxs("div",{className:"sim-history-head",children:[n.jsx("h2",{children:"Tidligere simuleringer"}),n.jsxs("button",{type:"button",children:[n.jsx(am,{size:15,strokeWidth:1.8})," Filtrer"]})]}),fe?n.jsx("p",{className:"dash-loading",children:"Indlaeser simuleringer..."}):null,n.jsx("section",{className:"sim-history-grid",children:Q.map(x=>n.jsxs("article",{className:x.completed?"sim-card done":"sim-card draft",children:[n.jsxs("div",{className:"sim-card-head",children:[n.jsxs("div",{children:[n.jsx("h3",{children:x.title}),n.jsx("p",{children:x.companyName})]}),n.jsx("span",{className:x.completed?"sim-status done":"sim-status draft",children:x.completed?"Faerdig":"Ikke faerdig"})]}),n.jsxs("div",{className:"sim-tags",children:[n.jsxs("span",{children:[n.jsx(lr,{size:13,strokeWidth:1.8})," ",x.durationMinutes," min"]}),n.jsxs("span",{children:[n.jsx(ql,{size:13,strokeWidth:1.8})," ",x.personality]})]}),n.jsxs("div",{className:"sim-card-foot",children:[n.jsx("small",{children:x.dateLabel}),x.completed?n.jsxs("button",{type:"button",className:"sim-link-btn",onClick:()=>u({interviewId:x.id,title:x.title,companyName:x.companyName,dateLabel:x.dateLabel}),children:["Se evaluering ",n.jsx(Ua,{size:14,strokeWidth:1.8})]}):n.jsxs("button",{type:"button",className:"sim-link-btn",children:["Fortsæt ",n.jsx(Vp,{size:14,strokeWidth:1.8})]})]})]},x.id))})]})]})]})}function Yl(o){return typeof o=="object"&&o!==null?o:null}function gr(o){return typeof o=="string"?o:""}function Jy(o){if(typeof o=="number"&&Number.isFinite(o))return o;if(typeof o=="string"){const c=Number(o);return Number.isFinite(c)?c:null}return null}function Zh(o){return Array.isArray(o)?o.map(c=>gr(c).trim()).filter(Boolean):[]}function $e(o,c){if(!o)return"";for(const u of c){const r=gr(o[u]).trim();if(r)return r}return""}function ps(o,c){if(!o)return null;for(const u of c){const r=Jy(o[u]);if(r!==null)return r}return null}function Qy(o){if(!o)return"";const c=new Date(o);return Number.isNaN(c.getTime())?o:new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"long",year:"numeric"}).format(c)}function Kh(o,c){return o===null?c:Math.max(0,Math.min(10,Math.round(o)))}const ym=[{id:"1",title:"Mere struktur og korthed i dine svar",behavior:"Du gav nogle svar, der blev lange og gentagende i stedet for fokuserede pa kernen.",effect:"Det kan gore det svaerere for intervieweren hurtigt at vurdere din erfaring og beslutninger.",nextStep:"Svar i 3 trin: pointe, konkret eksempel, resultat. Sigt efter 30-60 sekunder pr. svar."},{id:"2",title:"Flere konkrete eksempler pa performance i service",behavior:"Du fortalte om ansvar, men gav fa konkrete scenarier med handling og resultat.",effect:"Uden konkrete cases bliver niveau og paalidelighed svaerere at validere.",nextStep:"Forbered 2-3 STAR-historier med tydelig situation, handling og maelbart resultat."},{id:"3",title:"Gor din motivation mere maelrettet virksomheden",behavior:"Motivationen var positiv, men ikke altid koblet direkte til virksomhedens drift og behov.",effect:"Du kan fremsta generelt motiveret i stedet for specifikt relevant for rollen.",nextStep:"Naevn 2-3 konkrete grunde til, at netop deres setup matcher din erfaring."},{id:"4",title:"Konkretiser kvalitet og sikkerhed i praksis",behavior:"Du naevnte standarder og certificeringer, men beskrev fa daglige rutiner.",effect:"Det reducerer tydeligheden omkring, hvordan du arbejder sikkert i travle perioder.",nextStep:"Beskriv faste rutiner for kontrol, logning og hurtig korrektion under pres."}],bm=["Du viser relevant erfaring for rollen og kommunikerer ro under pres.","Du arbejder struktureret med kvalitet og timing i service.","Du har en moden team-tilgang med fokus pa samarbejde.","Du kobler dine svar til konkrete arbejdsrutiner og drift.","Du fremstar stabil og ansvarlig i hektiske situationer."],jm=["Forbered 3 korte STAR-historier med maelbare resultater.","Lav en 60-sekunders pitch af din profil og vaerdiskabelse.","Research virksomheden i 10-15 minutter inden samtalen.","Forbered 4-5 konkrete spoergsmaal om rolle og forventninger.","Afslut svar med resultat, sa din effekt bliver tydelig."],kt={companyName:"Ukendt virksomhed",dateLabel:"Nyligt",evaluationLabel:"Interview Feedback",interviewerEvaluationTitle:"Interviewer evaluering",interviewerEvaluationLead:"Du er godt med. Din praestation viste styrker der matcher stillingen.",interviewerEvaluationBody:"Du viste relevante kompetencer og en stabil tilgang under pres. Du kan staerke dit indtryk yderligere ved at svare mere struktureret og bruge flere konkrete resultateksempler.",interviewTitle:"Stilling",interviewerScore:8,selfScore:5,strengths:bm,recommendations:jm,suggestions:ym};function Xy(o,c){const u=Yl(o);if(!u)return null;const r=$e(u,["title","heading","name","subject"]),h=$e(u,["behavior","adfaerd","observation","issue"]),v=$e(u,["effect","impact","consequence"]),z=$e(u,["next_step","nextStep","recommendation","suggestion"]);return!r&&!h&&!v&&!z?null:{id:gr(u.id)||String(c+1),title:r||`Forbedringspunkt ${c+1}`,behavior:h||"Ingen detaljer tilgaengelige.",effect:v||"Ingen detaljer tilgaengelige.",nextStep:z||"Ingen detaljer tilgaengelige."}}function Zy(o){const c=[o?.suggestions,o?.improvements,o?.improvement_points,o?.feedback_points,Yl(o?.evaluation)?.suggestions,Yl(o?.evaluation)?.improvements];for(const u of c){if(!Array.isArray(u))continue;const r=u.map((h,v)=>Xy(h,v)).filter(h=>!!h);if(r.length>0)return r}return ym}function Wh(o,c,u){for(const h of c){const v=Zh(o?.[h]);if(v.length>0)return v}const r=Yl(o?.evaluation);for(const h of c){const v=Zh(r?.[h]);if(v.length>0)return v}return u}class Ky{constructor(c=new vr){this.simulationService=c}async getEvaluation(c,u){try{const r=await this.simulationService.getInterviewEvaluation(c),h=Yl(r),v=Yl(h?.evaluation),z=$e(h,["company_name","companyName"])||$e(v,["company_name","companyName"])||u?.companyName||kt.companyName,q=$e(h,["job_title","job_name","title"])||$e(v,["job_title","job_name","title"])||u?.title||kt.interviewTitle,L=$e(h,["interview_date","created_at","date"])||$e(v,["interview_date","created_at","date"]),b=Qy(L)||u?.dateLabel||kt.dateLabel,B=$e(h,["interviewer_evaluation_lead","lead"])||$e(v,["interviewer_evaluation_lead","lead"])||kt.interviewerEvaluationLead,D=$e(h,["interviewer_evaluation","summary","feedback"])||$e(v,["interviewer_evaluation","summary","feedback"])||kt.interviewerEvaluationBody,R=$e(h,["evaluation_title","interviewer_title"])||$e(v,["evaluation_title","interviewer_title"])||kt.interviewerEvaluationTitle,K=$e(h,["label","evaluation_label"])||$e(v,["label","evaluation_label"])||kt.evaluationLabel,le=Kh(ps(h,["candidate_score","self_score","self_rating"])??ps(v,["candidate_score","self_score","self_rating"]),kt.selfScore),Z=Kh(ps(h,["interviewer_score","score","interviewer_rating"])??ps(v,["interviewer_score","score","interviewer_rating"]),kt.interviewerScore);return{companyName:z,dateLabel:b,evaluationLabel:K,interviewerEvaluationBody:D,interviewerEvaluationLead:B,interviewerEvaluationTitle:R,interviewerScore:Z,interviewTitle:q,recommendations:Wh(h,["recommendations","constructive_recommendations","next_steps"],jm),selfScore:le,strengths:Wh(h,["strengths","highlights"],bm),suggestions:Zy(h)}}catch{return{...kt,companyName:u?.companyName||kt.companyName,interviewTitle:u?.title||kt.interviewTitle,dateLabel:u?.dateLabel||kt.dateLabel}}}async submitRating(c,u,r){await this.simulationService.submitEvaluationRating(c,u,r)}}function xm(o,c){return c-o}function Wy(o,c){const u=xm(o,c);return u>0?`Gab: +${u} point`:u<0?`Gab: ${u} point`:"Gab: 0 point"}function Fy(o,c){const u=xm(o,c);return u>0?"Du undervurderede dig selv i forhold til interviewerens vurdering.":u<0?"Du vurderede dig selv hojere end intervieweren gjorde i denne session.":"Din selvvurdering matcher interviewerens vurdering godt."}function $y(o){return o||"Nyligt"}function Iy({interviewSelection:o,onBack:c,onLogout:u,onNavigate:r,onToggleTheme:h,theme:v}){const z=T.useMemo(()=>new Ky,[]),[q]=T.useState("Lasse"),[L]=T.useState(void 0),[b,B]=T.useState(null),[D,R]=T.useState(!0),[K,le]=T.useState(0),[Z,fe]=T.useState(""),[te,se]=T.useState(!1),[Y,P]=T.useState("");T.useEffect(()=>{let ae=!0;async function he(){R(!0);const pe=await z.getEvaluation(o.interviewId,{companyName:o.companyName,dateLabel:o.dateLabel,title:o.title});ae&&(B(pe),R(!1))}return he(),()=>{ae=!1}},[o.companyName,o.dateLabel,o.interviewId,o.title,z]);async function ie(){if(!(!K||te)){se(!0),P("");try{await z.submitRating(o.interviewId,K,Z.trim()),P("Tak. Din feedback er sendt.")}catch{P("Kunne ikke sende feedback lige nu. Prov igen.")}finally{se(!1)}}}const G=b,E=G?.suggestions??[];return n.jsxs("section",{className:`dash-root ${v==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"simulator",onNavigate:r}),n.jsxs("main",{className:"dash-main custom-scrollbar sim-eval-main",children:[n.jsx(Jt,{name:q,imageUrl:L,onLogout:u,theme:v,onToggleTheme:h,actions:n.jsxs("div",{className:"sim-eval-top-actions",children:[n.jsx("button",{type:"button",className:"sim-eval-back-btn",onClick:c,children:"Tilbage"}),n.jsxs("div",{className:"sim-eval-crumb-pill",children:[n.jsx(lm,{size:14,strokeWidth:1.8}),n.jsx("span",{children:"Simulator"}),n.jsx(Ua,{size:13,strokeWidth:1.8}),n.jsx("strong",{children:"Evaluering"})]})]})}),n.jsxs("div",{className:"sim-eval-wrap",children:[n.jsxs("header",{className:"sim-eval-head",children:[n.jsxs("div",{className:"sim-eval-label",children:[n.jsx(Jg,{size:14,strokeWidth:1.8}),n.jsx("span",{children:G?.evaluationLabel??"Interview Feedback"})]}),n.jsx("h1",{children:"Evalueringsfeedback"}),n.jsxs("div",{className:"sim-eval-meta",children:[n.jsx("strong",{children:G?.companyName??o.companyName}),n.jsx("span",{}),n.jsx("p",{children:G?.interviewTitle??o.title}),n.jsx("span",{}),n.jsxs("small",{children:[n.jsx(_g,{size:14,strokeWidth:1.8})," ",$y(G?.dateLabel??o.dateLabel)]})]})]}),D?n.jsx("p",{className:"dash-loading",children:"Indlaeser evaluering..."}):null,!D&&G?n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"sim-eval-overview-card",children:[n.jsxs("div",{className:"sim-eval-overview-text",children:[n.jsxs("div",{className:"sim-eval-overview-title",children:[n.jsx(dm,{size:20,strokeWidth:1.8}),n.jsx("h2",{children:G.interviewerEvaluationTitle})]}),n.jsx("p",{className:"lead",children:G.interviewerEvaluationLead}),n.jsx("p",{children:G.interviewerEvaluationBody})]}),n.jsxs("aside",{className:"sim-eval-score-card",children:[n.jsxs("div",{className:"sim-eval-score-head",children:[n.jsx("h3",{children:"Performance vurdering"}),n.jsx(Kn,{size:16,strokeWidth:1.8})]}),n.jsxs("div",{className:"sim-eval-score-rows",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Din udfyldelse"}),n.jsxs("strong",{children:[G.selfScore,"/10"]})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Interviewers vurdering"}),n.jsxs("strong",{className:"good",children:[G.interviewerScore,"/10"]})]})]}),n.jsxs("div",{className:"sim-eval-gap-block",children:[n.jsxs("span",{children:[n.jsx(Eh,{size:13,strokeWidth:1.8})," ",Wy(G.selfScore,G.interviewerScore)]}),n.jsx("p",{children:Fy(G.selfScore,G.interviewerScore)})]})]})]}),n.jsxs("section",{className:"sim-eval-improvements",children:[n.jsxs("div",{className:"sim-eval-section-title",children:[n.jsx(Eh,{size:20,strokeWidth:1.8}),n.jsx("h2",{children:"Hvordan kan du blive bedre?"})]}),n.jsx("div",{className:"sim-eval-improvement-list",children:E.map((ae,he)=>n.jsxs("article",{className:"sim-eval-improvement-card",children:[n.jsx("div",{className:"sim-eval-improvement-index",children:he+1}),n.jsxs("div",{className:"sim-eval-improvement-content",children:[n.jsx("h3",{children:ae.title}),n.jsxs("div",{className:"sim-eval-improvement-grid",children:[n.jsxs("div",{children:[n.jsx("small",{children:"Adfaerd"}),n.jsx("p",{children:ae.behavior})]}),n.jsxs("div",{className:"impact",children:[n.jsx("small",{children:"Effekt"}),n.jsx("p",{children:ae.effect})]}),n.jsxs("div",{className:"next",children:[n.jsx("small",{children:"Naeste gang"}),n.jsx("p",{children:ae.nextStep})]})]})]})]},ae.id))})]}),n.jsxs("section",{className:"sim-eval-split-grid",children:[n.jsxs("article",{className:"sim-eval-list-card",children:[n.jsxs("div",{className:"sim-eval-card-title",children:[n.jsx(Ke,{size:20,strokeWidth:1.8}),n.jsx("h2",{children:"Dine styrker"})]}),n.jsx("ul",{children:G.strengths.map((ae,he)=>n.jsxs("li",{children:[n.jsx(Ke,{size:17,strokeWidth:1.8}),n.jsx("span",{children:ae})]},`strength-${he}`))})]}),n.jsxs("article",{className:"sim-eval-list-card recommendations",children:[n.jsxs("div",{className:"sim-eval-card-title",children:[n.jsx(ur,{size:20,strokeWidth:1.8}),n.jsx("h2",{children:"Konstruktiv anbefaling"})]}),n.jsx("p",{className:"hint",children:"Fokuser pa disse handlinger for at staerke din naeste samtale."}),n.jsx("ul",{children:G.recommendations.map((ae,he)=>n.jsxs("li",{children:[n.jsx("div",{children:n.jsx(Ep,{size:13,strokeWidth:2})}),n.jsx("span",{children:ae})]},`recommendation-${he}`))})]})]}),n.jsxs("section",{className:"sim-eval-rating-card",children:[n.jsx("p",{children:"Husk: Hvert interview er en laeringsmulighed. Bliv ved med at ove."}),n.jsxs("div",{className:"sim-eval-rating-box",children:[n.jsx("h3",{children:"Bedom denne evaluering"}),n.jsx("small",{children:"Din feedback hjaelper os med at forbedre oplevelsen."}),n.jsx("div",{className:"sim-eval-stars",children:Array.from({length:5}).map((ae,he)=>{const pe=he+1,H=pe<=K;return n.jsx("button",{type:"button","aria-label":`Vaelg ${pe} stjerner`,className:H?"selected":"",onClick:()=>le(pe),children:n.jsx(hr,{size:27,fill:H?"currentColor":"none",strokeWidth:1.8})},`star-${pe}`)})}),n.jsx("textarea",{value:Z,onChange:ae=>fe(ae.target.value),rows:3,placeholder:"Kommentar (valgfrit)"}),n.jsx("button",{type:"button",onClick:()=>{ie()},disabled:te||K===0,children:te?"Sender...":"Send feedback"}),Y?n.jsx("div",{className:"sim-eval-submit-status",children:Y}):null]})]})]}):null]})]})]})}class Py{constructor(c=new tl,u=new Ss){this.candidateService=c,this.subscriptionService=u}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate();return{name:c.firstName?.trim()||c.name?.trim()||"Lasse",imageUrl:c.imageUrl||c.image||void 0}}catch{return{name:"Lasse"}}}async getSnapshot(){const[c,u]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.subscriptionService.getSubscriptionProducts()]);return{paymentOverview:c.status==="fulfilled"?c.value:null,products:u.status==="fulfilled"?u.value:null}}async redeemCode(c){await this.subscriptionService.redeemCode(c)}}const Fh=["Download et professionelt CV - Klar til brug med et enkelt klik","Karriereagent med personlige anbefalinger","Øget synlighed – bliv fundet af virksomheder","Lad systemet lave din ansøgning for dig","Optimer dit CV med intelligente forslag","Job simulatoren – træn til din næste jobsamtale"];function Sm(o){if(!o)return null;const c=o instanceof Date?o:new Date(o);return Number.isNaN(c.getTime())?null:c}function eb(o){const c=Sm(o);return c?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"2-digit",year:"numeric"}).format(c):"Ukendt dato"}function tb(o){if(!o)return!1;const c=Sm(o.activeToDate);return c?c.getTime()>Date.now():!1}function ab(o){const c=o?.premium_30?.price??49,u=o?.premium_90?.price??99,r=o?.premium_365?.price??249;return{30:{title:"30 dage",priceText:`${c} kr.`,dailyText:"Svarer til 1.63 kr. pr. dag",description:"Månedlig adgang til alle premium-funktioner"},90:{title:"90 dage",priceText:`${u} kr.`,dailyText:"Svarer til 1.10 kr. pr. dag",savings:"Spar 33%",description:"Mest populære valg med ekstra besparelse"},365:{title:"365 dage",priceText:`${r} kr.`,dailyText:"Svarer til 0.68 kr. pr. dag",savings:"Spar 58%",description:"Inkluderer gavekode til 3 måneders premium"}}}function lb({onLogout:o,onNavigate:c,onToggleTheme:u,theme:r}){const h=T.useMemo(()=>new Py,[]),[v,z]=T.useState("Lasse"),[q,L]=T.useState(void 0),[b,B]=T.useState(null),[D,R]=T.useState(null),[K,le]=T.useState(!0),[Z,fe]=T.useState("90"),[te,se]=T.useState(!1),[Y,P]=T.useState(""),[ie,G]=T.useState(""),[E,ae]=T.useState(!1),[he,pe]=T.useState(null);T.useEffect(()=>{let W=!0;async function _(){le(!0);const[V,x]=await Promise.all([h.getCandidateProfile(),h.getSnapshot()]);W&&(z(V.name),L(V.imageUrl),B(x.paymentOverview),R(x.products),le(!1))}return _(),()=>{W=!1}},[h]);const H=T.useMemo(()=>ab(D),[D]),Q=tb(b),ue=he??Q;async function ee(){const W=Y.trim();if(!(!W||E)){G(""),ae(!0);try{await h.redeemCode(W),G("Koden blev indløst. Opdaterer abonnement...");const _=await h.getSnapshot();B(_.paymentOverview),R(_.products),P("")}catch{G("Kunne ikke indløse kode. Prøv igen.")}finally{ae(!1)}}}return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(Gt,{active:"subscription",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar sub-main",children:[n.jsx(Jt,{name:v,imageUrl:q,onLogout:o,theme:r,onToggleTheme:u,actions:n.jsxs("div",{className:"sub-top-actions",children:[n.jsxs("div",{className:"sub-crumb-pill",children:[n.jsx(ir,{size:15,strokeWidth:1.8})," Abonnement"]}),n.jsx("button",{type:"button",className:"sub-toggle-btn",onClick:()=>pe(W=>W===null?!Q:!W),children:ue?'Vis "Unsubscribed" state':'Vis "Subscribed" state'})]})}),n.jsxs("div",{className:"sub-head",children:[n.jsxs("div",{className:"sub-head-title-row",children:[n.jsx("div",{className:"sub-head-icon",children:n.jsx(ir,{size:18,strokeWidth:1.8})}),n.jsx("h1",{children:"Dit Abonnement"})]}),n.jsx("p",{children:"Administrer dit medlemskab og lås op for alle de intelligente værktøjer, der gør din jobsøgning nemmere."})]}),n.jsxs("div",{className:"sub-wrap",children:[n.jsxs("section",{className:"sub-redeem-card",children:[n.jsxs("div",{className:"sub-redeem-head",children:[n.jsx("span",{children:"🎟️"}),n.jsx("h2",{children:"Indløs kode"})]}),n.jsx("p",{children:"Har du en rabatkode eller gavekode? Indtast den her og få den aktiveret med det samme"}),n.jsxs("div",{className:"sub-redeem-row",children:[n.jsx("input",{type:"text",value:Y,onChange:W=>P(W.target.value),placeholder:"Indtast kode her..."}),n.jsx("button",{type:"button",onClick:()=>{ee()},disabled:E,children:E?"Indløser...":"Indløs"})]}),ie?n.jsx("small",{children:ie}):null]}),K?n.jsx("p",{className:"dash-loading",children:"Indlaeser abonnement..."}):null,!K&&!ue?n.jsxs(n.Fragment,{children:[n.jsx("section",{className:"sub-plan-grid",children:["30","90","365"].map(W=>{const _=H[W],V=Z===W,x=W==="90",$=W==="365";return n.jsxs("label",{className:["sub-plan-card",V?"selected":"",x?"popular":"",$?"yearly":""].join(" ").trim(),children:[x?n.jsx("div",{className:"sub-popular-badge",children:"Mest populær"}):null,n.jsx("input",{type:"radio",name:"pricing-plan",checked:V,onChange:()=>fe(W)}),n.jsx("div",{className:"sub-radio-indicator",children:n.jsx("i",{})}),n.jsxs("div",{className:"sub-plan-content",children:[n.jsxs("div",{className:"sub-plan-title-row",children:[n.jsx("h3",{children:_.title}),_.savings?n.jsx("span",{children:_.savings}):null]}),n.jsx("div",{className:"sub-price",children:_.priceText}),n.jsx("p",{className:"sub-price-daily",children:_.dailyText}),$?n.jsxs("div",{className:"sub-gift-box",children:[n.jsx(ap,{size:17,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Giv en gave"}),n.jsx("small",{children:"Få en gratis 3-måneders Premium-kode med i købet til en ven."})]})]}):null,n.jsx("div",{className:"sub-divider"}),n.jsx("ul",{children:Fh.map(de=>n.jsxs("li",{children:[n.jsx(Ke,{size:15,strokeWidth:1.8}),n.jsx("span",{children:de})]},`${W}-${de}`))})]})]},W)})}),n.jsxs("section",{className:"sub-checkout-card",children:[n.jsxs("div",{children:[n.jsx("h3",{children:"Klar til at opgradere?"}),n.jsx("p",{children:"Vælg en plan ovenfor og få adgang til alle Premium-funktioner med det samme."})]}),n.jsxs("div",{className:"sub-checkout-actions",children:[n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:te,onChange:W=>se(W.target.checked)}),n.jsx("span",{className:"sub-checkbox",children:n.jsx(Mg,{size:13,strokeWidth:2.2})}),n.jsx("span",{children:"Jeg accepterer handelsbetingelser"})]}),n.jsx("button",{type:"button",disabled:!te,children:"Gå til betaling"})]})]})]}):null,!K&&ue?n.jsxs("div",{className:"sub-active-wrap",children:[n.jsxs("section",{className:"sub-gift-alert",children:[n.jsx("div",{className:"sub-gift-glow"}),n.jsx("div",{className:"sub-gift-icon",children:"🎁"}),n.jsxs("div",{children:[n.jsx("h2",{children:"Din gave venter!"}),n.jsx("p",{children:"Klik på gaven nedenfor for at se indholdet"})]}),n.jsx("button",{type:"button",children:"Åbn gave"})]}),n.jsxs("section",{className:"sub-active-card",children:[n.jsxs("div",{className:"sub-active-head",children:[n.jsx("span",{children:"👑"}),n.jsx("h2",{children:"Premium abonnement"})]}),n.jsxs("div",{className:"sub-active-grid",children:[n.jsx("div",{className:"sub-active-features",children:n.jsx("ul",{children:Fh.map(W=>n.jsxs("li",{children:[n.jsx(Ke,{size:16,strokeWidth:1.8}),n.jsx("span",{children:W})]},`active-${W}`))})}),n.jsxs("div",{className:"sub-active-status-col",children:[n.jsxs("div",{className:"sub-active-status-box",children:[n.jsx("div",{className:"sub-active-check",children:n.jsx(Ke,{size:34,strokeWidth:1.8})}),n.jsx("h3",{children:"Dit abonnement er aktivt"}),n.jsxs("strong",{children:[H[Z].priceText," for ",H[Z].title]}),n.jsx("p",{children:H[Z].dailyText}),n.jsxs("div",{className:"sub-renew-pill",children:[n.jsx(Ng,{size:16,strokeWidth:1.8}),"Fornyes d. ",eb(b?.renewDate)]})]}),n.jsx("button",{type:"button",className:"sub-manage-link",children:"Administrer betalingsoplysninger"})]})]})]})]}):null]})]})]})}function nb(){const o=T.useMemo(()=>!!window.localStorage.getItem("token"),[]),c=T.useMemo(()=>window.localStorage.getItem("theme")==="dark"?"dark":"light",[]),[u,r]=T.useState(o),[h,v]=T.useState(c),[z,q]=T.useState("dashboard"),[L,b]=T.useState(null),[B,D]=T.useState(null);function R(Y){(Y==="dashboard"||Y==="jobs"||Y==="cv"||Y==="messages"||Y==="agents"||Y==="ai-agent"||Y==="simulator"||Y==="subscription")&&q(Y)}function K(Y,P,ie="jobs"){b({id:Y,fromJobnet:P,returnPage:ie}),q("job-detail")}function le(){q(L?.returnPage??"jobs")}function Z(Y){D(Y),q("simulator-evaluation")}function fe(){q("simulator")}async function te(){await Gl.clearCredentials(),q("dashboard"),b(null),D(null),r(!1)}function se(){v(Y=>{const P=Y==="light"?"dark":"light";return window.localStorage.setItem("theme",P),P})}return u?z==="jobs"?n.jsx(Cy,{onLogout:te,onNavigate:R,onOpenJobDetail:K,theme:h,onToggleTheme:se}):z==="cv"?n.jsx(fy,{onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):z==="messages"?n.jsx(Ly,{onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):z==="agents"?n.jsx(B0,{onLogout:te,onNavigate:R,onOpenJobDetail:K,theme:h,onToggleTheme:se}):z==="ai-agent"?n.jsx(X0,{onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):z==="simulator"?n.jsx(Gy,{onLogout:te,onNavigate:R,onOpenEvaluation:Z,theme:h,onToggleTheme:se}):z==="simulator-evaluation"&&B?n.jsx(Iy,{interviewSelection:B,onBack:fe,onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):z==="subscription"?n.jsx(lb,{onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):z==="job-detail"&&L?n.jsx(Ty,{jobId:L.id,fromJobnet:L.fromJobnet,onBack:le,onLogout:te,onNavigate:R,theme:h,onToggleTheme:se}):n.jsx(Sy,{onLogout:te,onNavigate:R,onOpenJobDetail:K,theme:h,onToggleTheme:se}):n.jsx(D0,{onAuthenticated:()=>r(!0)})}tg.createRoot(document.getElementById("root")).render(n.jsx(T.StrictMode,{children:n.jsx(nb,{})})); diff --git a/dist/homepage.html b/dist/homepage.html new file mode 100644 index 0000000..f09ec2e --- /dev/null +++ b/dist/homepage.html @@ -0,0 +1,174 @@ + + + + + Arbejd - Danmarks Nye Jobportal + + + + + + +
+
+
+ + + +
+
+
+ +
+ + Fremtidens rekruttering +
+ +

+ Arbejd, Danmarks Nye Jobportal +

+ +

+ Opdag drømmejobbet med kraften fra AI. Vi matcher dine færdigheder med de perfekte muligheder og hjælper dig hele vejen til samtalen. +

+ + +
+ +
+
+

Stoles på af innovative virksomheder

+
+ + + + + + +
+
+
+ +
+
+

Succeshistorier

+

Se hvordan andre har brugt Arbejd til at lande drømmejobbet.

+
+
+ +
+
+

Mød holdet bag

+

Passionerede mennesker der brænder for at revolutionere måden, vi finder arbejde på.

+
+
+ +
+
+

Gennemsigtige priser

+

Vælg den plan, der passer bedst til din karriererejse.

+
+
+ +
+
+
+
+ +

+ Klar til at tage styringen over din karriere? +

+

+ Din næste store chance venter. +

+ +
+
+
+ +
+ + + + diff --git a/dist/index.html b/dist/index.html index 073581e..1a9bc29 100644 --- a/dist/index.html +++ b/dist/index.html @@ -5,8 +5,10 @@ arbejd-react - - + + + +
diff --git a/index.html b/index.html index 4d4433d..140d752 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,8 @@ arbejd-react + +
diff --git a/node_modules/.tmp/tsconfig.app.tsbuildinfo b/node_modules/.tmp/tsconfig.app.tsbuildinfo index a6b93ba..e7d03fa 100644 --- a/node_modules/.tmp/tsconfig.app.tsbuildinfo +++ b/node_modules/.tmp/tsconfig.app.tsbuildinfo @@ -1 +1 @@ -{"root":["../../src/app.tsx","../../src/main.tsx","../../src/environments/environment.ts","../../src/mvvm/index.ts","../../src/mvvm/core/async-state.ts","../../src/mvvm/core/http-client.ts","../../src/mvvm/core/index.ts","../../src/mvvm/models/paymentintentresponse.ts","../../src/mvvm/models/ai-generated-cv-description.interface.ts","../../src/mvvm/models/all-language.interface.ts","../../src/mvvm/models/application-examination.interface.ts","../../src/mvvm/models/applied-job.interface.ts","../../src/mvvm/models/auth.interface.ts","../../src/mvvm/models/candidate-application.interface.ts","../../src/mvvm/models/candidate-retention-response.interface.ts","../../src/mvvm/models/candidate-subscription-gift.interface.ts","../../src/mvvm/models/candidate.interface.ts","../../src/mvvm/models/chat-message-thread.interface.ts","../../src/mvvm/models/chat-message.interface.ts","../../src/mvvm/models/cv-language.interface.ts","../../src/mvvm/models/cv-suggestion.interface.ts","../../src/mvvm/models/cv-upload-data.interface.ts","../../src/mvvm/models/driver-license-group.interface.ts","../../src/mvvm/models/driver-license-type.interface.ts","../../src/mvvm/models/education-search.interface.ts","../../src/mvvm/models/error-response.interface.ts","../../src/mvvm/models/esco.interface.ts","../../src/mvvm/models/filter-job-search.interface.ts","../../src/mvvm/models/generated-job-application.ts","../../src/mvvm/models/index.ts","../../src/mvvm/models/job-agent-filter.interface.ts","../../src/mvvm/models/job-application.interface.ts","../../src/mvvm/models/job-detail.interface.ts","../../src/mvvm/models/job-posting-overview.interface.ts","../../src/mvvm/models/job-search-container.ts","../../src/mvvm/models/job-search-filter.interface.ts","../../src/mvvm/models/job.interface.ts","../../src/mvvm/models/jobnet-job-detail.interface.ts","../../src/mvvm/models/level.interface.ts","../../src/mvvm/models/login.interface.ts","../../src/mvvm/models/notification-setting.interface.ts","../../src/mvvm/models/notification.interface.ts","../../src/mvvm/models/occupation-categorization.interface.ts","../../src/mvvm/models/occupation.interface.ts","../../src/mvvm/models/payment-overview.interface.ts","../../src/mvvm/models/predefined-user-input.interface.ts","../../src/mvvm/models/qualification-search.interface.ts","../../src/mvvm/models/saved-job.interface.ts","../../src/mvvm/models/school.interface.ts","../../src/mvvm/models/search-job.interface.ts","../../src/mvvm/models/searched-certification.interface.ts","../../src/mvvm/models/select-language.interface.ts","../../src/mvvm/models/simulation-personality.interface.ts","../../src/mvvm/models/subscription-product.interface.ts","../../src/mvvm/models/translation.interface.ts","../../src/mvvm/models/zip-v2.interface.ts","../../src/mvvm/models/zip.interface.ts","../../src/mvvm/models/post/save-candidate.interface.ts","../../src/mvvm/models/post/save-education.interface.ts","../../src/mvvm/models/post/upload-cv.interface.ts","../../src/mvvm/services/ai-handler.service.ts","../../src/mvvm/services/audio.service.ts","../../src/mvvm/services/auth.service.ts","../../src/mvvm/services/candidate-education.service.ts","../../src/mvvm/services/candidate-experience.service.ts","../../src/mvvm/services/candidate-search-filter.service.ts","../../src/mvvm/services/candidate-subscription-gift.service.ts","../../src/mvvm/services/candidate.service.ts","../../src/mvvm/services/certification.service.ts","../../src/mvvm/services/chat-messages.service.ts","../../src/mvvm/services/cv-upload.service.ts","../../src/mvvm/services/cv.service.ts","../../src/mvvm/services/driver-license.service.ts","../../src/mvvm/services/education.service.ts","../../src/mvvm/services/esco.service.ts","../../src/mvvm/services/firemessagingservice.service.ts","../../src/mvvm/services/google-tag-manager.service.ts","../../src/mvvm/services/index.ts","../../src/mvvm/services/institution.service.ts","../../src/mvvm/services/ios-mat-select-fix.service.ts","../../src/mvvm/services/job-agent.service.ts","../../src/mvvm/services/job.service.ts","../../src/mvvm/services/language.service.ts","../../src/mvvm/services/level.service.ts","../../src/mvvm/services/local-storage.service.ts","../../src/mvvm/services/message.service.ts","../../src/mvvm/services/notification.service.ts","../../src/mvvm/services/occupation.service.ts","../../src/mvvm/services/payment.service.ts","../../src/mvvm/services/permissions.service.ts","../../src/mvvm/services/places.service.ts","../../src/mvvm/services/qualification.service.ts","../../src/mvvm/services/simulation.service.ts","../../src/mvvm/services/sse.service.ts","../../src/mvvm/services/subscription.service.ts","../../src/mvvm/services/toaster.service.ts","../../src/mvvm/services/zip.service.ts","../../src/mvvm/viewmodels/aiagentviewmodel.ts","../../src/mvvm/viewmodels/aijobagentviewmodel.ts","../../src/mvvm/viewmodels/authviewmodel.ts","../../src/mvvm/viewmodels/cvpageviewmodel.ts","../../src/mvvm/viewmodels/dashboardviewmodel.ts","../../src/mvvm/viewmodels/jobdetailviewmodel.ts","../../src/mvvm/viewmodels/jobspageviewmodel.ts","../../src/mvvm/viewmodels/messagesviewmodel.ts","../../src/mvvm/viewmodels/simulatorevaluationviewmodel.ts","../../src/mvvm/viewmodels/simulatorviewmodel.ts","../../src/mvvm/viewmodels/subscriptionpageviewmodel.ts","../../src/mvvm/viewmodels/index.ts","../../src/presentation/ai-agent/pages/aiagentpage.tsx","../../src/presentation/ai-agent/pages/careeragentpage.tsx","../../src/presentation/auth/types.ts","../../src/presentation/auth/components/authinput.tsx","../../src/presentation/auth/components/forgotpasswordview.tsx","../../src/presentation/auth/components/loginview.tsx","../../src/presentation/auth/components/registerview.tsx","../../src/presentation/auth/hooks/useauthpage.ts","../../src/presentation/auth/pages/authpage.tsx","../../src/presentation/cv/pages/cvpage.tsx","../../src/presentation/dashboard/components/dashboardsidebar.tsx","../../src/presentation/dashboard/components/dashboardtopbar.tsx","../../src/presentation/dashboard/pages/dashboardpage.tsx","../../src/presentation/jobs/pages/jobdetailpage.tsx","../../src/presentation/jobs/pages/jobspage.tsx","../../src/presentation/messages/pages/messagespage.tsx","../../src/presentation/simulator/pages/simulatorevaluationpage.tsx","../../src/presentation/simulator/pages/simulatorpage.tsx","../../src/presentation/subscription/pages/subscriptionpage.tsx"],"version":"5.9.3"} \ No newline at end of file +{"root":["../../src/app.tsx","../../src/iconify-icon.d.ts","../../src/main.tsx","../../src/environments/environment.ts","../../src/mvvm/index.ts","../../src/mvvm/core/async-state.ts","../../src/mvvm/core/http-client.ts","../../src/mvvm/core/index.ts","../../src/mvvm/models/paymentintentresponse.ts","../../src/mvvm/models/ai-generated-cv-description.interface.ts","../../src/mvvm/models/all-language.interface.ts","../../src/mvvm/models/application-examination.interface.ts","../../src/mvvm/models/applied-job.interface.ts","../../src/mvvm/models/auth.interface.ts","../../src/mvvm/models/candidate-application.interface.ts","../../src/mvvm/models/candidate-retention-response.interface.ts","../../src/mvvm/models/candidate-subscription-gift.interface.ts","../../src/mvvm/models/candidate.interface.ts","../../src/mvvm/models/chat-message-thread.interface.ts","../../src/mvvm/models/chat-message.interface.ts","../../src/mvvm/models/cv-language.interface.ts","../../src/mvvm/models/cv-suggestion.interface.ts","../../src/mvvm/models/cv-upload-data.interface.ts","../../src/mvvm/models/driver-license-group.interface.ts","../../src/mvvm/models/driver-license-type.interface.ts","../../src/mvvm/models/education-search.interface.ts","../../src/mvvm/models/error-response.interface.ts","../../src/mvvm/models/esco.interface.ts","../../src/mvvm/models/filter-job-search.interface.ts","../../src/mvvm/models/generated-job-application.ts","../../src/mvvm/models/index.ts","../../src/mvvm/models/job-agent-filter.interface.ts","../../src/mvvm/models/job-application.interface.ts","../../src/mvvm/models/job-detail.interface.ts","../../src/mvvm/models/job-posting-overview.interface.ts","../../src/mvvm/models/job-search-container.ts","../../src/mvvm/models/job-search-filter.interface.ts","../../src/mvvm/models/job.interface.ts","../../src/mvvm/models/jobnet-job-detail.interface.ts","../../src/mvvm/models/level.interface.ts","../../src/mvvm/models/login.interface.ts","../../src/mvvm/models/notification-setting.interface.ts","../../src/mvvm/models/notification.interface.ts","../../src/mvvm/models/occupation-categorization.interface.ts","../../src/mvvm/models/occupation.interface.ts","../../src/mvvm/models/payment-overview.interface.ts","../../src/mvvm/models/predefined-user-input.interface.ts","../../src/mvvm/models/qualification-search.interface.ts","../../src/mvvm/models/saved-job.interface.ts","../../src/mvvm/models/school.interface.ts","../../src/mvvm/models/search-job.interface.ts","../../src/mvvm/models/searched-certification.interface.ts","../../src/mvvm/models/select-language.interface.ts","../../src/mvvm/models/simulation-personality.interface.ts","../../src/mvvm/models/subscription-product.interface.ts","../../src/mvvm/models/translation.interface.ts","../../src/mvvm/models/zip-v2.interface.ts","../../src/mvvm/models/zip.interface.ts","../../src/mvvm/models/post/save-candidate.interface.ts","../../src/mvvm/models/post/save-education.interface.ts","../../src/mvvm/models/post/upload-cv.interface.ts","../../src/mvvm/services/ai-handler.service.ts","../../src/mvvm/services/audio.service.ts","../../src/mvvm/services/auth.service.ts","../../src/mvvm/services/candidate-education.service.ts","../../src/mvvm/services/candidate-experience.service.ts","../../src/mvvm/services/candidate-search-filter.service.ts","../../src/mvvm/services/candidate-subscription-gift.service.ts","../../src/mvvm/services/candidate.service.ts","../../src/mvvm/services/certification.service.ts","../../src/mvvm/services/chat-messages.service.ts","../../src/mvvm/services/cv-upload.service.ts","../../src/mvvm/services/cv.service.ts","../../src/mvvm/services/driver-license.service.ts","../../src/mvvm/services/education.service.ts","../../src/mvvm/services/esco.service.ts","../../src/mvvm/services/firemessagingservice.service.ts","../../src/mvvm/services/google-tag-manager.service.ts","../../src/mvvm/services/index.ts","../../src/mvvm/services/institution.service.ts","../../src/mvvm/services/ios-mat-select-fix.service.ts","../../src/mvvm/services/job-agent.service.ts","../../src/mvvm/services/job.service.ts","../../src/mvvm/services/language.service.ts","../../src/mvvm/services/level.service.ts","../../src/mvvm/services/local-storage.service.ts","../../src/mvvm/services/message.service.ts","../../src/mvvm/services/notification.service.ts","../../src/mvvm/services/occupation.service.ts","../../src/mvvm/services/payment.service.ts","../../src/mvvm/services/permissions.service.ts","../../src/mvvm/services/places.service.ts","../../src/mvvm/services/qualification.service.ts","../../src/mvvm/services/simulation.service.ts","../../src/mvvm/services/sse.service.ts","../../src/mvvm/services/subscription.service.ts","../../src/mvvm/services/toaster.service.ts","../../src/mvvm/services/zip.service.ts","../../src/mvvm/viewmodels/aiagentviewmodel.ts","../../src/mvvm/viewmodels/aijobagentviewmodel.ts","../../src/mvvm/viewmodels/authviewmodel.ts","../../src/mvvm/viewmodels/cvpageviewmodel.ts","../../src/mvvm/viewmodels/dashboardviewmodel.ts","../../src/mvvm/viewmodels/jobdetailviewmodel.ts","../../src/mvvm/viewmodels/jobspageviewmodel.ts","../../src/mvvm/viewmodels/messagesviewmodel.ts","../../src/mvvm/viewmodels/simulatorevaluationviewmodel.ts","../../src/mvvm/viewmodels/simulatorviewmodel.ts","../../src/mvvm/viewmodels/subscriptionpageviewmodel.ts","../../src/mvvm/viewmodels/index.ts","../../src/presentation/ai-agent/pages/aiagentpage.tsx","../../src/presentation/ai-agent/pages/careeragentpage.tsx","../../src/presentation/auth/types.ts","../../src/presentation/auth/components/authinput.tsx","../../src/presentation/auth/components/forgotpasswordview.tsx","../../src/presentation/auth/components/loginview.tsx","../../src/presentation/auth/components/registerview.tsx","../../src/presentation/auth/hooks/useauthpage.ts","../../src/presentation/auth/pages/authpage.tsx","../../src/presentation/cv/pages/cvpage.tsx","../../src/presentation/dashboard/components/dashboardsidebar.tsx","../../src/presentation/dashboard/components/dashboardtopbar.tsx","../../src/presentation/dashboard/pages/dashboardpage.tsx","../../src/presentation/home/pages/homepage.tsx","../../src/presentation/jobs/pages/jobdetailpage.tsx","../../src/presentation/jobs/pages/jobspage.tsx","../../src/presentation/messages/pages/messagespage.tsx","../../src/presentation/simulator/pages/simulatorevaluationpage.tsx","../../src/presentation/simulator/pages/simulatorpage.tsx","../../src/presentation/subscription/pages/subscriptionpage.tsx"],"version":"5.9.3"} \ No newline at end of file diff --git a/public/homepage.html b/public/homepage.html new file mode 100644 index 0000000..f09ec2e --- /dev/null +++ b/public/homepage.html @@ -0,0 +1,174 @@ + + + + + Arbejd - Danmarks Nye Jobportal + + + + + + +
+
+
+ + + +
+
+
+ +
+ + Fremtidens rekruttering +
+ +

+ Arbejd, Danmarks Nye Jobportal +

+ +

+ Opdag drømmejobbet med kraften fra AI. Vi matcher dine færdigheder med de perfekte muligheder og hjælper dig hele vejen til samtalen. +

+ + +
+ +
+
+

Stoles på af innovative virksomheder

+
+ + + + + + +
+
+
+ +
+
+

Succeshistorier

+

Se hvordan andre har brugt Arbejd til at lande drømmejobbet.

+
+
+ +
+
+

Mød holdet bag

+

Passionerede mennesker der brænder for at revolutionere måden, vi finder arbejde på.

+
+
+ +
+
+

Gennemsigtige priser

+

Vælg den plan, der passer bedst til din karriererejse.

+
+
+ +
+
+
+
+ +

+ Klar til at tage styringen over din karriere? +

+

+ Din næste store chance venter. +

+ +
+
+
+ +
+ + + + diff --git a/src/App.tsx b/src/App.tsx index ad2752b..5a4e96c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,6 +6,7 @@ import { CareerAgentPage } from './presentation/ai-agent/pages/CareerAgentPage'; import { CvPage } from './presentation/cv/pages/CvPage'; import type { DashboardNavKey } from './presentation/dashboard/components/DashboardSidebar'; import { DashboardPage } from './presentation/dashboard/pages/DashboardPage'; +import { HomePage } from './presentation/home/pages/HomePage'; import { JobDetailPage } from './presentation/jobs/pages/JobDetailPage'; import { JobsPage } from './presentation/jobs/pages/JobsPage'; import { MessagesPage } from './presentation/messages/pages/MessagesPage'; @@ -25,6 +26,7 @@ interface JobDetailSelection { } function App() { + const isHomeRoute = useMemo(() => window.location.pathname === '/home', []); const initialAuthenticated = useMemo(() => Boolean(window.localStorage.getItem('token')), []); const initialTheme = useMemo<'light' | 'dark'>(() => { const stored = window.localStorage.getItem('theme'); @@ -85,6 +87,10 @@ function App() { }); } + if (isHomeRoute) { + return ; + } + if (!isAuthenticated) { return setIsAuthenticated(true)} />; } diff --git a/src/iconify-icon.d.ts b/src/iconify-icon.d.ts new file mode 100644 index 0000000..6931dee --- /dev/null +++ b/src/iconify-icon.d.ts @@ -0,0 +1,13 @@ +import type { DetailedHTMLProps, HTMLAttributes } from 'react'; + +declare module 'react' { + namespace JSX { + interface IntrinsicElements { + 'iconify-icon': DetailedHTMLProps, HTMLElement> & { + icon?: string; + }; + } + } +} + +export {}; diff --git a/src/presentation/dashboard/components/DashboardTopbar.tsx b/src/presentation/dashboard/components/DashboardTopbar.tsx index c6536da..d09a57f 100644 --- a/src/presentation/dashboard/components/DashboardTopbar.tsx +++ b/src/presentation/dashboard/components/DashboardTopbar.tsx @@ -13,6 +13,7 @@ interface DashboardTopbarProps { export function DashboardTopbar({ actions, imageUrl, name, onLogout, onToggleTheme, theme = 'light' }: DashboardTopbarProps) { return (
+ HomePage {onToggleTheme ? ( + + + + +
+
+
+ +
+ + Fremtidens rekruttering +
+ +

+ Arbejd, Danmarks +
+ Nye Jobportal +

+ +

+ Opdag drømmejobbet med kraften fra AI. Vi matcher dine færdigheder med de perfekte muligheder og hjælper dig hele vejen til samtalen. +

+ + +
+ +
+
+

Stoles på af innovative virksomheder

+
+ + + + + + +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+

+ En intelligent genvej +
+ til dit næste job +

+

+ Arbejd.com kombinerer det nyeste inden for kunstig intelligens med et intuitivt design, der gør din jobsøgning hurtigere, skarpere og mere succesfuld. +

+ +
+
+
+ +
+
+

AI-understøttet CV-optimering

+

Få skræddersyet dit CV til præcis den stilling du søger, så du altid står skarpest muligt.

+
+
+ +
+
+ +
+
+

AI Ansøgninger

+

Generer målrettede og personlige ansøgninger, der fanger arbejdsgiverens opmærksomhed.

+
+
+ +
+
+ +
+
+

AI-interview Simulator

+

Øv dig til samtalen med vores AI. Få øjeblikkelig feedback og personlige anbefalinger.

+
+
+ +
+
+ +
+
+

AI-agenter søger for dig

+

Lad vores intelligente agenter overvåge markedet og finde det perfekte match til din profil.

+
+
+
+
+
+
+ +
+
+

Succeshistorier

+

Se hvordan andre har brugt Arbejd til at lande drømmejobbet og starte næste kapitel i deres career.

+
+ +
+
+
+ Team +
+ +
+
+
+

"Simulatoren var en gamechanger. Jeg var super nervøs for min samtale, men feedbacken gav mig roen til at performe 100%."

+
+ Sofie +
+

Sofie Jensen

+

Landed job som Marketing Manager

+
+
+
+
+ +
+
+ Meeting +
+ +
+
+
+

"AI-ansøgningerne sparede mig timevis af arbejde. Det ramte den professionelle tone perfekt fra første forsøg."

+
+ Mikkel +
+

Mikkel Larsen

+

Landed job som Frontend Udvikler

+
+
+
+
+ +
+
+ Success +
+ +
+
+
+

"Agenten fandt et job jeg aldrig selv ville have søgt på. Det viste sig at være det helt rigtige match for mig."

+
+ Amalie +
+

Amalie Nielsen

+

Landed job som Projektleder

+
+
+
+
+
+
+ +
+
+

Mød holdet bag

+

Passionerede mennesker der brænder for at revolutionere måden, vi finder arbejde på.

+
+ +
+
+
+ Lasse Nielsen +
+

Lasse Nielsen

+

CEO & Founder

+ +
+ +
+
+ Emma +
+

Emma Schmidt

+

Head of AI

+ +
+ +
+
+ Christian +
+

Christian Berg

+

Lead Designer

+ +
+
+
+ +
+
+

Gennemsigtige priser

+

Vælg den plan, der passer bedst til din karriererejse. Start din rejse i dag.

+
+ +
+
+

30 dage

+

Perfekt til at komme hurtigt i gang.

+
+ 49 kr +
+ +
    +
  • Download et professionelt CV - Klar til brug med et enkelt klik
  • +
  • Karriereagent med personlige anbefalinger
  • +
  • Øget synlighed – bliv fundet af virksomheder
  • +
  • Lad systemet lave din ansøgning for dig
  • +
  • Optimer dit CV med intelligente forslag
  • +
  • Job simulatoren – træn til din næste jobsamtale
  • +
+ +
+ +
+
+
+ +
+

90 dage

+ Mest populær +
+

Ideelt til den dedikerede jobsøgende.

+
+ 129 kr +
+ +
    +
  • Download et professionelt CV - Klar til brug med et enkelt klik
  • +
  • Karriereagent med personlige anbefalinger
  • +
  • Øget synlighed – bliv fundet af virksomheder
  • +
  • Lad systemet lave din ansøgning for dig
  • +
  • Optimer dit CV med intelligente forslag
  • +
  • Job simulatoren – træn til din næste jobsamtale
  • +
+ +
+ +
+

365 dage

+

Det bedste langsigtede valg til din karriere.

+
+ 249 kr + Svarer til 0.68 kr. pr. dag +
+ +
+
+ +
+

+ + Giv en gave +

+

Få en gratis 3-måneders Premium-kode med i købet til en ven.

+
+ +
    +
  • Download et professionelt CV - Klar til brug med et enkelt klik
  • +
  • Karriereagent med personlige anbefalinger
  • +
  • Øget synlighed – bliv fundet af virksomheder
  • +
  • Lad systemet lave din ansøgning for dig
  • +
  • Optimer dit CV med intelligente forslag
  • +
  • Job simulatoren – træn til din næste jobsamtale
  • +
+ +
+
+
+ +
+
+
+
+ +
+ +

+ Klar til at tage styringen +
+ over din karriere? +

+

+ Lad ikke de bedste muligheder gå til andre. Tilslut dig tusindvis af ambitiøse jobsøgere, der allerede bruger fremtidens værktøjer på Arbejd.com. Din næste store chance venter. +

+ +
+
+
+
+ + + + ); +} diff --git a/src/presentation/home/pages/homepage.css b/src/presentation/home/pages/homepage.css new file mode 100644 index 0000000..f3940b2 --- /dev/null +++ b/src/presentation/home/pages/homepage.css @@ -0,0 +1,108 @@ +.homepage-react-root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; +} + +.custom-scrollbar::-webkit-scrollbar { width: 6px; } +.custom-scrollbar::-webkit-scrollbar-track { background: transparent; } +.custom-scrollbar::-webkit-scrollbar-thumb { background-color: rgba(20, 184, 166, 0.2); border-radius: 20px; } +.custom-scrollbar::-webkit-scrollbar-thumb:hover { background-color: rgba(20, 184, 166, 0.4); } + +@keyframes float-slow { + 0%, 100% { transform: translateY(0) scale(1); } + 50% { transform: translateY(-15px) scale(1.02); } +} + +@keyframes float-medium { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-10px); } +} + +@keyframes float-fast { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-5px); } +} + +.animate-float-slow { animation: float-slow 8s ease-in-out infinite; } +.animate-float-medium { animation: float-medium 6s ease-in-out infinite; } +.animate-float-fast { animation: float-fast 4s ease-in-out infinite; } + +.text-gradient { + background: linear-gradient(135deg, #0f172a 0%, #0d9488 50%, #4338ca 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.text-gradient-subtle { + background: linear-gradient(135deg, #1f2937 0%, #4b5563 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.homepage-nav { + position: fixed; +} + +.homepage-nav-hamburger { + display: none; + width: 42px; + height: 42px; + border-radius: 999px; + border: 1px solid rgba(255, 255, 255, 0.75); + background: rgba(255, 255, 255, 0.6); + align-items: center; + justify-content: center; + backdrop-filter: blur(14px); + -webkit-backdrop-filter: blur(14px); +} + +.homepage-nav-popup { + position: absolute; + top: calc(100% + 10px); + right: 0; + width: min(320px, calc(100vw - 2rem)); + border-radius: 1.25rem; + border: 1px solid rgba(255, 255, 255, 0.75); + background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.66)); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); + box-shadow: 0 20px 45px rgba(0, 0, 0, 0.1); + padding: 0.75rem; + display: none; + flex-direction: column; + gap: 0.35rem; +} + +.homepage-nav-popup a { + text-decoration: none; + color: #374151; + font-size: 1rem; + border-radius: 0.85rem; + padding: 0.7rem 0.9rem; + transition: background-color 0.2s ease, color 0.2s ease; +} + +.homepage-nav-popup a:hover { + background: rgba(15, 23, 42, 0.06); + color: #111827; +} + +.homepage-nav-popup-cta { + color: #ffffff !important; + background: linear-gradient(to right, #111827, #1f2937); + border: 1px solid rgba(55, 65, 81, 0.8); +} + +.homepage-nav-popup.open { + display: flex; +} + +@media (max-width: 990px) { + .homepage-nav-links, + .homepage-nav-actions { + display: none; + } + + .homepage-nav-hamburger { + display: inline-flex; + } +} diff --git a/src/presentation/messages/pages/MessagesPage.tsx b/src/presentation/messages/pages/MessagesPage.tsx index 4ecf28f..4828362 100644 --- a/src/presentation/messages/pages/MessagesPage.tsx +++ b/src/presentation/messages/pages/MessagesPage.tsx @@ -1,5 +1,6 @@ import { useEffect, useMemo, useState } from 'react'; import { + ArrowLeft, CheckCheck, Info, Paperclip, @@ -169,6 +170,8 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes const [filter, setFilter] = useState('all'); const [activeThreadId, setActiveThreadId] = useState(''); const [draft, setDraft] = useState(''); + const [isMobileLayout, setIsMobileLayout] = useState(() => (typeof window !== 'undefined' ? window.innerWidth <= 1000 : false)); + const [mobileView, setMobileView] = useState<'threads' | 'chat'>('threads'); useEffect(() => { let active = true; @@ -209,6 +212,22 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes }; }, [viewModel]); + useEffect(() => { + function updateLayout() { + const mobile = window.innerWidth <= 1000; + setIsMobileLayout(mobile); + if (!mobile) { + setMobileView('chat'); + } else if (!activeThreadId) { + setMobileView('threads'); + } + } + + updateLayout(); + window.addEventListener('resize', updateLayout); + return () => window.removeEventListener('resize', updateLayout); + }, [activeThreadId]); + const filteredThreads = useMemo(() => { const term = search.trim().toLowerCase(); @@ -238,6 +257,9 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes async function handleSelectThread(thread: MessageThreadItem) { setActiveThreadId(thread.id); + if (isMobileLayout) { + setMobileView('chat'); + } const lastUnread = [...thread.allMessages].reverse().find((item) => isUnreadMessage(item)); if (lastUnread?.id) { @@ -254,6 +276,10 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes } } + function handleBackToThreads() { + setMobileView('threads'); + } + async function handleMarkAllRead() { const latestUnread = threads .flatMap((thread) => thread.allMessages) @@ -338,7 +364,8 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes -
+
+ {!isMobileLayout || mobileView === 'threads' ? (
@@ -381,12 +408,19 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes })}
+ ) : null} + {!isMobileLayout || mobileView === 'chat' ? (
{activeThread ? ( <>
+ {isMobileLayout ? ( + + ) : null} {threadAvatar(activeThread) ? {activeThread.companyName} :
{activeThread.companyName.slice(0, 1).toUpperCase()}
} @@ -454,6 +488,7 @@ export function MessagesPage({ onLogout, onNavigate, onToggleTheme, theme }: Mes
+ ) : null}
diff --git a/src/presentation/messages/pages/messages.css b/src/presentation/messages/pages/messages.css index d002e27..496c6a7 100644 --- a/src/presentation/messages/pages/messages.css +++ b/src/presentation/messages/pages/messages.css @@ -368,6 +368,30 @@ gap: 12px; } +.msg-mobile-back-btn { + width: 32px; + height: 32px; + border-radius: 10px; + border: 1px solid rgba(229, 231, 235, 0.85); + background: rgba(255, 255, 255, 0.75); + color: #374151; + display: grid; + place-items: center; + cursor: pointer; + flex-shrink: 0; +} + +.msg-mobile-back-btn:hover { + background: #ffffff; + color: #111827; +} + +.theme-dark .msg-mobile-back-btn { + border-color: rgba(255, 255, 255, 0.12); + background: rgba(255, 255, 255, 0.08); + color: #d1d5db; +} + .msg-chat-company p { margin: 2px 0 0; color: #0f766e; @@ -621,6 +645,28 @@ } } +@media (max-width: 1000px) { + .msg-layout { + min-height: 0; + } + + .msg-layout.mobile-threads .msg-threads, + .msg-layout.mobile-chat .msg-chat { + width: 100%; + min-width: 0; + } + + .msg-layout.mobile-threads .msg-threads { + height: calc(100vh - 230px); + min-height: 420px; + } + + .msg-layout.mobile-chat .msg-chat { + height: calc(100vh - 230px); + min-height: 480px; + } +} + @media (max-width: 860px) { .msg-head { flex-direction: column;