.studio-login{min-height:100svh;display:grid;grid-template-columns:minmax(420px,46%) 1fr;background:var(--page,#f7f8f4);color:var(--text,#1f3529)}.login-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px clamp(36px,5vw,72px);background:#1f3a2c;color:#eef3ea;overflow:hidden}.login-side:after{content:"";position:absolute;inset:auto -20% -30% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#2f5640 0,transparent 70%);pointer-events:none}.login-side-brand{position:relative;z-index:1}.login-side-brand .koby-brand,.login-side-brand .koby-brand strong{color:#fff}.login-side-brand .koby-brand span{color:var(--text-2,#9fb59b)}.login-side-brand img{background:#eef3ea;border-radius:9px;padding:3px}.login-side-copy{position:relative;z-index:1;max-width:460px}.login-side h1{font-size:clamp(34px,3.4vw,48px);line-height:1.08;letter-spacing:-1.6px;font-weight:650;margin:0 0 18px}.login-side-copy>p{font-size:15px;line-height:1.65;color:#b9c9b6;margin:0 0 36px}.login-steps{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff1a}.login-steps li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #ffffff1a}.login-steps span{font:600 12px/20px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--info,#9fc77c);min-width:22px}.login-steps b{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.login-steps small{display:block;font-size:13px;line-height:1.5;color:var(--text-2,#a9bba5)}.login-side-foot{position:relative;z-index:1;font-size:12px;color:var(--text-2,#8fa38b)}.login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}.login-mobile-brand{display:none}.login-card{width:100%;max-width:380px}.login-card h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;font-weight:650;margin:0 0 8px}.login-card>p{font-size:14px;color:var(--text-2,#66735f);line-height:1.55;margin:0}.login-form{margin-top:28px}.login-form>label{display:block;margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--text,#33473a)}.login-form input{display:block;width:100%;box-sizing:border-box;height:48px;border:1px solid var(--border-strong,#d6ddd1);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--text,#1f3529);background:var(--surface,#fff);transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:var(--text-3,#9aa494)}.login-form input:focus{outline:none;border-color:#3d6b4c;box-shadow:0 0 0 3px #3d6b4c22}.login-password{position:relative}.login-password input{padding-right:48px}.login-password>button{position:absolute;right:5px;top:5px;width:38px;height:38px;display:grid;place-items:center;color:var(--text-3,#71806b);border:0;background:transparent;border-radius:8px;cursor:pointer}.login-password>button:hover{background:var(--surface-2,#eff3ea)}.login-submit{width:100%;height:48px;margin-top:26px;border:0;border-radius:10px;background:#1f3a2c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.login-submit>span{display:flex;align-items:center;justify-content:center;gap:12px}.login-submit:hover{background:#142a1f}.login-password>button:focus-visible,.login-submit:focus-visible{outline:2px solid #3d6b4c;outline-offset:3px}.login-submit:disabled{opacity:.7;cursor:wait}.login-form .login-error{font-size:13px;color:var(--danger,#9c3530);line-height:1.5;margin:14px 0 0;background:var(--danger-soft,#fdf0ed);padding:10px 12px;border-radius:8px}.login-help{margin-top:28px;padding-top:20px;border-top:1px solid var(--border,#e6eae1);color:var(--text-3,#76826f);font-size:13px;line-height:1.55}.login-spinner{animation:login-spin 1s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}@media(max-width:860px){.studio-login{grid-template-columns:1fr}.login-side{display:none}.login-main{justify-content:flex-start;padding:28px 20px 40px}.login-mobile-brand{display:block;align-self:flex-start;margin-bottom:56px}.login-card{max-width:420px}}@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}.login-form input,.login-submit{transition:none}}.login-link{display:block;margin:12px 0 0;padding:0;border:0;background:none;color:var(--info,#4d6b45);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.login-link.login-forgot{width:-moz-fit-content;width:fit-content;margin:10px 0 0 auto}.login-note{font-size:13.5px;color:var(--text-2,#56634f);line-height:1.55;margin:0 0 14px}