.auth-shell{--auth-cream:#f7f2e8;--auth-cream-soft:#fbfaf6;--auth-card:#fffefb;--auth-ink:#173d2a;--auth-brown:#6e5a45;--auth-muted:#75695e;--auth-line:rgba(43,36,29,0.18);--auth-line-soft:rgba(43,36,29,0.1);--auth-forest:#15462d;--auth-forest-hover:#123926;--auth-forest-soft:rgba(21,70,45,0.14);--auth-forest-glow:rgba(21,70,45,0.48);--auth-shadow:0 1px 2px rgba(26,20,15,0.04),0 22px 42px -34px rgba(42,32,23,0.38);--auth-font:"Heebo",Arial,sans-serif;display:grid;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(260px,1fr) minmax(550px,704px);background:linear-gradient(90deg,rgba(239,231,216,.92),rgba(251,250,246,.72) 28%,rgba(251,250,246,1) 62%),var(--auth-cream);color:var(--auth-ink);font-family:var(--auth-font);font-synthesis-weight:auto;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}@media (min-width:901px){body:has(.auth-shell),html:has(.auth-shell){overflow:hidden;height:100%}.auth-shell{height:100dvh}.auth-art-panel,.auth-panel,.auth-shell{max-height:100dvh;overflow:hidden}}.auth-art-panel{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:clamp(28px,4vw,56px)}.auth-art-image{display:block;width:min(100%,780px);max-height:min(92vh,880px);height:auto;object-fit:contain}.auth-panel{position:relative;display:grid;justify-items:end;align-content:center;min-height:100vh;min-height:100dvh;padding:clamp(72px,8vw,88px) clamp(40px,5.5vw,88px) clamp(36px,5vw,64px) clamp(8px,1.2vw,16px)}.auth-brand{display:inline-flex;direction:ltr;text-decoration:none;color:var(--auth-ink);transition:transform .16s ease}.auth-brand:hover{transform:translateY(-1px)}.auth-brand-corner{position:absolute;top:clamp(20px,3vw,32px);right:clamp(12px,1.6vw,24px);left:auto;z-index:2}.auth-brand .brand-wordmark{font-size:20px!important;letter-spacing:-.04em!important}.auth-brand .brand-wordmark-pure{color:var(--auth-ink)!important}.auth-brand .brand-wordmark-invite{color:var(--auth-forest)!important}.auth-card{--auth-scale:1.1;width:min(100%,calc(620px * var(--auth-scale)));display:flex;flex-direction:column;gap:calc(26px * var(--auth-scale));padding:8px 4px 4px;border:0;border-radius:0;background:transparent;box-shadow:none}.auth-heading{display:grid;gap:calc(10px * var(--auth-scale));margin:0}.auth-heading h1{margin:0;color:var(--auth-ink);font-size:clamp(calc(28px * var(--auth-scale)),2.64vw,calc(34px * var(--auth-scale)));font-weight:400;letter-spacing:0;line-height:1.2}.auth-heading-note{margin:0;color:var(--auth-muted);font-size:calc(14.5px * var(--auth-scale));font-weight:400;line-height:1.55}.auth-setup-steps{justify-content:space-between;padding:12px 14px;border:1px solid var(--auth-line);border-radius:10px;background:var(--auth-card)}.auth-setup-step,.auth-setup-steps{display:flex;align-items:center;gap:8px}.auth-setup-step .step-circle{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:600}.auth-setup-step.is-done .step-circle{background:var(--auth-ink);color:#fffefb}.auth-setup-step.is-active .step-circle{background:var(--auth-forest);color:#fffefb;box-shadow:0 0 0 3px var(--auth-forest-soft)}.auth-setup-step.is-upcoming .step-circle{background:#efe8db;color:var(--auth-muted)}.auth-setup-step .step-text{color:var(--auth-ink);font-size:12.5px;font-weight:500;white-space:nowrap}.auth-setup-step.is-upcoming .step-text{color:var(--auth-muted)}.auth-setup-step-line{flex:1 1 auto;height:1px;background:var(--auth-line-soft)}.auth-setup-step-line.is-done{background:var(--auth-ink)}.auth-password-strength-box{display:flex;flex-direction:column;gap:10px;margin:-6px 0 0;padding:12px 14px;border:1px solid var(--auth-line-soft);border-radius:10px;background:rgba(255,254,251,.8)}.auth-password-strength-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:5px}.auth-password-strength-bar .bar-seg{background:#efe8db;border-radius:999px;transition:background-color .18s ease}.auth-password-strength-bar .bar-seg.is-filled{background:#b5813a}.auth-password-strength-bar .bar-seg.is-filled.is-strong{background:var(--auth-ink)}.auth-password-reqs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.auth-password-reqs .req-item{display:inline-flex;align-items:center;gap:6px;color:var(--auth-muted);font-size:12px;font-weight:500}.auth-password-reqs .req-item i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#cbbba6}.auth-password-reqs .req-item.is-met{color:var(--auth-ink)}.auth-password-reqs .req-item.is-met i{background:var(--auth-ink)}.auth-form{display:grid;gap:calc(20px * var(--auth-scale))}.auth-field{position:relative;display:block}.auth-field input{width:100%;min-height:calc(66px * var(--auth-scale));padding:calc(26px * var(--auth-scale)) calc(18px * var(--auth-scale)) calc(12px * var(--auth-scale));border:1px solid var(--auth-line);border-radius:calc(10px * var(--auth-scale));outline:0;background:var(--auth-card);color:var(--auth-ink);font-family:var(--auth-font);font-size:calc(16.5px * var(--auth-scale));font-weight:400;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.auth-field-wrap{position:relative;display:block}.auth-field.has-toggle input{padding-inline-start:calc(52px * var(--auth-scale));padding-inline-end:calc(18px * var(--auth-scale))}.auth-field span{position:absolute;inset-inline-start:calc(18px * var(--auth-scale));inset-block-start:calc(19px * var(--auth-scale));color:var(--auth-muted);font-size:calc(14.5px * var(--auth-scale));font-weight:400;white-space:nowrap;pointer-events:none;transform-origin:inline-start top;transition:transform .16s ease,color .16s ease;z-index:1}.auth-field input:focus,.auth-field input:not(:placeholder-shown){background:#fffefb}.auth-field input:focus+span,.auth-field input:not(:placeholder-shown)+span{transform:translateY(-11px) scale(.82);color:var(--auth-brown)}.auth-field input:focus{border-color:var(--auth-ink);box-shadow:0 0 0 3px rgba(23,61,42,.12)}.auth-field-toggle{position:absolute;top:50%;inset-inline-end:calc(8px * var(--auth-scale));inset-inline-start:auto;display:grid;width:calc(40px * var(--auth-scale));height:calc(40px * var(--auth-scale));place-items:center;transform:translateY(-50%);border:0;border-radius:calc(8px * var(--auth-scale));background:transparent;color:var(--auth-brown);cursor:pointer;z-index:2}.auth-field-toggle:focus-visible,.auth-field-toggle:hover{background:#f3eee4;color:var(--auth-ink);outline:none}.auth-legal-notice{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 0;color:var(--auth-muted);font-size:calc(12.5px * var(--auth-scale));font-weight:400;line-height:1.5}.auth-legal-notice button{padding:0;border:0;background:none;color:var(--auth-ink);font-family:inherit;font-size:calc(12.5px * var(--auth-scale));font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.auth-legal-notice button:hover{color:var(--auth-forest)}.auth-submit{display:inline-flex;min-height:calc(56px * var(--auth-scale));align-items:center;justify-content:center;gap:calc(8px * var(--auth-scale));margin-top:4px;padding:0 calc(18px * var(--auth-scale));border:0;border-radius:calc(10px * var(--auth-scale));background:var(--auth-forest);color:#fff;font-family:var(--auth-font);font-size:calc(16px * var(--auth-scale));font-weight:500;cursor:pointer;box-shadow:0 10px 24px -14px var(--auth-forest-glow);transition:background-color .14s ease,transform .12s ease,box-shadow .14s ease}.auth-submit:focus-visible:not(:disabled),.auth-submit:hover:not(:disabled){background:var(--auth-forest-hover);box-shadow:0 12px 26px -12px rgba(18,57,38,.58)}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.5;cursor:wait}.auth-submit svg{flex:0 0 auto;color:#fff}.auth-onboarding-hint{display:grid;gap:calc(16px * var(--auth-scale));justify-items:stretch;width:100%;margin-top:calc(10px * var(--auth-scale));padding:0;border:0;background:transparent;box-shadow:none}.auth-onboarding-copy{display:grid;gap:calc(6px * var(--auth-scale));width:100%;text-align:start}.auth-onboarding-title{margin:0;color:var(--auth-ink);font-size:calc(15.5px * var(--auth-scale));font-weight:600;line-height:1.35}.auth-onboarding-subtitle{margin:0;color:var(--auth-muted);font-size:calc(13.5px * var(--auth-scale));font-weight:400;line-height:1.55}.auth-onboarding-steps{display:flex;align-items:center;justify-content:center;gap:0;width:100%;margin-inline:auto}.auth-onboarding-circle-step{display:grid;justify-items:center;gap:calc(10px * var(--auth-scale));flex:0 0 auto}.auth-onboarding-circle{display:inline-grid;place-items:center;width:calc(44px * var(--auth-scale));height:calc(44px * var(--auth-scale));border:1.5px solid var(--auth-forest);border-radius:50%;background:var(--auth-forest);color:#fffefb;font-size:calc(15px * var(--auth-scale));font-weight:600;line-height:1;box-shadow:0 0 0 4px var(--auth-forest-soft)}.auth-onboarding-circle.is-next{border-color:rgba(21,70,45,.34);background:transparent;color:var(--auth-forest);box-shadow:none}.auth-onboarding-label{color:var(--auth-muted);font-size:calc(12.5px * var(--auth-scale));font-weight:500;line-height:1.3;text-align:center;white-space:nowrap}.auth-onboarding-line{flex:1 1 auto;height:1.5px;min-width:calc(48px * var(--auth-scale));max-width:calc(88px * var(--auth-scale));margin:0 calc(14px * var(--auth-scale));margin-bottom:calc(28px * var(--auth-scale));background:linear-gradient(90deg,var(--auth-forest),rgba(21,70,45,.22));border-radius:999px}.auth-error{display:flex;align-items:flex-start;gap:calc(8px * var(--auth-scale));margin:0;padding:calc(10px * var(--auth-scale)) calc(12px * var(--auth-scale));border:1px solid rgba(185,72,72,.28);border-radius:calc(10px * var(--auth-scale));background:#fff6f4;color:#8f2f33;font-size:calc(13.5px * var(--auth-scale));font-weight:500;line-height:1.45}.auth-error svg{flex:0 0 auto;margin-top:1px}.auth-switch{margin:0;color:var(--auth-muted);font-size:calc(13.5px * var(--auth-scale));font-weight:400}.auth-switch a{color:var(--auth-ink);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-legal-modal-layer{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:rgba(23,22,18,.46);backdrop-filter:blur(6px);animation:legal-layer-fade .18s ease-out both}@keyframes legal-layer-fade{0%{opacity:0}to{opacity:1}}.auth-legal-modal{display:flex;width:min(100%,640px);max-height:85vh;flex-direction:column;overflow:hidden;border:1px solid var(--auth-line);border-radius:10px;background:var(--auth-card);box-shadow:var(--auth-shadow);animation:legal-modal-pop .22s cubic-bezier(.16,1,.3,1) both}@keyframes legal-modal-pop{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.auth-legal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--auth-line-soft);background:var(--auth-cream-soft)}.auth-legal-tabs{display:flex;align-items:center;gap:8px}.auth-legal-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--auth-muted);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.auth-legal-tab:hover{background:#f3eee4;color:var(--auth-ink)}.auth-legal-tab.is-active{border-color:var(--auth-line);background:var(--auth-card);color:var(--auth-ink);box-shadow:var(--auth-shadow)}.auth-legal-close{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:10px;background:#efe8db;color:var(--auth-brown);cursor:pointer}.auth-legal-close:hover{background:#e7dfd0;color:var(--auth-ink)}.auth-legal-content{flex:1 1 auto;overflow-y:auto;padding:22px 26px}.auth-legal-text h3{margin:0 0 4px;color:var(--auth-ink);font-size:20px;font-weight:400}.auth-legal-text .legal-updated{margin:0 0 20px;color:var(--auth-muted);font-size:12.5px;font-weight:400}.auth-legal-text h4{margin:20px 0 8px;color:var(--auth-ink);font-size:15px;font-weight:500}.auth-legal-text p{margin:0 0 12px;color:var(--auth-brown);font-size:14px;line-height:1.65}.auth-legal-text ul{margin:0 0 14px;padding-inline-start:22px}.auth-legal-text li{margin-bottom:6px;color:var(--auth-brown);font-size:13.5px;line-height:1.55}.auth-legal-footer{display:flex;flex-shrink:0;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--auth-line-soft);background:var(--auth-cream-soft)}.auth-legal-confirm-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 18px;border:0;border-radius:10px;background:var(--auth-forest);color:#fff;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}.auth-legal-confirm-btn:hover{background:var(--auth-forest-hover)}.auth-loading-state{display:grid;width:100%;min-height:100vh;min-height:100dvh;place-items:center;background:linear-gradient(90deg,rgba(239,231,216,.92),rgba(251,250,246,1)),var(--auth-cream,#f7f2e8)}.auth-loading-state>p,.auth-loading-state>strong{margin:0;text-align:center}.auth-loading-state>strong{color:var(--auth-ink,#173d2a);font-size:18px;font-weight:500}.auth-loading-state>p{max-width:360px;color:var(--auth-muted,#75695e);font-size:14px;line-height:1.6}@media (max-width:1100px){.auth-shell{grid-template-columns:minmax(220px,1fr) minmax(420px,520px)}.auth-panel{padding-right:clamp(28px,4vw,56px)}.auth-brand-corner{right:clamp(12px,1.6vw,24px)}}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-art-panel{min-height:auto;padding:clamp(24px,5vw,36px) 20px 8px}.auth-art-image{width:min(88vw,480px);max-height:min(42vh,420px)}.auth-panel{justify-items:stretch;min-height:auto;padding:12px clamp(16px,4vw,28px) clamp(40px,8vw,56px)}.auth-brand-corner{position:static;display:flex;justify-content:flex-end;width:100%;max-width:calc(620px * 1.1);margin:0 auto 14px;right:auto}.auth-card{width:min(100%,calc(620px * var(--auth-scale)));margin-inline:auto;padding:4px 2px 0}}@media (max-width:560px){.auth-setup-step .step-text{display:none}.auth-heading h1{font-size:calc(26px * var(--auth-scale))}.auth-field input{min-height:calc(60px * var(--auth-scale));font-size:calc(16px * var(--auth-scale))}.auth-submit{min-height:calc(52px * var(--auth-scale));font-size:calc(15px * var(--auth-scale))}.auth-onboarding-steps{width:min(100%,calc(280px * var(--auth-scale)))}.auth-onboarding-circle{width:calc(40px * var(--auth-scale));height:calc(40px * var(--auth-scale));font-size:calc(14px * var(--auth-scale))}.auth-onboarding-line{min-width:calc(36px * var(--auth-scale));max-width:calc(64px * var(--auth-scale));margin-inline:calc(10px * var(--auth-scale))}.auth-onboarding-label{font-size:calc(11.5px * var(--auth-scale))}}@media (max-width:380px){.auth-art-image{width:min(92vw,360px)}.auth-onboarding-label{white-space:normal;max-width:72px}}@media (min-width:1400px){.auth-shell{grid-template-columns:1fr minmax(calc(560px * 1.1),calc(680px * 1.1))}.auth-panel{padding-right:clamp(72px,7vw,128px)}.auth-brand-corner{right:clamp(16px,2vw,32px)}}@media (prefers-reduced-motion:reduce){.auth-brand,.auth-field input,.auth-field span,.auth-legal-modal,.auth-legal-modal-layer,.auth-submit{animation:none;transition:none}}