.auth-shell{--auth-ink:#181f1a;--auth-muted:#6e7972;--auth-forest:#173d2a;--auth-forest-hover:#113322;--auth-surface:#f3f5f3;--auth-font:"M PLUS Rounded 1c","M PLUS 1p",Arial,sans-serif;grid-template-columns:minmax(320px,1.15fr) minmax(420px,.85fr);background:#ffffff;font-family:var(--auth-font)}.auth-art-panel,.auth-shell{display:grid;min-height:100vh}.auth-art-panel{place-items:center;padding:clamp(28px,4vw,56px);background:#ffffff}.auth-art-image{display:block;width:min(100%,600px);max-height:min(88vh,800px);height:auto;object-fit:contain}.auth-panel{position:relative;display:grid;place-items:center;min-height:100vh;padding:clamp(36px,5vw,68px) clamp(28px,4vw,54px);background:#ffffff}.auth-brand{display:inline-flex;direction:ltr;text-decoration:none;color:var(--auth-ink);transition:transform .16s ease}.auth-brand:hover{transform:scale(1.02)}.auth-brand-corner{position:absolute;inset-block-start:clamp(24px,4vw,48px);inset-inline-end:auto;right:clamp(24px,4vw,54px);left:auto;z-index:2}.auth-brand .brand-wordmark{font-size:clamp(30px,2.6vw,38px)!important;font-weight:900!important;letter-spacing:-.04em!important;gap:2px!important}.auth-brand .brand-wordmark-pure{color:#173d2a!important}.auth-brand .brand-wordmark-invite{color:#27ae60!important}.auth-panel-inner{width:min(100%,480px);display:flex;flex-direction:column}.auth-heading{margin:0 0 28px}.auth-heading h1{margin:0;color:#152219;font-size:clamp(30px,3.2vw,38px);font-weight:850;letter-spacing:-.035em;line-height:1.18}.auth-heading-note{margin:10px 0 0;color:var(--auth-muted);font-size:15.5px;font-weight:500;line-height:1.5}.auth-setup-steps{justify-content:space-between;margin-bottom:26px;padding:12px 16px;background:#f8faf8;border:1px solid #e2ebe4;border-radius:14px}.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:800}.auth-setup-step.is-done .step-circle{background:#27ae60;color:#ffffff}.auth-setup-step.is-active .step-circle{background:#173d2a;color:#ffffff;box-shadow:0 0 0 3px rgba(23,61,42,.16)}.auth-setup-step.is-upcoming .step-circle{background:#e3e8e5;color:#7b8880}.auth-setup-step .step-text{font-size:13px;font-weight:750;color:#173d2a;white-space:nowrap}.auth-setup-step.is-upcoming .step-text{color:#8c9990}.auth-setup-step-line{flex:1 1 auto;height:2px;background:#e0e7e2}.auth-setup-step-line.is-done{background:#27ae60}.auth-password-strength-box{display:flex;flex-direction:column;gap:9px;margin:-10px 0 4px;padding:12px 15px;background:#f9fbf9;border:1px solid #e3ede6;border-radius:12px}.auth-password-strength-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:6px}.auth-password-strength-bar .bar-seg{background:#e4eee7;border-radius:999px;transition:background-color .18s ease}.auth-password-strength-bar .bar-seg.is-filled{background:#e67e22}.auth-password-strength-bar .bar-seg.is-filled.is-strong{background:#27ae60}.auth-password-reqs{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.auth-password-reqs .req-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#89968e;transition:color .16s ease}.auth-password-reqs .req-item i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b5c2ba}.auth-password-reqs .req-item.is-met{color:#176c3b}.auth-password-reqs .req-item.is-met i{background:#27ae60}.auth-form{display:grid;gap:22px}.auth-field{position:relative;display:block}.auth-field input{width:100%;min-height:68px;padding:26px 20px 11px;border:0;border-radius:14px;outline:0;background:var(--auth-surface);color:var(--auth-ink);font-family:var(--auth-font);font-size:16.5px;font-weight:600;transition:background-color .16s ease,box-shadow .16s ease}.auth-field span{position:absolute;inset-inline-start:20px;inset-block-start:23px;color:var(--auth-muted);font-size:15.5px;font-weight:500;pointer-events:none;transform-origin:right top;transition:transform .16s ease,color .16s ease,font-size .16s ease}.auth-field input:focus,.auth-field input:not(:placeholder-shown){background:#ebeee9}.auth-field input:focus+span,.auth-field input:not(:placeholder-shown)+span{transform:translateY(-13px) scale(.82);color:#6e7972}.auth-field input:focus{box-shadow:inset 0 0 0 2px rgba(23,61,42,.22)}.auth-legal-notice{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12.5px;font-weight:550;color:#6d7c73;line-height:1.45;margin-top:-6px;margin-bottom:-4px}.auth-legal-notice button{background:none;border:none;padding:0;color:#176c3b;font-size:12.5px;font-weight:750;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.auth-legal-notice button:hover{color:#0e4c27}.auth-form>button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:9px;margin-top:2px;border:0;border-radius:14px;background:var(--auth-forest);color:#fff;font-family:var(--auth-font);font-size:17px;font-weight:800;cursor:pointer;transition:background-color .14s ease,transform .12s ease}.auth-form>button:hover:not(:disabled){background:var(--auth-forest-hover)}.auth-form>button:active:not(:disabled){transform:scale(.99)}.auth-form>button:disabled{opacity:.5;cursor:wait}.auth-new-user-guide{display:grid;gap:6px;margin-top:-4px;padding:0 2px;border:0;background:transparent;color:#627068}.auth-new-user-guide strong{color:#21362a;font-size:13.5px;font-weight:850}.auth-new-user-guide p{margin:0;color:#7b8880;font-size:12.5px;font-weight:600;line-height:1.45}.auth-new-user-guide div{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:7px}.auth-new-user-guide div:before{content:"";position:absolute;top:16px;right:34px;left:34px;height:2px;border-radius:999px;background:linear-gradient(90deg,#dce5df,#cfe9d8)}.auth-new-user-guide span{display:inline-flex;position:relative;z-index:1;min-width:0;flex:1;align-items:center;flex-direction:column;gap:6px;padding:0;background:transparent;color:#75827a;font-size:12px;font-weight:800;text-align:center}.auth-new-user-guide i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;border:4px solid #fff;background:#e5f5eb;color:#176c3b;font-size:12px;font-style:normal;font-weight:900;box-shadow:0 0 0 1px #d7eadf,0 8px 15px -13px rgba(24,83,49,.55)}.auth-error{margin:-4px 0 0;color:#b54555;font-size:14px;font-weight:700;line-height:1.45}.auth-trust-strip{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:13px 16px;background:#fbfdfb;border:1px solid #eaf1ec;border-radius:14px}.auth-trust-item{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;color:#275239}.auth-trust-item svg{color:#27ae60;flex-shrink:0}.auth-switch{margin:24px 0 0;color:var(--auth-muted);font-size:14px;font-weight:500}.auth-switch a{color:var(--auth-ink);font-weight:750;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-legal-modal-layer{position:fixed;inset:0;z-index:100000;background:rgba(14,25,18,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:legal-layer-fade .18s ease-out both}@keyframes legal-layer-fade{0%{opacity:0}to{opacity:1}}.auth-legal-modal{width:min(100%,640px);max-height:85vh;background:#ffffff;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden;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;align-items:center;justify-content:space-between;padding:16px 22px;background:#f8faf8;border-bottom:1px solid #e7eee9;flex-shrink:0}.auth-legal-tabs{display:flex;align-items:center;gap:8px}.auth-legal-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:10px;border:1px solid transparent;background:transparent;color:#5d6d62;font-size:14px;font-weight:750;cursor:pointer;transition:all .14s ease;font-family:inherit}.auth-legal-tab:hover{background:#eef4f0;color:#173d2a}.auth-legal-tab.is-active{background:#ffffff;color:#154c2d;border-color:#d8e5dc;box-shadow:0 2px 8px rgba(0,0,0,.05)}.auth-legal-close{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:0;background:#eef2ef;color:#516256;cursor:pointer;transition:background-color .14s ease}.auth-legal-close:hover{background:#e2e8e4;color:#16241b}.auth-legal-content{flex:1 1 auto;overflow-y:auto;padding:24px 28px}.auth-legal-text h3{margin:0 0 4px;font-size:20px;font-weight:850;color:#15291c}.auth-legal-text .legal-updated{margin:0 0 20px;font-size:12.5px;font-weight:650;color:#7b8a81}.auth-legal-text h4{margin:20px 0 8px;font-size:15.5px;font-weight:800;color:#173d2a}.auth-legal-text p{margin:0 0 12px;font-size:14px;color:#45554b;line-height:1.65}.auth-legal-text ul{margin:0 0 14px;padding-inline-start:22px}.auth-legal-text li{margin-bottom:6px;font-size:13.5px;color:#45554b;line-height:1.55}.auth-legal-footer{display:flex;justify-content:flex-end;padding:14px 22px;background:#f8faf8;border-top:1px solid #e7eee9;flex-shrink:0}.auth-legal-confirm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-radius:10px;border:0;background:#173d2a;color:#ffffff;font-size:14px;font-weight:750;cursor:pointer;font-family:inherit;transition:background-color .14s ease}.auth-legal-confirm-btn:hover{background:#113322}.app-loading-screen,.auth-loading-state{display:grid;min-height:100vh;min-height:100dvh;width:100%;place-items:center;background:#fff}.auth-loading-state>p,.auth-loading-state>strong{margin:0;text-align:center}.auth-loading-state>strong{color:var(--auth-ink);font-size:18px;font-weight:800}.auth-loading-state>p{max-width:360px;color:var(--auth-muted);font-size:14px;line-height:1.6}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-art-panel{min-height:auto;padding:32px 20px 12px}.auth-art-image{width:min(88vw,420px);max-height:none}.auth-panel{min-height:auto;padding-top:16px;padding-bottom:56px}.auth-brand-corner{position:static;justify-self:start;width:100%;max-width:480px;margin:0 auto 12px;padding-inline:0}.auth-heading{margin-bottom:24px}}@media (prefers-reduced-motion:reduce){.auth-field input,.auth-field span,.auth-form>button{transition:none}}